D Zukunftssprache?

S

Sasku

Gast
Hallo zusammen,

ich hab mich mal wieder n bisschen rumgetrieben und bin auf die Programmiersprache "D" gekommen. Diese soll angeblich so der Nachfolger / Ablöser von "C++" sein, weil anscheinend einiges dort gut gemacht worden ist, was in C++ falsch gemacht worden ist ...
Jetzt hätte ich einfach mal gerne eure Meinung, habt ihr Erfahrungen mit "D", wird es sich in Zukunft durchsetzen ( ist ja jetzt auch schon 9 Jahre alt ) .. oder wird das klein gehalten?
 
Es wird irgendwann eine Ablösung von C/C++ geben, aber D wird es nicht sein.
 
Die bisherige Entwicklung lässt nicht darauf schließen. Im Bereich der moderneren kompilierten Sprachen messe ich Rust oder gar Swift (welches jetzt ja einen frühen Linux-Port hat) für die mittelfristige Zukunft deutlich mehr Bedeutung zu. Die werden C++ vermutlich auch nicht ablösen, weil es einfach schwierig ist, etwas existierendes und genutztes mit breitem Ökosystem zu verdrängen. Wenn du aber einfach nur eine Sprache mit geringem technischen Overhead und "low-level-Fähigkeit" lernen möchtest, ohne dir dabei C++ anzutun, dann sind die zwei genannten meiner Ansicht nach sehr gute Kandidaten.
 
Hallo,
das Prädikat "Nachfolger von C++" haben sich schon einige PS an die Brust geheftet bekommen. Aktuell sehe ich aber nichts, was das ändern könnte. Es gibt einige vielversprechende Sprachen wie Go oder Rust, die aber aktuell nicht mal ansatzweise an die Bedeutung von C++ rankommen, und das wohl auch nicht werden.

D habe ich vor einigen Jahren entdeckt und damit mal rumgespielt. Die Idee hinter D ist nice und ich mag die Sprache sehr. Bei meinen Tests (ist aber wie gesagt schon einige Jahre her) gab es noch Probleme mit dem Compiler, eine wirklich produktiv brauchbare IDE gibt es für D meines Wissens nach bis heute nicht. Es gab mal einige nette Ansätze, D in Eclipse bzw. Visual Studio zu integrieren. Habe aber nachdem sich in diesen Projekten dann lange nichts mehr getan hat das Interesse verloren.

Suma sumarum: D ist eine Sprache mit potential. D fehlt aber ein BigPlayer im Hintergrund, der Tools für die Entwicklung mit D bereitstellt. (Wie z.B. Microsoft bei C# mit Visual Studio oder damals IBM mit Eclipse bei Java). Keine Tools bedeutet keine Entwickler und keine Entwickler bedeutet dass die Sprache selbst bedeutungslos ist. Und genau das ist bei D der Fall. Schade!

greetz
hroesler
 
C++ sollte schon von so vielen Sprachen abgelöst werden, gescheitert sind alle! Also jetzt nicht als Programmiersprache ansich, aber daran C++ zu ersetzen :evillol:
 
Ich bin kein systemnaher Entwickler, habe mich aber eine Weile mit Rust beschäftigt und auch einen kleinen Webservice (mit Iron) damit gebastelt, um zu sehen, wie relevant die Sprache für die Webentwicklung sein könnte. Der minimalistische Ressourcen-Footprint ist schon genial. Das zugehörige Cargo finde ich auch nett. Ich würde mir wünschen, dass Rust sich etabliert.

Das Problem sind wie immer die Menschen. Deswegen hält sich Java, deswegen hält sich C. Die Leute praktizieren das seit Jahrzehnten und tun sich (vor allem im gestiegenen Alter) keinen großen Umstieg an. Aus Bequemlichkeit und aus "läuft doch" zum anderen. Da können die neuen Sprachen noch so toll sein. Du wirst einen C-Entwickler sicherlich auch nicht davon überzeugen können, dass er mit Rust fehlerärmeren Code schreiben kann, denn nach ein paar Jahren Erfahrung neigen viele Entwickler zu Hybris. Die machen einfach keine Fehler mehr. :)
 
Zuletzt bearbeitet:
Rust hat gegenüber D auch einfach den Vorteil, dass es durch Mozilla und deren Servo-Engine schon eine gewisse Relevanz und einen gewissen Bekanntheitsgrad hat. Zu Swift kann ich so direkt nichts sagen, aber da Apple dahinter steckt, wird auch das mit Sicherheit viel größere Relevanz erlangen als D.

Prinzipiell gefällt mir Rust ohnehin gut. Es zwingt den Entwickler, sicheren Code zu schreiben - ohne dabei zur Laufzeit (wesentlich) mehr Ressourcen zu benötigen als ein vergleichbares C++-Programm, weil die meisten Abstraktionen zero-cost sind. Sicherheitslücken wird es zwar auch in Rust-Programmen geben, aber einige Fehlerquellen werden einfach durchs Sprachdesign von vornherein ausgeschlossen.

Letztenendes sehe ich darin eine würdige Alternative zu C++, die eben mehr Garantien gibt, allerdings (ganz bewusst) auf die komplexeren Aspekte des C++-Templatesystems verzichtet und bis dato auch noch nicht sonderlich verbreitet ist. Aber sicherlich keinen Ersatz, genau so wenig wie Linux ein Ersatz für Windows ist oder sein will.

Allerdings würde mich auch mal interessieren, wie schwer es einem Nicht-C++-Entwickler fallen würde, Rust zu lernen. Die Sprache zwingt einem ja quasi alles auf, was C++ gegenüber Sprachen wie Java optional bietet - Const-Correctness, Moves/Ownership, Destruktoren, Traits statt klassischer Vererbung über abstrakte Basisklassen - alles Konzepte, die man erst einmal grundsätzlich verstehen muss, um sie richtig anzuwenden.
 
Programmiersprachen leben heutzutage nicht von ihrer Mächtigkeit oder Syntax-Qualität sondern schlicht vom Angebot an Tools, Frameworks und Bibliotheken - kurzum das "Ökosystem" - die es für sie gibt. Und hier hat C++ in der maschinennahen Anwendungsentwicklung einen gewaltigen Vorteil, den so schnell keine andere Sprache aufholen kann.

Wenn überhaupt, etablieren sich neue Sprachen nur in sich neu entwickelnden Nischen. PHP als einfache Webserver-Sprache, Java als plattformübergreifende Technik. C# als "besseres Java" für die Windows-Welt (gewachen mit einer Menge finanzieller Unterstützung durch Microsoft nur um Java aus Windows heraus zu halten). JavaScript als Browser-Frontend, usw.

Fast alle Sprachen haben irgendwann auf ihren Gebieten "bessere" Alternativen hinzubekommen, die sich aber mangels vergleichbarem Ökosystem nur etwas für Spezialfälle und Hobby-Entwickler geblieben sind.

Nicht zuletzt ist es ein nicht zu unterschätzendes Risiko für eine Software-Firma auf eine gänzlich neue Sprache zu setzen - denn sie kann meistens nicht auf erfahrene Entwickler am Markt zurückgreifen sondern muss selbst die Leute darin anlernen ... was Zeit kostet und sie machen wahrscheinlich Anfänger-Fehler, die sich später in der Code-Basis bitter rächen werden.
 
NeoTiger schrieb:
Programmiersprachen leben heutzutage nicht von ihrer Mächtigkeit oder Syntax-Qualität sondern schlicht vom Angebot an Tools, Frameworks und Bibliotheken - kurzum das "Ökosystem" - die es für sie gibt.
Dem stimme ich absolut zu.

Zum Thema Ablöse: Wenn man bedenkt, dass selbst C in vielen Bereichen noch nicht abgelöst wurde wrid das auch bei c++ sicher noch ein paar Jahre dauern (auch wenn es mich nicht überraschen würde, wenn C selbst C++ überleben würde).
 
Zurück
Oben