Am Freitag, 3. Dezember 2004 07:26, schrieb Falk Döring:
C++ wird meist für große Projekte eingesetzt. Vielleicht ist das der Grund warum viele große Projekte scheitern.
Quelle: http://www.thomas-guettler.de/vortraege/programmierung/allgemein.html
Nichts gegen Thomas, aber das würde ich unter reiner Vermutung bzw. pure Behauptung verbuchen. Große Projekte scheitern wegen schlechtem Projektmanagement und/oder überforderten Programmierern, aber nicht wegen der Implementierungssprache (so wird es gelehrt, und meine Erfahrungen nähern sich dem an). Daß zu gutem Management auch gehört, Programmierer anzusetzen, die von der verwendeten Sprache viel Ahnung haben, ist sicherlich selbstverständlich (Mauernbauen läßt man Maurer und nicht Gärtner bzw. umgekehrt). Welche Implementierungsprache verwendet wird, ergibt sich aus den Zielen des Projektes, vorher sich auf eine Sprache festzulegen, ist schon das erste Zeichen von schlechter Software-Entwicklung.
Wenn Du z.B. hardwarenah arbeitest, kommst Du wohl an C oder ähnlichem nicht vorbei, da man meist vor allem Kontrolle über die Performance haben möchte, nah am/im Betriebssystem, gar Registern und Speicher arbeitet, und viel direkt mit Datentypen herumjongliert. Um aber auch die Vorteile von objektorientieren Konzepten nutzen zu können, ist C++ dann schon eine feine Sache (mit nur geringer Performance-Strafe, 1-3% wohl etwa). Mit C++ _kann_ man meiner Meinung nach eine ziemliche Bandbreite abdecken. Vom direkten Einbinden von Assembler, falls notwendig, über generische Programmierung (mit Typprüfung!) bis hin zur "sichereren" Programmierung (per Smartpointern und Co.) kommt man ziemlich weit. Nachteil gegenüber Interpreter-Sprachen wäre noch der Zwang zu Neukompilieren, aber das sollten gute IDEs heutzutage durch Hintergrund- und iteratives Kompilieren beheben. Doof ist bei C++ u.a, daß die Standard-Bibliotheken ziemlich klein und dazu auch noch manchmal nicht garantiert kompatibel sind, der offizelle C++-Sprachstandard ein wenig lahm den neuesten Techniken hinterherhinkt, die Compiler dem wiederum erst recht und daß kompilierter Code plattformabhängig ist, all das ist des öfteren ein wenig hinderlich. Zu Sandboxing und so habe ich keine Ahnung. Wie geschrieben, ab einer bestimmten Ebene ist C++ auch nicht mehr unbedingt erforderlich, da braucht man die Vorteile von C++ nicht mehr und kann (sollte?) eine nette Skriptsprache nehmen. Es kommt halt auf das Ziel an.
Mach Dir mal die Mühe und setze Dich mit dem Konzept der Objektorientierung auseinander (falls das der Grund der Abschreckung gewesen sein sollte, was ich aber annehme) - es lohnt sich. Dauert nur halt ein wenig (1-2 Jahre). Aber dann ist z.B. C++ auch kein Schrecken mehr, sondern wahre Freude. Naja, vergleichsweise halt. Andere OO-Sprachen sind Dir dann auch offen. Alles eine Frage des Trainings :)
Gruß Friedrich