Hacker News new | past | comments | ask | show | jobs | submit login

This is a pretty complete misunderstanding of what the previous commenter was saying. You can probably find 20+ year old C++ code that will compile just fine with the latest compiler and it will take less time to compile and the end result will run faster. But that's not what people are complaining about when they talk about C++'s ever growing scope and the insanity of trying to cope with the 1001 ways of doing something in the language.

I have it straight from the horse's (Bjarne's) mouth that there will be no more editions of "The C++ Programming Language" because the language is too big and writing a book too time consuming to actually cover the language as it currently exists and what it is going to become. It's own creator admits that the language is too big to document in book form. How does one ever expect a beginner to get to grips with it in that case!?!

Obviously Rust isn't there as it doesn't have 30 years of evolution and development like C++ does. But the rate at which it is growing and changing means it won't actually take 30 years to become the new C++. And that would be a real tragedy. What's the use of all these awesome safety features if they're in a language almost no one will be able to fully comprehend or understand?




The parent made two claims, I only responded to one of them. You seem to think I responded to the other one. I'm sorry for not being more clear about that!

> But the rate at which it is growing and changing means it won't actually take 30 years to become the new C++.

I very, truly, seriously doubt this is true. First of all, as I said elsewhere in the thread, Rust has been changing very slowly lately. But beyond that, a significant reason for C++'s complexity is that it's sort of two, possibly three different languages: Modern C++ is very different than C with Classes. It is a miracle that they retrofitted a new language on top of an old one, but there's no indication that Rust will ever do that. The quantity of change is one thing, but the qualitative aspects matter here too, and I feel like you're only considering the quantitative aspect (which, I also disagree with, to be clear.)


Why do you have to fully understand a very complex system to work with it? Isn't it enough to understand a part that enables you to do your job?


20 year old C++ has absolutely no chance to compile with a modern compiler unless it has a compatibility option for 20 year old C++ and you know how to enable it. i've had to fix 2 year old code when upgrading gcc.


What breaking changes have gone in since 2000 that didn’t break a change added after 2000?

Auto is the only one I can think of.


When were trigraphs added?

(I am just curious, I have no idea how common your parent's comment is in real life.)


Pretty sure gcc doesn't enable trigraphs unless you pass a command-line option to do so (and maybe it's included in -std or -ansi or something like that).


i've had issues with templates, but please forgive me if i don't provide specifics because it was ages ago. i've stopped doing C++ long before auto was even proposed so can't comment on that.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: