Herb Sutter - The Future of C++
-
Ich finde auch das C++ von den grundsätzlichen Sprachmöglichkeiten schon sehr schick ist. Das einzige und leider auch das wichtigste für einen Anwendungsentwickler fehlt - Eine Standardlib die einfach nahezu alles ausser GUI's kann.
Das Problem jetzt ist, dass man für jeden Zweck eine Lib hat. Jedesmal muss man in einer anderen Doku nachschlagen, auf vielen Seiten nach Bugfixes suchen und und und.
Bei Java hab ich das nicht. Eine große Doku, die ich immer auf einem zweitem Desktop geöffnet hab und eine zentrale Stelle für Bugfixes.
Dennoch finde ich C++ von bestimmten Sprachfeature wie Templates und Adressprogrammierung einfach manchmal schöner.
Aber wenn C++ nicht einen vernünftigen neuen Standard rausbringt, wird es wirklich bald für Anwendungsentwickler immer nutzloser. Gerade zur Zeit wo Java von wirklich großen IT Firmen gefördert wird.
Früher war Java einfach viel zu langsam, da nahm man gerne den Mehraufwand von C++ in kauf. Heute ist Java durch JIT in vielen Bereichen ähnlich schnell. GUI's sind natürlich langsamer aber auch das ist in Zeiten von 2.8 GHz und mehr kein Problem mehr.
-
weiß denn schon jemand was alles in den neuen standard einfließen wird?
-
ich verstehe irgendwie nicht, warum man die lib nicht einfach staffelt?
dann gibt es halt eine grund-lib mit den features, die es jetzt gibt, dann kommt eine netzwerk-lib mit sockets, eine gui-lib, usw.
plattformen, die eins davon nicht unterstützen, haben es dann einfach nicht (z.b. netzwerk oder gui bei microcontrollern).dieses lib-wirrwar ist doch einfach nicht schön. für alle möglichen grundlegenden sachen muss man erst im internet suchen. dann haben die alle noch redundanzen. das fängt schon bei den unterschiedlichen string-klassen an...
-
mathik schrieb:
ich verstehe irgendwie nicht, warum man die lib nicht einfach staffelt?
dann gibt es halt eine grund-lib mit den features, die es jetzt gibt, dann kommt eine netzwerk-lib mit sockets, eine gui-lib, usw.
plattformen, die eins davon nicht unterstützen, haben es dann einfach nicht (z.b. netzwerk oder gui bei microcontrollern).dieses lib-wirrwar ist doch einfach nicht schön. für alle möglichen grundlegenden sachen muss man erst im internet suchen. dann haben die alle noch redundanzen. das fängt schon bei den unterschiedlichen string-klassen an...
100% ACK!
Genau deswegen haben Java und C# so einen Zulauf! Hätte C++ eine Standardlib wie Java, dann würde es in der Software-Welt ganz anders aussehen!
-
Dafür gäbe es dann für wesentlich weniger Maschinen überhaupt erst C++. Heute kann man es auf allen Maschinen einsetzen, vom kleinsten Microcontroller bist zum größten Mainframe. So eine umfassende Library lässt sich halt nicht auf jeden Microcontroller portieren, die haben ja nichtmal ein Betriebssystem. Deshalb läuft wohl auch Java nicht darauf.
-
Ringding schrieb:
Dafür gäbe es dann für wesentlich weniger Maschinen überhaupt erst C++. Heute kann man es auf allen Maschinen einsetzen, vom kleinsten Microcontroller bist zum größten Mainframe. So eine umfassende Library lässt sich halt nicht auf jeden Microcontroller portieren, die haben ja nichtmal ein Betriebssystem. Deshalb läuft wohl auch Java nicht darauf.
lies nochmal meinen beitrag und den vom "Entwickler" ...
-
mathik: Überleg doch mal bitte, was das Wort Standard bedeuten könnte.
-
Ringding schrieb:
Heute kann man es [c++] auf allen Maschinen einsetzen, vom kleinsten Microcontroller bist zum größten Mainframe.
auf kleinen µc's (8 und 16 bitter) ist c++ aber nicht so beliebt. da hat man oft noch nicht mal malloc/free, keine fliesskommarechnung, abgespecktes printf usw. also hat c++ mit seinen speicherhungrigen oo-features da auch nix verloren. ich kenne ein projekt auf 'nem 68hc12 da steckt unheimlich viel software in 128k flash und 8k ram. ca. 95% c-code, rest asm. mit c++ hätte man da keine chance gehabt
-
Michael E. schrieb:
mathik: Überleg doch mal bitte, was das Wort Standard bedeuten könnte.
Aber wenn man nicht irgendwo abstriche macht, dann wird bald C++ immer mehr Boden verlieren. Als ich in unserer Firma von 3,5 Jahren angefangen habe, wurden noch alle Projekte in C++ gelöst. Seit 2 Jahren machen wir nur noch Java. Fast alle meiner Bekannten/Kommilitonen die in der Anwendungsentwicklung tätig sind, programmieren fast ausnahmslos Java. Viele von ihnen haben aber als C++ Programmierer angefangen.
Der Grund dafür ist einfach. Die Entwicklung ist einfach durch das wirklich gute SDK viel schneller.
Dieser Trend ist nicht nur temporär, sondern die Zukunft. Das werden mir sicherlich einige hier bestätigen. Man braucht einfach nur die Stellenangebote durchschauen.
-
Ja, ich programmiere auch seit mind. 5 Jahren beruflich ausschliesslich in Java. Selbst für grafische Anwendungen (Konstruktionszeichnungen nachbearbeiten) habe ich in Java geschrieben. Kunde will auch kein C++ mehr. C++ mache ich nur noch als Hobby. Der Zug ist praktisch schon abgefahren und C++ hat seine Nische, weshalb ich in C++/CLI meine Hoffnung lege.