Was haltet ihr von Rust?



  • dfgdfg schrieb:

    Was kann man in C++17 besser als in Rust?

    Was kann Rust (bedeutend) besser als C++17 wäre die richtige Frage, da man in der Regel von C++ zu Rust wechseln würde. Cargo finde ich z.B. richtig gut aber Rust spielt in meinem Gebiet absolut kein Rolle. Dort sind eher Sprachen wie Julia oder Chapel die wirklich guten Neuheiten. Ansonsten fehlt Rust wie schon zuvor erwähnt, ein ausgewachsenes Ökosystem. Die Syntax finde ich persönlich etwas gewöhnungsbedürftig aber das ist nicht weiter schlimm. Man kommt damit sicher schnell zurecht, wie z.B. mit Whitespace bei Python.



  • dfgdfg schrieb:

    Wieso nicht?

    Weil das kein Beweis dafür ist, dass Rust gut ist, wenn es nur von den eigenen Leuten benutzt wird.

    Einen Beweis dass es gut ist, hast du erst dann, wenn unabhängige Dritte es auch nutzen wollen und nutzen.

    Ich finde, man sollte noch etwas warten, bis die Sprache sich stabilisiert hat.

    Rust ist schon recht stabil.

    BTW: Was kann man in C++17 besser als in Rust?

    Das Ökosystem.
    Für C++ gibt es alles was man sich wünschen kann, auch ganz spezielle Spezialfälle, bei Rust ist das nicht garantiert.



  • Wie kurz kann man das Haskell-Programm

    length $ words "$TEXT"
    

    zum Zählen der Wörter eines Textes in Rust machen? In C++ muss man dafür ja einiges schreiben ...



  • computertrolls schrieb:

    dfgdfg schrieb:

    Wieso nicht?

    Weil das kein Beweis dafür ist, dass Rust gut ist, wenn es nur von den eigenen Leuten benutzt wird.

    Einen Beweis dass es gut ist, hast du erst dann, wenn unabhängige Dritte es auch nutzen wollen und nutzen.

    Ergänzung:
    Und mit unabhängigen Dritten meine ich Leute und Firmen, die auch etwas zu sagen haben und nicht den Hobbyprogrammierer in der Nachbarschaft.

    Auch sollte das Projekt dann bedeutend sein und nicht irgendein Testtool von 10000 bei [großer Firma XY].



  • computertrolls schrieb:

    computertrolls schrieb:

    dfgdfg schrieb:

    Wieso nicht?

    Weil das kein Beweis dafür ist, dass Rust gut ist, wenn es nur von den eigenen Leuten benutzt wird.

    Einen Beweis dass es gut ist, hast du erst dann, wenn unabhängige Dritte es auch nutzen wollen und nutzen.

    Ergänzung:
    Und mit unabhängigen Dritten meine ich Leute und Firmen, die auch etwas zu sagen haben und nicht den Hobbyprogrammierer in der Nachbarschaft.

    Auch sollte das Projekt dann bedeutend sein und nicht irgendein Testtool von 10000 bei [großer Firma XY].

    Firefox Quantum ist ein bedeutendes Projekt. Ich sehe nicht, wieso es kein Hinweis darauf sein kann, dass Rust gut ist, wenn es die eigenen Erfinder sehr erfolgreich einsetzen.



  • Für dich ist der Itanium auch sicher ein guter Prozessor, weil ihn Intel als Server CPU selber eingesetzt hat.



  • Ich wollte hier kein C++ vs Rust Ding daraus machen. Ich fand die Sprache mal interessant vom Konzept her. Wenn dann werden wohl eher C und C++ User Rust ausprobieren, daher halte ich das Forum hier für angemessen da ich auch angemeldet bin. Dieses Unterforum ist doch für anderen Sprachen, oder?

    Als Rust Nutzer fallen mir noch Dropbox ein, aber wie hier schon erwähnt wurde fehlt mir auch eine gute IDE Unterstützung(is wohl auf dem Plan vieler). Literatur scheint langsam zu kommen z.B von OReilly. Vom Gefühl würde ich sage es geht Bergauf, wenn auch langsam. Was daraus wird, wird sich zeigen.

    Ich wollte hier einfach nur mal Meinungen sammeln, nicht mehr und nicht weniger.



  • computertrolls schrieb:

    Für dich ist der Itanium auch sicher ein guter Prozessor, weil ihn Intel als Server CPU selber eingesetzt hat.

    Gutes Argument. 👍



  • enums in Rust sollen ganz nett sein.

    P.S.: Bei uns an der Uni lernt man in manchen Kursen schon Rust, ich glaub irgendwas mit Betriebssystemen wars.



  • Wie schnell sind die Compiler für Rust eigentlich beim Compilieren von großen Projekten, die in Rust programmiert wurden?

    Gibt es hier Vorteile gegenüber C++?



  • Vermutlich wie c#, Java, usw.



  • Hat jemand Benchmarks zur Buildtime?



  • HarteWare schrieb:

    P.S.: Bei uns an der Uni lernt man in manchen Kursen schon Rust, ich glaub irgendwas mit Betriebssystemen wars.

    An welcher Uni bist du?



  • Reddit portiert grade den markdown parser von C nach rust.
    also nebst mozilla gibt es durchaus andere firmen die nach und nach neues in rust bauen.



  • We are porting Reddit-flavored Markdown parser from our open sourced C implementation to Rust and need someone to lead this project. This project will impact millions of users and pages.

    Ich bin etwas überrascht. Die wollen jemanden fest anstellen, und das soll anscheinend auch nicht der einzige sein, der an dem Projekt arbeitet. Das ganze Projekt schaut für mich aber sehr überschaubar aus. Vielleicht gibts da intern noch viel mehr, als das was sie auf Github veröffentlich haben. Aber das Projekt auf Github find ich jetzt echt sehr überschaubar. Vor allem, wenn man das beim Portieren nicht von Hand schreiben, sondern einen Parsergenerator verwenden würde, sollte sich der Aufwand m.E. sehr in Grenzen halten.



  • Mechanics schrieb:

    We are porting Reddit-flavored Markdown parser from our open sourced C implementation to Rust and need someone to lead this project. This project will impact millions of users and pages.

    Ich bin etwas überrascht. Die wollen jemanden fest anstellen, und das soll anscheinend auch nicht der einzige sein, der an dem Projekt arbeitet. Das ganze Projekt schaut für mich aber sehr überschaubar aus. Vielleicht gibts da intern noch viel mehr, als das was sie auf Github veröffentlich haben. Aber das Projekt auf Github find ich jetzt echt sehr überschaubar. Vor allem, wenn man das beim Portieren nicht von Hand schreiben, sondern einen Parsergenerator verwenden würde, sollte sich der Aufwand m.E. sehr in Grenzen halten.

    Parsen sollte tatsächlich nicht so schwierig sein. Markdown ist ziemlich simpel gehalten.
    Wie wird das Ergebnis des Parsers weiterverarbeitet, wird HTML generiert? Ist an der Stelle vielleicht mehr Aufwand zu betreiben? Keine Ahnung.
    Hab gesehen, dass die Stelle bei San Fran gesucht wird. Dort ist es ja auch recht wichtig, möglichst hip zu sein, und dafür eigenet sich Rust defintiv besser als C++ 😉



  • Haskell rulez schrieb:

    Wie kurz kann man das Haskell-Programm

    length $ words "$TEXT"
    

    zum Zählen der Wörter eines Textes in Rust machen? In C++ muss man dafür ja einiges schreiben ...

    text.split(" ").count()

    ist nicht viel länger in C++...



  • Mich wundert es jetzt nicht mehr, warum Binaries, deren Quellcode in Rust programmiert wurde langsamer sind, als Binaries, deren Quellcode in C++ geschrieben wurden.

    Das Problem scheint LLVM zu sein auf dem Rust aufbaut. (mir ist jedenfalls kein anderer Compiler für Rust bekannt)

    Hier gibt es bspw. einen Compilertest, bei dem werden zwar nur C++ Compiler verglichen, aber der Intel C++ und der GNU g++ Compiler sind durch die Bank schneller, als alle C++ Frontends für LLVM.
    https://colfaxresearch.com/compiler-comparison/#sec-3-1

    Jetzt stellt sich natürlich die Frage, welche Rolle das x64 Backend für LLVM spielt, aber das ist ja eigentlich das, welches den Maschinencode überhaupt erst erzeugt, weswegen ich davon ausgehe, dass das Performancenadelöhr überwiegend im Backend liegt.
    Rust kann somit gar nicht vergleichbar schnell sein, wenn man es mit C++ vergleicht und für C++ einen hochoptimierten Compiler wie eben den von Intel wählt.

    Wirklich vergleichbar wäre somit eigentlich nur Rust mit C++ Code der mit Clang, also LLVM, compiliert wurde.
    Sobald was anderes, wie bspw. GNU g++ im Spiel ist, hat Rust keine Chance mehr und das wird so lange bleiben, solange das Backend für LLVM nicht wesentlich besser wird.



  • Das stimmmt zwar, aber ob die Geschwindigkeitseinbuße in der Praxis wirklich nennenswert ist?
    LLVM wird ständig von einer großen Gemeinschaft weiterentwickelt, sodass immer wieder Optimierungen einfließen, von denen alle Sprache, welche auf LLVM aufsetzen, profitieren.
    Letztlich bietet LLVM – und damit auch Rust – den unschlagbaren Vorteil, einen Compiler für jede Plattform verfügbar zu haben und übergreifend kompilieren zu können, da nimmt man ein paar % weniger Geschwindigkeit gern in Kauf. Mit dem GCC ist soetwas nicht möglich.
    Da Rust im Gegensatz zu Java oder irgendwelchen Skriptsprachen keine Laufzeitumgebung benötigt, hat man ohnehin grundsätzlich mit einer enorm hohen Performanz zu tun.



  • Mich wundert es jetzt nicht mehr, warum Binaries, deren Quellcode in Rust programmiert wurde langsamer sind, als Binaries, deren Quellcode in C++ geschrieben wurden.

    Kompiler sind so komplexe gebilde das es sehr schwer ist globale Aussage zur Performanz zu machen - so wie du es hier machst, das ist irgendein Beispiel in den eben deren präferierter Kompiler besonders gut raus kommt, aus solchen Benchmarks kommen z.B. diese Idioten "der Intel macht immer den schnellesten Code" Aussagen die durch die Branche wabbern - und wie oft das gar nicht stimmt

    der Clang und GCC sind auf jeden Fall - neben dem CL von Microsoft die Platzhirsche auf der Welt

    Google hat erst letzte Woche für Windows die Kompilation vom Microsoft CL auf den Clang-Cl umgestellt (für knapp 3-4+ Mio Zeilen Code) - also alles schön auf LLVM Basis, meinst du die machen das ohne die Performanz genau zwischen den verwendeten Kompileren abzuwägen?

    deine Aussage klingt wie "guck der ist total schlecht" und das stimmt so absolut gar nicht

    Da Rust im Gegensatz zu Java oder irgendwelchen Skriptsprachen keine Laufzeitumgebung benötigt, hat man ohnehin grundsätzlich mit einer enorm hohen Performanz zu tun.

    computertrolls ruft aus der einen Ecke "der ist total langsam der Code" und du rufst aus der anderen "man hat ohnehin grundsätzlich mit einer enorm hohen Performanz zu tun" - wie wärs mit etwas weniger kraftvollen Sätzen die sich an der Realität orientieren 🙂


Anmelden zum Antworten