C++ Creator Confident About Its Future
bonch writes "Bjarne Stroustrup is confident about the future of C++. He says there is a backlash against new languages like Java and C#, and that developers are returning to C++." From the article: "He claimed the main reason why people are not aware of this is because C++ doesn't have a 'propaganda campaign.' Sun Microsystems has touted the use of Java in the Mars Rover program, for example, but Stroustrup asserts that C++ was also used.
...like any language that has had its time in the limelight. There are millions upon millions of lines of code written in it, and a lot of that isn't just going to be rewritten from one day to the next, no matter how much buzz and hype Sun and MS spew forth about their new languages.
6 791/0418_welton.html
I wrote an article about the economics of programming languages that talks about this and other issues that concern the adoption and lifecycle of languages, although be forewarned that the login system is a bit fiddly:
http://www.byte.com/documents/s=9553/byt111384524
http://www.welton.it/davidw/
... especially Java zealots, try reading Modern C++ Design by Alexandrescu. It'll blow your mind. Java generics don't even come close.
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
Isn't this copied from http://www.adequacy.org/public/stories/2002.7.4.18 3710.3582.html?
Here's a question for everyone: Which is better? An expertly designed and elegant C++ program with all the proper abstractions, frameworks, and methodologies that 1% of software developers can comprehend quickly, or a C program with a flat set of files, simple structs, and a few shell scripts to build it, which everyone understands (and can even debug)?
The simple flat file C program that everyone can debug is also a small program. OO really comes into it's own when you get over 20,000 lines of code. Then the kiss C style starts breaking down.
C++ started out as an extension of C, but the two quickly diverged. C++ is not a superset of C; it's an entirely different language nowadays with a syntax clearly borrowed from C.
A trivial conversion exists between any ISO C90 program and ISO C++, but then again, we have FORTRAN-to-C translators and nobody thinks C is an extension of FORTRAN.
Stroustrup would also likely be a little uncomfortable with the appellation "creator". While he's certainly been one of the pivotal figures in C++, Stroustrup has always been quick to recognize the contributions of other people and the work of the ISO standardization committee.
C++ is faster than java / C#
C++ has better templates
There is so much C++ out there that no one should ever use another language, or they will be forced into reinventing the wheel
Using a "simpler" language like java means that you will hire crappy programmers. Don't do that - use C++ and hire really good programmers.
Having worked on Wall St. as a programmer for 15 years or so, I'm sorry to say to all the people who constantly make that argument that they are officially behind the times.
The real reason to use java?
Compilation times
Compilation times
Compilation times
When programmers are a major cost (believe me, at Wall St. firms, they are a huge cost compared with the cost of machines), you should optimize the amount of time they spend waiting for compiles. We have a C++ library that is around 250,000 lines of code, that compiles in around 2 hours (and this is after a lot of work to try to make the compilation as fast as possible). We also have a 1,200,000 line java library that compiles in around 3 minutes. Any way you play it, programmers still spend a lot of time in the write code / compile / test cycle. In fact, this is where they spend most of their time.
In terms of performance, that is largely a myth that is no longer true. We run pricing simulations in java (which is about as computationally intensive as it gets) and we are able to do so at the same speed is the equivalent C++ code. In fact, the java code is a bit faster now, as the tools for finding the bottlenecks are much faster.
The hiring market? This is largely moving towards java. Many schools are not teaching C++ any more.
The work problem? In java, you spend much more of your time working on the business problem, and much less time trying to figure out why GCC arcane error message on file X means that your template is out of whack in file Y. Or in C++, trying to locate the source of a core dump (getting java.lang.NullPointerException is SOO much better).
Now, mod me flame.
if you really are interested in c++ regex, you should get to know Boost. It is a fantastic set of libraries that play nice with the standard c++ library, and includes regexes, parser generators, threads, algebra and probability packages, serialization, custom memory handling, and more.
"I like to wear big boy pants."
C++ Guru Scott Meyers just asked people, "Why do you program in C++?" If that's not relevant to this discussion, I don't know what is... (via Lambda the Ultimate)
[o]_O