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

Thank you, precious remarks.

Should I assume that C projects are generally more hierarchical in nature, with one leader who orchestrates the entire production and where it would be rather difficult for team members to "freely" commit a module or a function here and there like you would with adding some sub-class in OO, because then it could ruin some other parts of the code?

Could this be also understood as a reason why Linus doesn't like C++, because it promotes higher flexibility and less carefully designed architecture, that in turn leads to security/performance issues?



C projects are generally subject to more code review as the compiler is no help at all with allocation issues and someone has to check ownership semantics manually whenever a function has a pointer return type.

Thinking about this, almost my entire career has been spent writing "C with classes": projects where the preferred subset of C++ is a very narrow one. The first one didn't even use the STL (it wasn't reliably portable enough at the time), instead defining a few container and zero-copy string classes of its own. It did however have overnight CI builds on dozens of different platforms including more than one non-GCC vendor compiler. We had an Itanium. We were living in the future.

The exceptions to this were C projects of size 1-2 people. Oh, and a glimpse inside a big multinational whose C products were the products of successive mergers lined up along side one another in the source control system. The sort of environment where it might take weeks to get anything committed without breaking some obscure corner of the test suite.

http://harmful.cat-v.org/software/c++/linus (2007) presumably?

"inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app. "

That sounds like he believes it's less flexible.


Yes, indeed I was refering to that Linus' post. But thanks for the link, I found Bjarne Strousrup's interview particularily interesting to read: http://harmful.cat-v.org/software/c++/I_did_it_for_you_all

Blew my mind:

"...this new language had to divorce itself from Unix, by hiding all the system calls that bound the two together so nicely. This would enable guys who only knew about DOS to earn a decent living too.

"I believe most people have figured out for themselves that C++ is a waste of time but, I must say, it’s taken them a lot longer than I thought it would.

"It was only supposed to be a joke, I never thought people would take the book seriously. Anyone with half a brain can see that object-oriented programming is counter-intuitive, illogical and inefficient."


Wikipedia links to that as a hoax in Stroustrup's entry: https://en.wikipedia.org/wiki/Bjarne_Stroustrup.


That's a joke article...


Naïve me...




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: