Zukunftssichere Programmiersprache?



  • Heyo,

    ich programmiere C++ (und zwischendurch C, wenn ich muss) seit 8 Jahren und fühle mich darin recht selbstsicher. Nun habe ich vor, mir hobbymäßig eine weitere Programmiersprache anzueignen. Es ist keinesfalls mein Ziel, C++ abzulösen, aber so für nebenbei wäre eine weitere Sprache doch ganz nett.

    Kriterien
    - Weitgehend statisches Typensystem
    - Keine Interpreter-/JIT-Sprache
    - Keine Legacy-Sprache
    - Toolchain sowohl für Windows als auch für Linux
    - Funktionstüchtiger Compiler und Debugger-Backend

    Da ich von C++ komme, bin ich natürlich mit RAII verwöhnt. Da diese momentan trendigen Sprachen (D, Go, Rust, Swift, ...) alle einen GC haben, bin ich mir nicht sicher, wie viel ich von der Determiniertheit und der Kontrolle abtreten müsste. Vielleicht kann mir das jemand, der auch aus der C++-Ecke kommt, erläutern.

    Vom Sehen und vom Hören sind mir lediglich Haskell, Common Lisp, Rust und Julia aufgefallen.

    Kann mir jemand etwas empfehlen?



  • OCaml


  • Mod

    Mein Tipp: Mach irgendetwas ganz anderes als C++, um mal über den Tellerrand zu blicken. Deine Anforderungen klingen ein bisschen wie "Ich will eine Sprache, die C++ ist, aber nicht C++ heißt". Lisp oder Haskell sind in der Richtung von "ganz anders" sicherlich eine gute Wahl.



  • Planlosigkeit schrieb:

    Da diese momentan trendigen Sprachen (D, Go, Rust, Swift, ...) alle einen GC haben

    Rust hat keinen GC.



  • die einzige programmiersprache die es immer geben wird ist C.
    undestructible! 👍



  • Wozu? Und warum sollte die Programmiersprache zukunftssicher sein?
    Wenn es um die Arbeit geht, will ich sowas wie D oder Rust nicht hören. Da will ich mich nicht auf irgendwelche Experimente einlassen. Wenn ich mir privat aber aus irgendeinem Grund eine neue Sprache anschauen wollen würde (privat mach ich auch C++ und C#), dann wäre zukunftssicher nicht DAS Argument.
    Und so wie du die Anforderungen beschreibst, seh ich auch überhaupt keinen Grund, eine neue Sprache zu suchen. Das trendigste wäre wohl grad tatsächlich Rust. Und es hat keinen GC. Wenns dich also tatsächlich interessiert, kannst dir das mal anschauen.



  • Lerne eine Nach-mir-die-Sintflut-Sprache wie JavaScript oder Python. Dabei lernst du noch eine Menge über die Vorzüge von C++ 😃



  • TyRoXx schrieb:

    Lerne eine Nach-mir-die-Sintflut-Sprache wie JavaScript oder Python. Dabei lernst du noch eine Menge über die Vorzüge von C++ 😃

    Und benutze immer alle abgefahrenensten Sprachmittel. Nach 5 Jahren kriegste genug Fehlerrückläufer. Die Fehler kannst nur Du fixen und du hast stets zwei bis drei Leute an der Backe, die ganz dringend *nur* Dich brauchen. Chefchen und Personaler sehen beständig Deine Wichtigkeit. Ab dann exponentieller Gehaltszuwachs und easy job zugleich bis zur Rente.



  • Hi,

    was spricht dagegen, Delphi zu nehmen. Unterscheidet sich in der Syntax weit genug von C++ und C so dass es leichter fällt die Sprachen auseinander zu halten, un es ist eine Sprache die bei kleineren Projekten wesentlich schneler zu einem Erfolg führt als C++.
    Da der nach dem Parser kommende Code-Generator der gleiche ist wie bei C++ (oder zumindest zu Borlands Zeiten mal war) ist sie auch in ihrer Leistungsfähigkeit recht gut.
    Auch sind die Möglichkeiten der Fehlerbehandlung bei Delphi recht gut.
    Alternativ sollte man für rechenintensive Dinge sicher auch Fortran nicht ganz aus den Augen verlieren.
    Oder man wünscht sich den Knoten im Kopf damit man ihn durchschlagen kann, dann vielleicht Forth.

    Gruß Mümmel



  • Wie andere schon richtig gestellt haben, hat rust keinen GC, Swift allerdings auch nicht. Es benutzt Reference Counting. Trotzdem halte ich rust für die überlegene Sprache, da Zero Costs und Sicherheit einen höheren Stellenwert haben als in Swift. Swift hat dafür eine bessere Ergonomie. Es ist also die Frage, wo man die Prioritäten setzt.

    EDIT: rust unterstützt auch mehr Plattformen als Swift das bisher tut und mit Visual Studio Code und IntelliJ hat man auch IDEs, die außerhalb von macOS funktionieren.



  • Ich werf mal Google Go rein. 😉



  • Er wollte ja explizit keinen GC.


  • Mod

    Zukunftssicher? Da haben wohl die älteren die besten Karten, Fortran, Lisp, C, auch noch Pascal (Delphi) und auf Java könnte man schon auch noch wetten.

    Noch besser C++ und C Programmieren (und besser und besser und immer besser...)

    -> D, Lisp und Haskell, auch noch: Lambda Kalkül.

    Linux, Unix und Windows und auch embedded? In erster Linie C.

    Was macht am meisten Spaß?
    Lisp, recht nettes und lustiges gutes Buch:
    Land of Lisp | ISBN: 9781593272814
    Berühmter Editor: https://de.wikipedia.org/wiki/Emacs

    Funktionaler: Haskell. (Macht auch Spaß)
    Haskell macht das Umdenken für funktionale Programmierung recht einfach. Das hilft, die ersten Hürden schnell zu überwinden.
    Die Techniken, die man bei dieser Umdenkerei lernt, kann man auch wieder für C und noch besser für C++ nutzen (falls noch nicht so bekannt).

    (Simon Peyton Jones (ausgerechnet "Peyton") meinte mal in einem Interview, die Signatur bei Haskell (analog zu Java) ist seine UML.
    (typisches Beispiel für die Vereinfachungen in Haskell)


Anmelden zum Antworten