Re: future of the C++
On Jun 28, 3:35 pm, "Martin B." <0xCDCDC...@gmx.at> wrote:
If I'm building a webapplication, I'll want the Python engineer. She's
much more likely to be effective in a heterogeneous environment,
probably she has done some other scripting languages as well. She might
also be a lot better and more disciplined when it comes to practises
such as unit testing etc.
If I'm building a numerical processing tool, I'll want the C++ engineer.
She'll know how to use C++ or D or C to her advantage and she'll be more
aware of performance pitfalls.
Note that I want an engineer in both cases, not just someone who calls
herself programmer and hacks stuff together equivalent to someone using
duct tape to build a house.
From what I have seen, there seems to be a correlation between choice
of language and skill as engineer. Note that I am not saying that
somone who knows Python is less of an engineer. Knowing Python is
useful. But if Pythong was chosen to avoid C++...actually that still
says nothing. It depends on what the engineer does after making the
choice [see below].
C++ has a reputation as being difficult, and some people, as a rule,
will try to avoid anything that is difficult, while still being a
participant in whatever activity is under consideration, so there are
a lot of people who have title of engineers, but the systems they
make...ahem...let's just say if they were making airplanes, you would
problably not want to be a passenger. :D
C++ is a good language with too many warts. We as C++ engineers should
not be so foolish as to look down on other people just because they are
proficient in something else.
I will never look down on someone simply people they choose Ruby over C
++. I started in BASIC, and liked it. There has to be aggravating
circumstances that are a reflection of the underlying reason for which
the language was chosen:
Let's say that a group of engineers create a system that is:
1. Riddled with undeterministic resource deallocation problems and
memory leaks...
2. Filled with so-called "impedance" mismatches because of disregard
for type, requiring weird "impedance converters"...
3. Massively bloated...
4. Massively slow...
5. Massively heterogeneous...[a sprawling labryinth of every IT
acronym from past 10 years]
7. So unwieldly that programmer who wrote it must fiddle with it on
weekly basis after deployment...[engineer becomes part programmer,
part customer support representative because system is always
crashing]
8. Lacking in structural integrity...
9. Expensive to maintain, requiring tools that check the tools that
check the tools to see if the tools are working...
~and~
....the problems would not have existed if one language, instead of
many, had been employed,
~and~
....the optimal language, given the problems created above, would have
been C++,
~and~
....the original creators rejected C++ on the grounds that it was "too
hard" or "prone to memory management problems",
~and~
....after that fails, they come to C++ programmer and says something
like...
"Hey, we are having memory issues with our system. It runs of of
memory after 4 days. We ordered and extra 8GB of RAM, but then it ran
out in 8 days instead of 4. Could you help?"
~and~
.... the C++ programmer discovers that it is the very lack of
determinism in the chosen language that is causing the problem
~and~
....the original creators of system attempts to solve the (resource
allocation) problems by gluing globs of C++ to their mismash of code,
but only in the area where they want determinism,
~and~
....this fiddle-with-it-as-you-go method fails because the system is
already well beyond the boundaries of sound engineering principles,
~and~
....the original creator disregard as untrue this last statement,
~and~
....they want the C++ engineer to leave the realm of C++, enter the
realm of [their favorite non-C++ language], and show them how to get
the benefits of C++ without using C++...
....then yes, I frown upon this, as it stops becoming engineering and
more an exercise in obnoxiousness.
-Le Chaud Lapin-
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]