Go vs. Rust - System Programming languages - Umfrage





  • ich hatte neulich mal einen interessanten beitrag gelesen... in der jemand ein problem in "Go" umsetzt und das in 10-20 zeilen anstatt 50-100 (C,C++) ...

    ich muss nochmal schauen ob ich dazu den link finde... 😞

    aber da fand ich die sprache "Go" eigentlich gar nicht soooo schlecht... also relativ kompakt und übersichtlich... dafür relativ abstrakt wie ich finde... aber wenn man sich da einmal eingearbeitet hat geht das bestimmt auch...

    ich fand es halt interessant... weil wenn man mal "schnell" ein programm bauen will dann coded man schnell 10 go zeilen zusammen und fertig ... 🙂
    vll stelle ich mir das auch zu einfach vor... 🙄

    was haltet ihr von "go"?

    selbst hab ich aber noch nix produktiv mit go gemacht außer spaßens halber mal nen "hallo welt" 😃 ...
    aber ansonsten finde ich die semantische größe / umfang von c++ einfach unschlagbar...
    auch wenn es manchmal evt. bedeutet nicht einfach klasse xyz zunehmen und alles reinzuwerfen sonder mal selber zudenken.. das finde ich gerade bei c++ gut auch wenn es nicht alles dem programmierer überlässt wie C...

    deswegen gibt es für mich nicht wirklich eine alternative zu c++ ist einfach für mich genau der richtige mix aus theorie und anwendung 🙂 ...
    dann ist der semantische umfang von c++ kaum zutoppen... und wenn ich diese kombination betrachte kommen sicherheitsrelevante aspekte hinzu und "bequemlichkeit" desweiteren noch effektivität ... lässt mir c++ keine wünsche offen 🙂 ...
    falls doch kann /sollte man eh ne andere sprache nehmen wenn diese zur problemlösung besser geeignet ist... ( grundsätzlich wie ich finde... 🙂 )



  • ich find go cool! schreibe gerade einen compiler in go 🙂 in c++ waere das wesentlich aufwendiger.

    go bietet eine umfangreiche standard bibliothek and andere nette sachen... ich sehe go zwischen python um c++...



  • xyzxyz schrieb:

    ich hatte neulich mal einen interessanten beitrag gelesen... in der jemand ein problem in "Go" umsetzt und das in 10-20 zeilen anstatt 50-100 (C,C++) ...)

    Find ich völlig uninteressant. Es gibt sehr viele Sprachen, in denen du viele kleinere Programme viel kompakter als in C++ oder anderen Sprachen schreiben kannst. Das sagt überhaupt nichts aus. Wenn ich ein 20 Zeilen Script brauche, dann nehm ich Python oder etwas ähnliches. Wenn ich etwas größeres schreiben will (schon ab tausend Zeilen nicht mehr), würd ich persönlich schon keine dynamisch typisierte Scriptsprache mehr in Erwägung ziehen. Außer vielleicht bei Webanwendungen, wo die einzelnen Teile relativ unabhägig sind. Aber zum Glück schreib ich keine Webanwendungen 🙂



  • Dynamisch typisiert ist wirklich Kacke.
    Wenn man eine ähnliche Ausdrucksfähigkeit und Flexibilität haben will wie in Ruby o. ä., dann ist Scala eine Option. Hat Typeinferenz, funktionale Features, und auch so etwas ähnliches wie Ducktyping, nur eben wirklich typsicher! Aber: Scala ist deutlich komplexer als Ruby und andere imperative Sprachen (ausgenommen C++ vielleicht).

    L. G.,
    IBV



  • Neue Programmiersprachen bringen heute nur was, wenn da gewaltige Libs mitgeliefert werden, oder halt vorhanden sind, so wie bei Qt oder auch bei Java. Einer der wichtigsten Gründe C oder auch C++ zu nutzen sind ja auch die Verfügbarkeit von viel Code. Was auch nicht zu verachten ist, ist die Community die hinter einer Sprache steht. Was nutzt mir eine top designte Sprache, wenn kaum jemand sie spricht und ich ewig lange brauche, um schon die trivialsten Fehler am Anfang zu finden? Wenn dann noch Best-Practice-Tipps fehlen macht das nochmal weniger Freude. Ist es dann noch schwach mit Fachliteratur/Tuts etc bestellt geht der Sinn in solch eine Sprache viel Zeit zu investieren gegen null.

    Der einzige Sinn, solche Sprachen aus zu probieren, sehe ich als Test oder weil man sich im allgemeinen für neue Ansätze/Paradigmen etc. interessiert.

    Da ich Handwerker bin, kann ich das auch gerne mit Werkzeug vergleichen. Eine Handsäge oder ein Schlitz/Kreuz-Schraubendreher hat sich bewährt, lieber diese eine Art verbessern, als was völlig Neues zu erfinden. Das ist jetzt nicht die beste Analogie, aber der Kern der Aussage ist halt: Lieber Bewährtes ausbauen und verbessern, als komplett neues mit Gewalt versuchen zu etablieren. Gibt es mal komplett neue Technologien, dann machen vielleicht auch neue Sprachen mehr Sinn.



  • GetSetWilly schrieb:

    Der einzige Sinn, solche Sprachen aus zu probieren, sehe ich als Test oder weil man sich im allgemeinen für neue Ansätze/Paradigmen etc. interessiert.

    Die Zukunft wird aber wohl andere Probleme haben als die Vergangenheit. Es wird wohl weniger die reine Rechenleistung sondern viel eher Energieverbrauch (wegen mobile), Sicherheit (Geraete bieten attraktivere Ziele als frueher) und Multithreading (wegen nicht unendlich lang ansteigender Taktrate) sein.
    Rust und Go sind entwickelt, um dabei mitzuhelfen. Beide sind auf geringen Overhead, wenig Fehler und Multithreading bereits im Sprachdesign ausgelegt.



  • GetSetWilly schrieb:

    Neue Programmiersprachen bringen heute nur was, wenn da gewaltige Libs mitgeliefert werden, oder halt vorhanden sind, so wie bei Qt oder auch bei Java.

    qt ist keine eigene sprache... nur eine ide/framework... 🙄
    oder gibt es auch eine qt-programmiersprache? 😮

    und diese "gewaltigen libs" müssen auch erstmal entwickelt werden...
    das hat sich ja bei den meisten sprachen mit der zeit mit entwickelt...

    jedes problem stellt andere anforderungen und lösungswege... desweiteren führen mehrere wege nach rom... manchmal ist es evt. auch von vorteil mal was neues zu probieren und sich damit außeinander zusetzten auch wenn man nicht sofort den sinn erkennt...

    zumal meiner meinung nach go nicht schlecht ist...dort ist z.B. Nebenläufigkeit fest in die sprache verankert... ("desweiteren insbesondere im Hinblick auf skalierbare Netzwerkdienste, Cluster- und Cloud-Computing, wurde go entwickelt")...
    schau mal hier sehr interessant:
    http://www.zdnet.de/41552342/google-programmiersprache-go-auf-dem-vormarsch/?PageSpeed

    es gibt auch schon software die in go entwickelt wurde... warum das nur die großenunternehmen machen? vll solltest denen mal verraten das das sinnlos ist 😉 ... (siehe z.B. "Docker" : http://de.wikipedia.org/wiki/Docker_(Software) )

    desweiteren orientiert sich go sytaktisch an c... ist also nix grundlegend neues... außerdem solltest du grundlegte programmiertechniken auch auf andere sprachen übertragen können ohne ein tutorial... 🙄
    meiner meinung nach vereint go "einfachkeit" und c-stärken in sich und ermöglicht so ein komplexes problem schnell, übersichtlich und unkompliziert zulösen... find ich wirklich gut... 🙂

    Marthog schrieb:

    GetSetWilly schrieb:

    Der einzige Sinn, solche Sprachen aus zu probieren, sehe ich als Test oder weil man sich im allgemeinen für neue Ansätze/Paradigmen etc. interessiert.

    Die Zukunft wird aber wohl andere Probleme haben als die Vergangenheit. Es wird wohl weniger die reine Rechenleistung sondern viel eher Energieverbrauch (wegen mobile), Sicherheit (Geraete bieten attraktivere Ziele als frueher) und Multithreading (wegen nicht unendlich lang ansteigender Taktrate) sein.
    Rust und Go sind entwickelt, um dabei mitzuhelfen. Beide sind auf geringen Overhead, wenig Fehler und Multithreading bereits im Sprachdesign ausgelegt.

    seh ich auch so...
    ich denke auch das sich go weiter verbreiten wird da diese sprache von google supportet wird... 🙂



  • MfG schrieb:

    seh ich auch so...
    ich denke auch das sich go weiter verbreiten wird da diese sprache von google supportet wird... 🙂

    Ich befuerchte ja, dass Rust wie D ein Schattendasein fuehren wird. Die Entwicklung wird zwar von Mozilla Research gefuehrt, aber es gibt noch keine Einsatzplaene fuer richtige Softwareentwicklung. Zur Zeit gibt es eigentlich nur bindings zu C-libraries und experimentelle Projekte, wie Servo, das zwar eine HTML-Layout engine wird, aber es gibt halt keine Plaene fuer einen Browser damit. Die wichtigste bisher einsatzfaehige Software ist der Rust compiler selbst.



  • Warum nutze ich tolle neue Sprachen wie D, Go, Rust, Ocaml usw. nicht?

    Weil diese zwar schön die Legacy-Nachteile von C++ & Co. auf Sprachebene ausgemerzt haben, aber die Infrastruktur/Ökosysteme dieser neuen Sprachen sind leider dürftig.

    Was nützt mir Rust oder Go, wenn ich z.B. keinen Windows-Compiler, Windows-APIs usw. habe? Und auch sonstige API/Libs und Tools, die woanders selbstverständlich sind? IDE-Unterstützung mit echter Code-Completion, Refactoring usw.?

    Es ist natürlich ein Henne-Ei-Problem. Aber wer produktiv etwas damit erstellen soll/will, der wird sich das genau überlegen.



  • @Marthog: rust ist ja noch im Alpha/Beta-Stadium und bei jedem Release wird die Kompatiblität gebrochen! Produktiv will da niemand drauf setzen. Hinter rust steht nicht nur Mozilla, sondern eine große Community und auch Samsung.
    Go wird, wie schon erwähnt, für docker verwendet. Ich denke, dass rust noch mehr Erfolg haben wird, da rust wirklich eine Systemsprache ist. Der Go-Erfinder meinte hinterher, dass Go eigentlich mehr eine Serversprache sei. rust ist universell einsetzbar: Systemprogrammierung, Serverprogrammierung, theoretisch auch Desktopprogrammierung, wenn es entsprechende libs gibt und die wird es irgendwann geben und: Es hat keinen GC! Das ist für manche bei Go ein No-Go! 🙂
    Ich bin da ehrlich gesagt zuversichtlich und freue mich schon auf Version 1.0!

    L. G.,
    IBV



  • IBV schrieb:

    @Marthog: rust ist ja noch im Alpha/Beta-Stadium und bei jedem Release wird die Kompatiblität gebrochen! Produktiv will da niemand drauf setzen.

    Ich habe mich auf das fertige Rust bezogen. Ich befuerchte, dass die meisten Entwickler hauptsaechlich auf ihre altbekannten Sprachen setzen und deswegen Rust produktiv nicht eingesetzt wird und sich in der Folge deswegen auch wenig neue libs gibt.



  • Marthog schrieb:

    Ich habe mich auf das fertige Rust bezogen. Ich befuerchte, dass die meisten Entwickler hauptsaechlich auf ihre altbekannten Sprachen setzen und deswegen Rust produktiv nicht eingesetzt wird und sich in der Folge deswegen auch wenig neue libs gibt.

    Wenn eine Sprache genug gehyped wird, dann wird sie für neue Projekte eingesetzt und mit der Zeit existieren Libs und IDEs und all das. Fallbeispiel Java.



  • Java ist ein gutes Beispiel!



  • IBV schrieb:

    Java ist ein gutes Beispiel! 🤡 🤡 🤡

    ftfy



  • Java ist auf dem Markt also irrelevant?
    Die Frage lässt sich übrigens wunderbar unabhängig(!) vom eigenen Standpunkt zu Java beantworten. 😛



  • MfG schrieb:

    GetSetWilly schrieb:

    Neue Programmiersprachen bringen heute nur was, wenn da gewaltige Libs mitgeliefert werden, oder halt vorhanden sind, so wie bei Qt oder auch bei Java.

    qt ist keine eigene sprache... nur eine ide/framework... 🙄
    oder gibt es auch eine qt-programmiersprache? 😮

    und diese "gewaltigen libs" müssen auch erstmal entwickelt werden...
    das hat sich ja bei den meisten sprachen mit der zeit mit entwickelt...

    Mir ist schon klar, dass Qt keine eigenen Programmiersprache ist, sondern ein Framework für C++ mit Erweiterung der Sprache um Signals und Slots. Ich wollte damit zum Ausdruck bringen, dass es schwer für eine neue Sprachen wird, wenn sie nicht solch einen Background an Libs hat wie C++ oder Java. Go ist ja nun auch schon 5 Jahre alt und dafür ist sehr wenig passiert. Das sieht für mich nicht nach dem großen Run aus. Kann ja alles noch kommen, aber ohne Libs, Literatur, IDEs und vor allem großer Community wird das auch nichts Großes. Schau dir Android an, das ist zwar keine neue Sprache, aber was haben die innerhalb wenigen Jahre erreicht. Ich habe gutes IDEs, Fachliteratur, massig Community und und und. So sieht es aus, wenn eine Technologie erfolgreich ist.

    Aber natürlich finde ich es gut, wenn immer neue Sprachen entwickelt werden. Vielleicht ist ja wirklich mal eine dabei, die ab geht wie Molly mit zuviel Abführmittel.





  • https://github.com/gfx-rs/gfx-rs

    gfx-rs is a high-performance, bindless graphics API for the Rust programming language. It aims to be the default API for Rust graphics: for one-off applications, or higher level libraries or engines.

    gfx-rs aims to be:

    • type-safe and memory-safe
    • compatible with Rust's concurrency model
    • highly performant with minimal latency
    • an abstraction over multiple graphics APIs: OpenGL, Direct3D, Mantle, etc.
    • orthogonal to context backends: GLFW, SDL2, gl-init-rs, etc.


  • Go, eine moderne Programmiersprache ohne Klassen, na ich weiß nicht.


Anmelden zum Antworten