Warum ist C++ so kompliziert?
JavaScript ist so easy im Gegensatz zu C++
4 Antworten
Hi AzubiIT,
C++ gehört zu den höheren Sprachen und ist damit auch komplexer. Der Vorteil ist das du komplexe und systemnahe Anwendungen schreiben kannst. Sie ist auch typensicher, was beim Programmieren viele Vorteile bringt und Ressourcen sparen kann.
Beide Sprachen kommen aber aus der gleichen Sprachfamilie C. Daher der ähnliche Syntax. JavaScript bzw. ECMAScript ist eigentlich entwickelt worden um die Interaktivität mit Usern zu erlauben. Das ist auch die Stärke von JavaScript. Es ist auch sehr leicht zu erlernen und man sieht meist sofort ein Ergebnis.
Ich würde bereits widersprechen, dass JavaScript eine „einfache“ Sprache sei. Dieser Eindruck mag anfangs entstehen, doch mit zunehmender Komplexität von Projekten zeigt sich, dass auch JavaScript anspruchsvoll werden kann. Nur weil es funktioniert und keine Fehler wirft, bedeutet es nicht automatisch, dass es gut geschrieben wurde. Im direkten Vergleich dazu ist C++ ein ganz anderes Kaliber: Die Sprache ist strenger, besitzt eine andere Syntax und der Compiler bringt bereits von sich aus ein höheres Maß an Sicherheit mit. Während JavaScript meist im Browser interpretiert wird und viele Fehler eher verzeiht, geht C++ deutlich weniger tolerant mit Unsauberkeiten um.
Zudem sollte man immer berücksichtigen, dass verschiedene Programmiersprachen in unterschiedlichen Umgebungen und auf unterschiedlichen Abstraktionsebenen eingesetzt werden – das macht einen direkten Vergleich schwierig. Schlussendlich auch von einem selber abhängt, wie sehr man sich mit Sprachen auseinandersetzt. Können ist das eine, sicher anwenden das andere. Das gilt sowohl für einen selbst aber auch für die Zusammenarbeit in Teams. Viele Köche verderben den Brei und wenn man da keinen roten Pfaden hat. Seien es klare Rollen, Namenskonventionen, die Versionierung samt gescheiter Dokumentation, Reviews und Testing, DoD etc. pp.
Mehrere Gründe:
- Immer weiter gewachsen. C-Syntax ist noch eher einheitlich und einfach. Durch die ganzen neuen features, die man noch nicht auf dem Schirm hatte, wurde es dann komplizierter. Wobei manches auch einfacher wurde.
- Es ist eine sehr strikte Sprache. Das erfordert, dass man alles sehr explizit/aufwendig ausschreibt. Der Vorteil ist, dass Fehler leichter gefunden werden / schwerer passieren. Insbesondere statische Code-Analyse durch den Compiler geht besser. Dadurch auch bessere Performance
- C++ hat andere Anwendungen. Die Sprache arbeitet auf tieferer Ebene. Das bedeutet oft mehr Schreibaufwand. Mehr Möglichkeiten = Mehr Komplexität.
Weil man, wenn man C++ programmiert, viele Paradigmen nutzen kann.
Teil davon ist auch das low-level C-Zeug, aber auch Klassen und Templates.
Bibliotheken, APIs und derlei Kladderadatsch gibt es eigentlich für jede Programmiersprache - daher kein Alleinstellungsmerkmal für alles mit C. Auch der Rest lässt sich auf weitere Sprache anwenden bzw. dort teils gleich/ähnlich existiert.