Home / Nachrichten / Googles neue Programmiersprache Go

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(233 Punkte bei 16 Stimmen)
Re: War doch klar...
(162 Punkte bei 6 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Geht nicht -- gibt's nicht

Googles neue Programmiersprache Go

16.11.2009 Google kriegt einfach nicht genug. Nach eigenem Browser und Linux-basiertem Betriebssystem folgt nun die eigene Programmiersprache. Hinter der Entwicklung stecken Heroen der Unix-Geschichte.

Böse Zungen könnten behaupten, dass das NIH-Prinzip (Not Invented Here) mittlerweile zum Synonym der Google-Entwicklungsstrategie geworden ist. Webbrowser? Gibt's schon, aber wir programmieren unseren eigenen. Linux? Schön und gut, aber wir entwickeln Android (und Chrome OS).

Jetzt legt Google nach und entwickelt auch noch eine eigene Programmiersprache mit dem Namen "Go". Dahinter steht nicht irgendein Praktikant, sondern zwei Legenden aus der Unix-Welt: Rob Pike und Ken Thompson, die früher ihre Geniestreiche in den legendären Bell Labs von AT&T aufblitzen ließen, aus denen Unix ursprünglich stammt. Pike und Thompson stecken auch hinter Plan 9, einer Art Nachfolger von Unix, das dessen Philosophie nach Meinung von Fans in vielem reiner verwirklicht, beispielsweise in der Maxime "Everything is a file" - nicht von ungefähr ähneln sich wohl auch die Maskottchen der beiden Projekte.

Bereits seit 2007 arbeiten Pike und Thompson zusammen mit Robert Griesemer an der neuen Google-Sprache namens Go, vor ein paar Tagen ist sie nun erschienen. Syntaktisch ähnelt die Sprache dem guten alten C oder noch mehr Limbo, der Sprache des kommerziellen Plan9-Ablegers Inferno. Allerdings bringt Go einige Features mit, die unkomplizierte Parallelprogrammierung für Multicore- oder verteilte Systeme ermöglichen soll. Dabei orientiert sie sich an dem von Tony Hoare entwickelten CSP-Prinzip kommunizierender Prozesse, das beispielsweise auch in Kamaelia realisiert ist. Ansonsten bringt Go nur wenige moderne Sprach-Features mit, beispielsweise keine echt objektorientierten oder explizit funktionalen Konstrukte, besitzt aber einen Garbage Collector. Die Sprache soll lieber schlank sein und durch schnelle Übersetzung beeindrucken.

Ob sich Go in Zukunft zu den von Google für eigene Entwicklungen offiziell verwendeten Sprachen C++, Java und Python gesellen wird, ist laut FAQ noch offen. Interessierte finden auf der Go-Site nicht nur ein Tutorial, sondern auch die Slides zu einem Drei-Tages-Kurs, die etwas tiefer in die Sprache einführen.

Nicht alle finden Googles neue Erfindung toll, am wenigsten wohl Francis McCabe, der Erfinder der Programmiersprache "Go!", der nun Google höflich auffordert, sich einen anderen Namen zu suchen.

Einem Freund empfehlen    Druckansicht Bookmark and Share

Kommentare
Objektorientiert
gogo (unangemeldet), Freitag, 20. November 2009 13:24:49
Ein/Ausklappen

Da ich es gerade im Artikel lese: Was ist den nach ihrer Meinenung nach "echte" Objektorientierung, Herr Frommel?


Bewertung: 0 Punkte bei 1 Stimme.
Den Beitrag bewerten: Gut / Schlecht
Nicht der große Wurf
Franz Josef (unangemeldet), Montag, 16. November 2009 09:53:45
Ein/Ausklappen

"Go" is in Fachkreisen nicht gerade auf Gegenliebe gestoßen. Grund:

- Keine Templates/Generics

- Keine Exceptions: Googles interne Richtlinien verbieten Exceptions, aber es will sich nun mal nicht jeder dran halten

- Unnötige Syntax-Änderungen im Vergleich zu C/C++ und Java: Datentyp kommt in der Deklaration *hinter* dem Variablennamen, keine runden Klammern in Verzweigungen/Schleifen etc.

- Garbage-Collection: Laufzeitverhalten wird nicht-deterministisch und all die anderen Nachteile (Binary wird auch *deutlich* größer)

- Pointer, aber ohne Arithmetik

Durch "Schnelle Übersetz" allein gewinnt man halt nicht.


Bewertung: 75 Punkte bei 5 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Nicht der große Wurf
gogo (unangemeldet), Freitag, 20. November 2009 13:02:44
Ein/Ausklappen

Keine Ahnung von welchen Fachkreisen du spricht.

> - Keine Templates/Generics

Ist laut Google in Arbeit. Ein wirklich gutes Template-System ist alles andere als trivial. Man möchte sich das eben ganz genau überlegen. Man will schließlich nicht die gleichen Fehler wie bei den Java-Generics machen.

> Keine Exceptions: Googles interne Richtlinien verbieten Exceptions, aber es will sich nun mal nicht jeder dran halten.

Go ist für parallele Systeme entwickelt worden. Klassisches Exception- Handling macht hier relativ wenig Sinn. Vorallem wenn man schon einen viel leistungsfähigeren Mechanismus in der Sprache hat um Fehler weiterzureichen: Channels

> Unnötige Syntax-Änderungen im ...

Nach dieser Logik kann man jede Programmiersprache kritisieren, die eine von C abweichende Syntax hat. Lisp, Python, Ruby taugen ja auch nichts, weil es nicht wie C aussehen.

> Garbage-Collection: ...
Über Sinn und Unsinn von GC kann man ewig streiten. Habe keine Lust darüber eine Debatte loszutreten. Es gibt aber eine Klasse von Programiersprachen, die schlicht darauf angewiesen ist: Funktionale Programiersprachen z.B.
Also zu behaupten, dass GC Quatsch ist, zeugt von purer Unwissenheit.

- Pointer, aber ohne Aritmetik
Ja wenn man eine Sprache robuster machen möchte, dann wird man auf sowas verzichten müssen, schließlich hätte es keinen Sinn gemacht C nochmal neu zu erfinden.



Bewertung: 161 Punkte bei 4 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

1274 Hits
Wertung: 113 Punkte (2 Stimmen)

Schlecht Gut

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...