Linus Torvalds on C++ (2007)
harmful.cat-v.org
harmful.cat-v.org
Some high profile C++ projects: LLVM, Webkit, v8 JavaScript engine, Chromium, Tensorflow, PyTorch, Eigen, OpenCV, Skia, Unreal Engine. C++ is a good fit for those projects: the right mix of expressiveness, portability & performance. It's not a good fit for other projects. Pick the right tool for the job. Move on with your life.
I guess it's important to maintain a strong grip on the product when there are so many people touching the code, each one with different interests. But this kinds of attacks on (sometimes clueless) random would-be contributors just leaves me with a bad taste. And a community which is lead by someone who does this will only replicate that behavior.
I know I will probably never try and contribute anything to the kernel because of this toxicity; how many more people have taken this decision?
Great projects (Python, Linux, OpenBSD, Apple) don't just have an idea what they want to be, but also what not to be. If you have no idea what not to be, you become C++ / Scala / Microsoft.
Strong tribes win.
[1] https://hn.algolia.com/?query=Linus%20Torvalds%20on%20C%2B%2...
If you want to see what OO-in-C might look like, look at golang's object model.
You lose some bits of OO design, but many folk just don't need/want them.
Exceptions, deep inheritance, etc.
Don't get me wrong, I'm well versed in C++/C#/Java, but you can quite easily paint yourself into a corner if you're not careful.
C programming requires much more careful thought, and that's probably why Linus isn't too keen on the OO crowd, as that's where, in his opinion, the sloppy programmers have wandered off to.
> After a quarter century of OOP, including years with C++, I still do not understand why it exists or what problems it actually solves.
This is what I was responding to.
Abstract Syntax Trees for language translation is another problem where OO is a great choice.
Simulation is another good fit.
http://lists.subsurface-divelog.org/pipermail/subsurface/201...
A word of warning: Linus has very strong feelings
about all the things that are wrong with C++ and
at times has been known to be less diplomatic than
me when explaining his point of view... :-)
But he made a clear statement that he is interested in
seeing this port happening, as long as most of the
program logic that is not UI code stays in
(quote) "sane C files". So please keep that in
mind as we drive this further.
If you read emails around that point of time, GTK+ development had really gone off the rails in everyone's viewpoint, and was frustrating Linus and everyone else.