Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder if the managed languages "aren't cutting it" because they're not fashionable and seen as stinky old dinosaurs to the generation of developers growing up now?

I mean, some people openly scoff at languages that aren't Python or ECMAScript, and it appears to be very/extremely fashionable/obligatory on HN to aggressively bash C++, even when it appears that many haven't written or maintained anything in it, and casually dismiss it as "complicated" and daft as it has no compulsory garbage collection. "Huh! It allows to you address memory! HOW STUPID. Why would a language even exist anymore that lets you do that?!"

When reading some of the concepts behind C++ and the reasons for decisions, some of them make excellent sense. The 'newer' languages are simpler, primarily because they haven't had decades of existence for people to demand the features that people have demanded in C++.

Where I work we use C and C++ for most things, but that's just the industry we're in. It appeared to become the norm to teach Java at universities now (from the people I have bumped into), so C++ and C are no longer the starting points for development for most graduates, perhaps?



I think it's also a question of using the tools that fit the problem.

If the fashionable choice is to use C++ for example, a lot more can go wrong if the programmer isn't doing thing right.

Now if you have the same situation with a higher level language, the worst that can happen is infinite loops.

Most projects don't need the extra performance C++ would provide. So most of the time it's a better choice to use a higher level, more predictable language like Node.js or Go.

Since ECMAScript engines like V8 have been optimised a lot in the last years too, the performance difference is not that high either.


This is not only about extra computational performance, but also about predictability, I'd love to program on a hard real time system with Go instead of C++, but given it uses GC, it is not going to happen. I have mostly worked on real time embedded systems, and I only encountered C and C++, mostly because there is no other sane choice available.


Very good and interesting points.




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

Search: