Login


 
Newsletter
Werbung

Thema: Ready, Set, Go: Programmiersprache Go 1 verfügbar

6 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von let's go am Do, 29. März 2012 um 10:45 #

> Kann mir jemand erklären was die Vor und Nachteile von Go sind

- Ad-Hoc Interfaces (implementiert ist, was die passenden Methoden hat => lose Kopplung)
- Typinferenz
- Eingebaute Concurrency via Go-Routinen (einfach "go" vor einen Funktionsaufruf schreiben, und er wird parallel ausgeführt) und typisierten Channels (zur Kommunikation)
- Keine Klassen, stattdessen Methoden für Strukturen
- Keine Vererbung, stattdessen Embedding (nach dem Prinzip "Favour Composition over Inheritance")
- First-Class-Funktionen, Anonyme Funktionen, Closures
- Nativ kompiliert, leicht kross-kompilierbar
- Einfache Syntax (kontextfrei), schnelle Kompilierung
- Weniger verbos als z.B. Java. Sichtbarkeit wird etwa über Groß/Kleinschreibung statt über Keywords wie public/private geregelt
- Funktionen fangen in der ersten Spalte an, nicht erst zwei Einrückungen tiefer
- Typen rechts (ja, das hat Vorteile gegenüber der C-Deklarationssyntax)
- Im Gegensatz zu Java Kontrolle über Memory-Layout (will ich eine Struktur in eine andere einbetten oder eine Referenz auf eine Struktur)
- Vorgabe der Formatierung via gofmt Tool => keine Style-Diskussionen mehr und jeder kann leichter Go-Code von anderen lesen
- Kein Methodenüberladen (vereinfacht Aufrufs-Regeln, sowohl für Compiler als auch Entwickler)
- Gut ausgestattete Standardlibrary
- Gute Unicode-Unterstützung (Rob Pike und Ken Thompson sind die Entwickler von UTF-8)
- C Funktionen lassen sich leicht aufrufen

Nachteile:

- keine Generics (nicht unbedingt Nachteil, manchmal aber schon)
- kein Operator-Overloading
- kein dynamisches Linking, nur statisch

> und ob z.B. Chrome oder Android mit Go erstellt werden ?

Go ist zu neu dafür. Chrome und Androids Dalvik-VM sind in C++ entwickelt bzw. Android-Apps in Java. Außerdem ist es eher keine Programmiersprache für Benutzerinterfaces, sondern eher für hochgradig nebenläufige und skalierbare Netzwerkdienste (Cloud). Ausschlag für Go war, dass Google intern bei der Infrastruktur mit C++ und Python an Grenzen stößt. Go bedient bei Google etwa täglich über eine Milliarde Requests für Youtube mit dem Vitess-Projekt zum skalieren von MySQL-Datenbanken.

  • 0
    Von cs am Do, 29. März 2012 um 11:00 #

    Obwohl man sagen muss, dass es einige Gerüchte darüber gab, Go als Alternative zu Java auf Android aufzubauen. Auf Google Vorträgen mit Rob Pike hat er solche Fragen immer mit einem Grinsen und "kein Kommentar" abgeblockt. Ich fände Go jedenfalls als App- bzw. Anwendungsentwicklungssprache, im Vergleich zum jetzigen Java-Gehampel, recht gut.

    • 0
      Von let's go am Do, 29. März 2012 um 11:05 #

      > Obwohl man sagen muss, dass es einige Gerüchte darüber gab, Go als Alternative zu Java auf Android aufzubauen

      Ich glaube eher, dass Dart dafür gedacht und auch passender ist. Google selbst sagt über Dart ja "The competition is not JavaScript but fragmented mobile platforms". Womit sie ja eigentlich nur Android meinen können. ;)

      • 0
        Von cs am Do, 29. März 2012 um 11:25 #

        Dart ist als JavaScript Nachfolger konzipiert und nicht als Programmiersprache für Android Apps. Außer du meinst reine Web-Applikationen damit, die natürlich auch auf Android nutzbar sind. JavaScript führt ja jetzt schon die fragmentieren mobilen Plattformen über Web-Applikationen zusammen.
        An der Art des Kommentars von Pike würde ich darauf wetten, das Go bald als Alternative zu Java/Dalvik auf Android vorgestellt wird.

    0
    Von mr g am Do, 29. März 2012 um 11:26 #

    kein dynamisches Linking, nur statisch

    Übrigens nicht verwunderlich, wenn man weiß, dass Rob Pike und Co. keine Fans von dynamischem Linken sind.

    0
    Von Bolitho am Do, 29. März 2012 um 13:19 #

    Ich hättes es besser gefunden, wenn Du das nicht schon in Vor- und Nachteile gegliedert hättest. Man könnte da einiges auch anders herum bewerten - das kommt meistens auf den Standpunkt an und ist selten absolut.

    Aber Danke trotzdem für die sehr gute Zusammenfassung.

Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung