Programmiersprachen C und C++



  • cisaooplang schrieb:

    asc schrieb:

    Und vor allem: Ich habe nie den C-Stil verinnerlicht.

    Lustig, dass alle, die keinen modernen C-Stil kennen, allen schlechten Code als C-Stil beschimpfen und C als reines Gehacke bezeichnen.

    Ich weiß das man auch prozedural guten und lesbaren Code schreiben kann (Habe selbst mit prozeduraler Programmierung unter GFA-Basic und Pascal begonnen). Aber allen real in Projekten gesehenen Code, der von Programmierern geschrieben wurde die von C kamen, war ziemlich unleserlich. Das liegt nicht unbedingt an C, aber hinterlässt dennoch kein gutes Gefühl.

    Aber in C und C++ unterscheiden sich viele Dinge. So kann ich beispielsweise in C++ ohne weiteres auf Doppelzeiger verzichten (Zeigerreferenzen), habe in der Regel höhere Typsicherheit und mehr Elemente zur Codestrukturierung.

    C-Programmierer die zu C++ überwechseln (Das gilt aber nicht nur für C => C++) halten sich gerne an den gelernten, die Idiome und Paradigmen der Sprachen unterscheiden sich aber. Selbst wenn ich in C++ prozedural programmiere, wird mein Code ein anderer sein, als wenn es in C geschrieben werden müsste.

    cisaooplang schrieb:

    Dabei kann schönes C viel klarer sein als eine undurchsichtige C++/Boost-Mischung (die, zugegeben, etwas weniger Zeilen beansprucht).

    Einige Konstrukte sind wirklich nicht schön lesbar, aber andere wiederum erleichtern die Lesbarkeit. Und C++ entwickelt sich in der Hinsicht weiter (Sei es nun die neue Form der for-Schleife oder das Schlüsselwort auto und was alles noch kommt, um die Schreibweise zu vereinfachen).

    Man sollte eines nicht vergessen: C und C++ sind schon seit längeren voneinander unabhängige Sprachen, es ist keine komplette Kompatibilität gegeben, und mit jedem weiteren C und C++ Standard besteht die Wahrscheinlichkeit das die Sprachen sich noch weiter entfernen.

    Jemand der Auto fahren lernen will, werde ich nicht empfehlen noch unbedingt Motorrad vorher zu erlernen. Jemand der C++ erlernen will, sollte nur dann auch C lernen, wenn er das zusätzlich will...

    Alles was man in C++ lernen muss bringen C++ Bücher auch bei. Das es eine Schnittmenge gibt mag stimmen, doch die gibt es sogar in C# und Java (Auch dort kann ich, wenn ich mal statische Methoden normalen Funktionen gleichstelle, einigen Code schreiben der 1:1 nach C kopiert werden kann.



  • Beratungsresistent? Ist aber nicht schlimm, sondern normal. 🙂


Anmelden zum Antworten