Re:John Carmack: “I just dumped the C++ server I wrote for a...
by krylon on Wednesday March 18, 2015 @03:50PM
(#9228197)
I think there is space for a programming between C and C++. C - as much as I like it - makes it far to easy to shoot yourself in the foot. C++ fixes some of these, but adds a whole new arsenal of appendage-mutilating features that even many experiences C++ programmers admit takes a long time to master.
Is it possible to create a language that fixes what C gets wrong while keeping what C gets right without becoming C++? There have been a number of attempts and none seem to have stuck, except for Go (IMHO). Java tried, and it did not fail altogether, IMHO, but it comes with yet another set of problems, mainly a tendency to lure programmers into over-engineering their solutions (the same, IMHO, goes for C#, which is kind of a sweet language at it core, but that becomes very hard to see among to tangled mess that is the .Net framework).
C++ may be an effective language for experienced users, but it's got quite the learning curve (beginning with how exactly DO I write a correct constructor in the presence of exceptions...). Every time I have to work on C++ code I dig out my Meyers book to make sure I'm not fucking something up. C is small enough that I don't have to perform the same ritual.