Swift, Nimrod, Rust, D Programming Language, wo liegen die Unterschiede dieser recht neuen Programmiersprachen?
-
Und wo liegen ihre stärken und Schwächen?
-
Schau dir die Einleitungen zu den Sprachen an... Kostet vll. 1-2 Stunden.
-
Zu nimrod vielleicht auch
http://nimrod-by-example.github.io/oop_macro/
-
RosettaCode, 100 Bottles of Beer, etc.. findet man Vergleiche von konkreten Programmieraufgaben.
Hier gibt es auch eine Zusammenfassung von Go, Rust, Swift und Vala:
http://devcry.heiho.net/2014/06/go-rust-swift-vala.html
-
oenone schrieb:
RosettaCode, 100 Bottles of Beer, etc.. findet man Vergleiche von konkreten Programmieraufgaben.
Würde ich nicht als Maß nehmen, weil da lauter Quatsch-Code steht.
Aber sie haben schon heftig aufgeräumt.Das ist zum Beispiel nicht das C++, das icg kenne:
http://rosettacode.org/wiki/Prime_decomposition#C.2B.2B
http://rosettacode.org/wiki/Sorting_algorithms/Shell_sort#C.2B.2B
-
So neu ist D gar nicht mehr.
Ein Unterschied ist: Rust interessiert mich, der Rest von den bisher genannten nicht. Rust legt Wert auf Sicherheit, Nebenläufigkeit und Performanz, ohne Dir einen Garbage Collector aufzuzwingen, was ich für 'n guten Ansatz für all das halte, wo man aktuell C++ für benutzen würde (wenn man komplett neu anfangen darf).
Ich würde dann noch Julia in den Topf der neuen Sprachen werfen. Julia ist auch recht cool. Matlab Benutzer werden sich bei Julia fast wie zu Hause fühlen und kriegen obendrein ein viel besseres Typsystem mit Multiple Dispatch (super für generische Programmierung) und JIT-Kompilation (flotte Programme, da kannst du mit Matlab oder Python/PyPy nicht wirklich gegen anstinken).
Sieht echt so aus, als ob ich mit Rust einen C++ Ersatz und mit Julia einen Matlab/GNU Octave/SciPy-Ersatz gefunden habe. Wofür ich Nimrod oder D benutzen soll, weiß ich nicht. Da stecken bestimmt auch coole Metaprogrammierungs-Features drin, die man erst zu schätzen weiß, wenn man es mal länger ausprobiert hat. Aber dazu hab' ich nicht wirklich Lust.
Und sonst: Recherchiere nochmal ein bisschen im Netz.