C++ vs C enligt Torvalds

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

C++ vs C enligt Torvalds

Inlägg av lillahuset »

:lol: http://lwn.net/Articles/249460/
From: Linus Torvalds <torvalds-AT-linux-foundation.org>
To: Dmitry Kakurin <dmitry.kakurin-AT-gmail.com>
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Date: Thu, 6 Sep 2007 18:50:28 +0100 (BST)
Message-ID: <alpine.LFD.0.999.0709061839510.5626@evo.linux-foundation.org>
Cc: Matthieu Moy <Matthieu.Moy-AT-imag.fr>, Git <git-AT-vger.kernel.org>
Archive-link: Article



On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
>
> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to C++. No idea why. Please don't talk about portability,
> it's BS.

*YOU* are full of bullshit.

C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:

- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it's not even funny)

- 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.

In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.

So I'm sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.

If you want a VCS that is written in C++, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice C++ abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some CS people, the end
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

Linus
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: C++ vs C enligt Torvalds

Inlägg av Icecap »

En del av detta gäller även Arduinos miljö, alltså de "trevliga" hjälprutiner som kan ställa till det rejält.

Men visst, Arduino är till för att ge en "snabb" väg in i µC-världen och det fungerar för en del - men jag ser en del horribla försök där just dessa "enkla & snabba" LIB's ger upphov till en programstruktur som suger <valfri större djurart>pung och en "verkningsgrad" som är usel.

Så jag håller med om att det stora problem är de delar man inte har kontroll på och kanske inte kunnande om.
mAVRick
Inlägg: 319
Blev medlem: 19 mars 2013, 12:43:43
Ort: Östersund

Re: C++ vs C enligt Torvalds

Inlägg av mAVRick »

Torvalds är så j-a skön, men man skulle vara rädd att öppna truten i närheten av honom :)
Jag föredrar C över C++ också, men mest för att jag är bekväm med C.

Håller helt med Icecap också om att det finns rätt mycket bedrövlig kod avsedd för Arduino där ute. MEN jag gillar ändå arduino, främst för att man kan köpa 10-pack av Nano kloner för växelpengar på ebukten. Det är bara så praktiskt att ha ett gäng liggandes till allsköns projekt.
Användarvisningsbild
jesse
Inlägg: 9235
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: C++ vs C enligt Torvalds

Inlägg av jesse »

Håller verkligen med Linus här. Tur att nån säger ifrån om C++ då det språket alltid tenderar att skapa extrem bloatware. Det är nästan i klass med C# vilket man motvilligt måste använda i Windows nuförtiden.
Findecanor
Inlägg: 982
Blev medlem: 2 juli 2010, 23:04:07

Re: C++ vs C enligt Torvalds

Inlägg av Findecanor »

Det är raka rör med Linus Torvalds...

C++ kan vara rätt så frustrerande att skriva i ibland när hur saker och ting fungerar beror på saker som inte är direkt synliga i koden man arbetar med. Coercion på både vänster och höger led som leder till anrop av den ena eller andra funktionen, oväntad aliasing pga användning av referenser, implicit kopiering med copy constructor, etc.
Det finns tydligen en MISRA C++, men jag har inte tillgång till den och jag antar att det är mest grejer de kopierat direkt från MISRA C som egentligen är syntaktiska grejer för att mindre erfarna programmerare inte ska strula till saker.

Arduino-kort kan man också programmera med avr-gcc men man får knappt några bibliotek.
Senast redigerad av Findecanor 21 augusti 2016, 13:43:11, redigerad totalt 1 gång.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: C++ vs C enligt Torvalds

Inlägg av lillahuset »

Men borde inte C++ egentligen vara ett ganska bra språk. Jobbade inte Stroustrup på Bell eller AT&T när han skapade det? För stora telekomsystem.
xxargs
Inlägg: 10185
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: C++ vs C enligt Torvalds

Inlägg av xxargs »

Det är väl på vilket sätt språket har används som solkat ned C++ - inte språket i sig

'C' har varit ganska mycket att vara sin egen smeds språk där man börjar med att gjuta städet och hammaren och sedan hamra fram tången - typ

Då har man inte tid med att plocka på en massa girlanger och utsmyckningar på prylarna utan fokuserar på funktionen.
Skriv svar