11.11.2009 11:04
Nach Suchmaschine, Ajax-Toolkits, Office-Software und digitalisierten Büchern bringt Google jetzt eine Programmiersprache heraus. Das Idiom namens "Go" ähnelt C und Pascal. Es bietet klassenähnliche "Packages" mit privaten Variablen und Methoden, jedoch keine Vererbung und damit keine Typhierarchien. Das in objektorientierten Sprachen verbreitete Konzept des Interfaces kennt Go wiederum, sodass sich polymorphe Funktionen schreiben lassen, wie man sie etwa für das Sortieren beliebiger Daten benötigt.
Wie andere moderne Sprachen enthält Go einen Garbage Collector. Er übernimmt das Freigeben nicht mehr benötigten Speicherplatzes, was in C und C++ den Programmierern überlassen blieb. Es gibt Datentypen mit einer festgelegten Anzahl von Bytes (uint8, int32, float64 et cetera) sowie die aus C bekannten Typen int, float, uint, die der "natürlichen" Größe auf der jeweiligen Plattform entsprechen. Mit Satzzeichen wie Klammern und Semikolons können Go-Programmierer recht sparsam umgehen, der Kopf einer for-Schleife sieht beispielsweise so aus:
for i := 0; i < flag.NArg(); i++
Noch nicht ganz durchdacht scheint die Definition von Strings: Die Sprachdefinition beschreibt sie als "arrays of bytes". Andererseits zeigen Beispiele Unicode-Zeichen mit mehr als 1 Byte. Tatsächlich liefert s[i] immer ein Byte, und für die Verarbeitung von UTF8-kodierten Strings gibt es ein spezielles Package.
Ganz trennt sich Go nicht von seinem Vorfahren C: Zum einen sind die Tools wie Compiler und Linker in C geschrieben, zum anderen kann man Funktionen in der älteren Sprache von der neuen aus nutzen. Nebenläufige Programmierung ist bislang erst in Grundzügen vorhanden. Statt auf Threads wollen die Go-Entwickler jedoch auf Communicating Sequential Processes setzen.
In der FAQ bezeichnet Google die Sprache als Experiment. "Wir hoffen, dass abenteuerlustige Anwender es ausprobieren und feststellen, ob es ihnen gefällt." Selbst setze die Firma Go bislang nicht produktiv ein, da sie noch nicht reif genug sei. In Zukunft sei dies jedoch möglich, und schon jetzt stecke hinter http://golang.org ein darin geschriebener Server.
Google stellt Entwicklungsumgebungen für die Intel-Varianten von Linux und OS X sowie eine ARM-Version für Linux bereit, jedoch nur in Form von Quellcode. Nach dem Auschecken aus dem Mercurial-Repository müssen Interessierte ihn übersetzen, wozu neben dem gcc auch der Parser-Generator bison erforderlich ist. Auf OS X sind die nötigen Werkzeuge in Apples Xcode enthalten.
Siehe dazu auch:
Version zum Drucken | Per E-Mail versenden | Newsletter abonnieren
Kommentare lesen (437 Beiträge)
English version: Google's Go - A new open source language
Die einen lassen sich impfen, die anderen schwören auf Hausmittel. Auch wenn Wadenwickel bei einer Pandemie nicht unbedingt das Mittel der Wahl sind, bei einer herkömmlichen Erkältung haben sie sich allemal bewährt.
mehr…
Wer Kundendaten in zwei Systemen speichert, braucht Mechanismen zum Abgleichen zwischen ihnen. Kostengünstig lässt sich unter anderem das freie Werkzeug Pentaho Data Integration dafür verwenden.
mehr…
Jahrelang galt Palm als die PDA-Firma: Ihre Organizer waren die ersten in großen Stückzahlen verkauften. Doch dann folgte ein langer Niedergang, den nun ein Smartphone mit neuer Technik beenden soll: der Palm Pre.
mehr…
W3C: XMLHttpRequest als "Last Call"
Neue Veranstaltungsreihe: Rechenzentren & Infrastruktur
Machtpoker um die Vergabe von IP-Adressen und die DNS-Aufsicht
ENISA-Studie hilft bei Risikoabschätzung für Cloud Computing
ONLINE MARKT
Werbung