On Sunday, 3 January 2016 at 04:25:55 UTC, israel wrote:
But maybe its just me, maybe im too young to know the olden days of the 80s/90s where C++ was a godsend compared to C. Or was it? I dont know, i wasnt alive...
C++ was hyped up in the press and commercial sector because it provided abstraction mechanisms on top of the existing C infrastructure. But most academics viewed C++ as an ugly hack back then, so it was no God send. Many programmers viewed it as bloated and inefficient, and it kinda was because compilers could not beat hand optimized C code (or: computers were too slow to make good compilers practical). So C++ was more of an application level language than system level language.
That is still true, but today CPUs are fast, bottle necks are more in the memory system/multi threading, CPU internals are less transparent and programmers have less optimization skills... Which paves the way for high level programming languages like Swift.
Modern C++ is tolerable and fairly decent, but it will take a proficient programmer years to master. The big issue with C++ is that you also need to learn what _not_ to do, by trail and error...
C++ is not a language that one can reasonable select for a one-off project, it's a language for experts only. Unlike Python, Ruby, Swift or Go.
Maybe D2 is becoming a language for experts too at this point. A stronger focus on consistency and ergonomics would be beneficial.