Live data from Hacker News

C++ - The Forgotten Trojan Horse

ejohnson.blogs.com

1–10 of 40 posts

Re: C++ - The Forgotten Trojan Horse

#6
post #4

Linus Torvalds thoughts on C++: http://thread.gmane.org/gmane.comp.version-control.git/57643...

Those aren't his thoughts. Those are his thoughts morphed into a flame meant to stop people from bugging him about a particular decision he made that he believed was correct and didn't want to revisit ad nauseam.

Re: C++ - The Forgotten Trojan Horse

#9
post #5

This is the same strategy that Clojure is now using, which is why it's the only LISP that has any chance of going mainstream.

I don't think Clojure uses the same "trojan horse" strategy, i.e. it isn't a superset of the Java language with Lisp extensions.

It does use the Java virtual machine, however, which allows it to use existing java libraries.

Re: C++ - The Forgotten Trojan Horse

#10
post #7

Always useful reading for anyone who thinks C++ is great and can't understand all the curmudgeons who think otherwise: http://yosefk.com/c++fqa/defective.html The rest of the FQA site is good too, but the summary is the best enumeration of all the brain damage.

Believe me, those who truly believe that C++ is great, consider some of those deficiencies to be advantages.

It helps to remember, that C and C++ don't exist on an "VM island", i.e. as an isolated process, like all high-level programming languages do. They are effectively extensions of UNIX-derived operating systems, i.e. they run under "UNIX VM". They even have a garbage collection of sorts: when you exit the program, the memory gets freed. And, according to Linux philosophy, launching processes or forking/dying should be quick, efficient and, in fact, desirable. Also, having many independent binary modules is the norm, so here is your runtime encapsulation.

But C family is still the only tool out there that allows you to extend an OS, i.e. for instance to build a piece of code, a single instance of which will be serving all other simultaneously running processes. This explains why Apache eats so little RAM. None of VM-based languages can do that. It's called systems programming.

Building a web-based CRM in C++ is stupid. Building a filesystem in Python is impossible.

Post reply on HN