Parody of an interview with Bjarne Stroustrup, the creator of C++
odgaard.org
odgaard.org
Most of us have held this to be a true confession
Linus gives very good reasons for C vs. C++ here: http://thread.gmane.org/gmane.comp.version-control.git/57643...
I personally don't have anything against C++, it is a perfect solution for some problems, but sometimes C may be a better choice.
C++ is objectively a far more powerful and expressive language than C.
You don't know C++.
I learnt C++ in 2 weeks 7 years ago, and it was easy. The difficulty comes with learning to use the libraries and host APIs, but that is exactly the same for every other language I've learnt since then.
- No compiling or linking phase in Ruby. Linking problems can be hairy in large systems.
- Header file hell
- The static keyword (there are four different contexts)
- Difference between a pointer and reference
- public, private, protected inheritance
- Differences between dispatch (and underlying impl) of virtual and nonvirtual methods
- method hiding
- diamond of death
- visibility vs accessibility
- casting idioms (static, dynamic, const, reinterpret)
- ugly libraries (STL, ATL, MFC, COM) yeah, i said STL is ugly.
- templates (Ruby doesn't need templates since everything is dynamic)
- No language level string data type (our product has at least six representations of strings here and there that need to be converted at the bit level).
Say I was foolish enough to try again on my own. Say I wanted to write my own version of Writeroom: http://www.hogbaysoftware.com/products/writeroom
What language would I want to learn, and is there a good beginner's guide?
You can't learn all that stuff in a week or two. And maybe you shouldn't learn it at all; for many applications there are things that will work better than C++ without so much complexity, whether that's C or Java or Python.