Nicht nur der Linux Kernel: ANSI-C bevorzugt vor C++
-
sothis_ schrieb:
nicht c++ ist widerspenstig, was portabilität angeht sind es die compiler
was portabilität angeht sind es die betriebssysteme! eins würde reichen, mehrere erzeugen sprachmonster!
-
Haben die keine Ahnung von C++ oder woran liegt das?
Ich denke, die Ahnung haben sie.
Wie es aussieht, mussten sie die Software auf verschiedenen Plattformen auf embedded Systemen zum Laufen kriegen. Und wie heisst es, Gott hat einmal die Steine gefragt: "Wollt ihr Embedded System Programmierer werden" und die Steine haben geantwortet: "Wir sind nicht hart genug"
Du bist anscheinend ein PC-Programmierer und auch nur ein Windows-User dazu, und kennst nur eine CPU (die eine von Intel) und auch nur ein Werkzeug (das eine von Microsoft)...
Was haben die da unter http://www.speech.cs.cmu.edu/flite/ geschrieben:Completely in C (no C++ or Scheme) for portability, size and speed
Sehr gut.
-
"Portability" ist was C++ angeht IMO auch nur ein Problem wenn man wirklich mit Plattformen klar kommen muss für die es keine "ordentlichen" Tools gibt, oder wo Speicher sehr knapp ist. Oder wenn man mit uralten Compilern arbeiten *muss*, aus welchem Grund auch immer.
-
Warum??? schrieb:
Aber immer noch gibt es Leute, die lieber C nehmen. Haben die keine Ahnung von C++ oder woran liegt das?
C ist sowas wie 'ne portable assemblersprache. für jede plattform gibt es c-compiler, deshalb sind ansi-c codes auch fast auf jedes system portierbar.
ausserdem gibt es kaum leute die c++ voll beherrschen. C ist viel einfacher und man wird nicht dazu verleitet, unnütze komplexität in seine programme einzubauen.
die "C-denke" ist, im gegensatz zu C++, sehr maschinennah, was dazu beiträgt schnellen und schlanken code zu programmieren. ausserdem sind c++ programme teilweise sehr unleserlich. ein audruck a<<b ist in C eindeutig. in c++ kann es alles erdenkliche bedeuten.
-
by the way: http://nothings.org/computer/cpp.html
-
fricky schrieb:
by the way: http://nothings.org/computer/cpp.html
lol. Ist zwar ziemliches Geweine an Kleinig- oder Nichtigkeiten, aber im Prinzip stimme ich dem sogar zu.
C++ finde ich auch viel zu kompliziert. Wenn man C und C# zur Verfügung hat, kann man glücklich sein. :schland:
-
zusag0r schrieb:
C++ finde ich auch viel zu kompliziert. Wenn man C und C# zur Verfügung hat, kann man glücklich sein.
oder c und z.b. python c++ braucht man nicht wirklich. ist halt nur ein lustiges spielzeug für freaks.
-
fricky schrieb:
ausserdem gibt es kaum leute die c++ voll beherrschen.
Am schlimmsten ist mit den Leuten, die sich für Experten halten, ohne jemals ein Buch in die Hand genommen zu haben.
C ist viel einfacher und man wird nicht dazu verleitet, unnütze komplexität in seine programme einzubauen.
Lustig, wenn man bedenkt, dass das Motto: "vertraue dem Programmierer" eigentlich am ehesten C zugeschrieben wird. Was denn nun?
die "C-denke" ist, im gegensatz zu C++, sehr maschinennah, was dazu beiträgt schnellen und schlanken code zu programmieren.
FUD. C ist nicht näher dran an der Hardware als C++ es ist.
ausserdem sind c++ programme teilweise sehr unleserlich.
Stimmt. gilt auch für C-Programme.
C++ ist eine komplexe Sprache. Natürlich ist sie schwerer in Gänze zu erlernen als C. Umgekehrt ist die C-Untermenge von C++ weitaus einfacher zu erlernen als C selbst.
-
willy schrieb:
sothis_ schrieb:
nicht c++ ist widerspenstig, was portabilität angeht sind es die compiler
was portabilität angeht sind es die betriebssysteme! eins würde reichen, mehrere erzeugen sprachmonster!
Daher gibt's ja ISO 9945
-
Ihr sprecht mir aus der Seele ...
-
Weil UNIX ja das beste ist, was man machen kann...
alles ist eine Datei ist so 70er-Jahre mäßig
-
quarkmischer schrieb:
Weil UNIX ja das beste ist, was man machen kann...
alles ist eine Datei ist so 70er-Jahre mäßigIch schaue gerade Fuschpall und versuche das zu verstehen ... ähem ...
?
-
willy schrieb:
sothis_ schrieb:
nicht c++ ist widerspenstig, was portabilität angeht sind es die compiler
was portabilität angeht sind es die betriebssysteme! eins würde reichen, mehrere erzeugen sprachmonster!
Wenn jedes System ca, gleiche Marktdominanz haette, dann wuerde sich die Frage "Fuer welches System ist Program X geschrieben?" gar nicht stellen. Man wuerde einfach in den Mediamarkt reinspazieren, blind irgend eine Software oder Hardware kaufen und waere sich zu 100% sicher das es unter deinem *BSD oder Solaris genauso laufen wuerde wie in Linux oder Windows.
-
camper schrieb:
die "C-denke" ist, im gegensatz zu C++, sehr maschinennah, was dazu beiträgt schnellen und schlanken code zu programmieren.
FUD. C ist nicht näher dran an der Hardware als C++ es ist.
ja schon, aber C und C++ coder gehen an aufgaben anders heran. lass mal eine menge C und C++ programmierer mit gleichem wissensstand das gleiche programm schreiben, z.b. einen kleinen hexeditor oder sowas. ich wette, die produkte der C-programmierer werden im schnitt sparsamer mit resourcen umgehen, kleiner und schneller sein.
camper schrieb:
ausserdem sind c++ programme teilweise sehr unleserlich.
Stimmt. gilt auch für C-Programme.
ach nö. in C muss man sich schon richtig mühe geben, unleserlichen code zu schreiben. mit C++ syntax passiert das fast wie von selbst: http://www.fefe.de/c++/c++-talk.pdf
camper schrieb:
Umgekehrt ist die C-Untermenge von C++ weitaus einfacher zu erlernen als C selbst.
wie das?
-
unleserlicher code ist mit c++ ja nichtmal das schlimmste. viel schlimmer ist, dass selbst gut lesbarer code eine völlig andere bedeutung haben kann, als man auf den ersten blick vermutet. wenn man ein stück code nicht versteht, guckt man genauer nach. aber wenn ein stück code auf den ersten blick völlig simpel und eindeutig erscheint, forscht man sehr wahrscheinlich nicht weiter nach und fällt sehr schnell auf die nase.
operatorüberladung und templates sind böse :p
-
fricky schrieb:
camper schrieb:
die "C-denke" ist, im gegensatz zu C++, sehr maschinennah, was dazu beiträgt schnellen und schlanken code zu programmieren.
FUD. C ist nicht näher dran an der Hardware als C++ es ist.
ja schon, aber C und C++ coder gehen an aufgaben anders heran.
Was gar nicht das Thema ist.
Natürlich klar, dass dir nur ums Trollen geht, wie sich auch in den restlichen Pesudoargumenten zeigt.fricky schrieb:
lass mal eine menge C und C++ programmierer mit gleichem wissensstand das gleiche programm schreiben, z.b. einen kleinen hexeditor oder sowas. ich wette, die produkte der C-programmierer werden im schnitt sparsamer mit resourcen umgehen, kleiner und schneller sein.
Du kannst gerne soviel wetten wie du willst, was dein Wetten aber mit der C oder C++ zu tun haben soll, entzieht sich meinem Verständnis. Zudem interessiert mich schon, was du als "gleichen Wissenstand" in verschiedenen Sprachen ansehen würdest (nein, nicht wirklich). Offensichtlich ist der Wissensstand bei dir ja nicht gleichmäßig in beiden Sprachen ausgeprägt.
-
camper schrieb:
Offensichtlich ist der Wissensstand bei dir ja nicht gleichmäßig in beiden Sprachen ausgeprägt.
das stimmt schon. aber was mit mir ist, hat doch keine bedeutung für diesen thread hier. sag lieber mal, wieso du glaubts, dass die C-untermenge innerhalb von c++ leichter zu lernen sein soll, als C selber.
-
Gibts ein GUI Framework für C? Nicht WinAPI.
-
-
fricky schrieb:
camper schrieb:
Offensichtlich ist der Wissensstand bei dir ja nicht gleichmäßig in beiden Sprachen ausgeprägt.
das stimmt schon. aber was mit mir ist, hat doch keine bedeutung für diesen thread hier. sag lieber mal, wieso du glaubts, dass die C-untermenge innerhalb von c++ leichter zu lernen sein soll, als C selber.
Darf ich mal fragen was das wieder mit dem Thread zu tun hat?
Und übersichtlichkeit ist eine Geschmackssache. Für den Code den ich in der Vergangenheit in C und C++ gesehen habe, fand ich mit ganz wenigen Ausnahmen den C++ Code lesbarer. Zudem sehe ich bestimmte Sprachmittel von C++ (Wie Operatorüberladungen) nicht so negativ wie hier einige der Meinung sind. Operatorüberladungen im sinnvollen Rahmen können meiner Erkenntnis nach Code auch deutlich einfacher Lesbar machen.
Also unabhängig von allen Portabilitätsaspekten, ist sauber geschriebener Code auf beiden Sprachen für einen einzelnen unterschiedlich gut zu lesen (Wer C und prozedurale Programmierung gewöht ist wird wohl eher C vorziehen, und wer C++ und OOP gewohnt ist C++).
cu André