On 22/02/17 13:26, Ola Fosheim Grøstad wrote:
On Wednesday, 22 February 2017 at 09:09:45 UTC, Russel Winder wrote:
Learning C++, then D, then Rust for example will have benefit because
there are new things there even though the core computational model is
effectively the same – they have differences that matter.

Maybe. I think "modern" C++ is a in class of it's own at this point. It
is now quite detached from it's root: C with classes.

I feel slightly bad for sending you to read through the whole of http://lbrandy.com/blog/2010/03/never-trust-a-programmer-who-says-he-knows-c/ before getting to the punchline on the last sentence, but on the plus side, it is very short.

On a slightly different note, "C with classes" is the name of C++'s predecessor, which was a preprocessor. Strastrup draws a very distinct line between that and the first C++ compiler (cfront).

the computational model as for all the patterns you ought to follow and
not nearly enough constraints from the compiler on what you should not
do.

That is a matter of perspective. I, for one, feel other languages put too much constraints on, making me work quite hard to get what I want expressed in the language, often blocking me from the most efficient implementation altogether.

D is better in that regard than many, but still weights on me on occasion.

With modern C++ you either have to go for being proficient or end up
feeling miserable. Which is quite different from most imperative
languages I think.

Which is precisely why it is not a good language to start with unless you intend to stick with it. This is not a language mastered quickly, and superficial knowledge of it really is a dangerous thing. There is no point in aiming to learn it superficially.

Shachar

Reply via email to