My Universe Logo

My Universe Blog » Entries Tagged as Go

Bleifreie Schwalbe macht Bruchlandung

Posted by Jesco Freund at Nov. 7, 2011 12:22 p.m.

In Go: First Contact hatte ich mir einen schnelleren und vor allem zu echtem Multithreading fähigen Python-Interpreter gewünscht. Damals wurde ich auf Unladen Swallow aufmerksam gemacht, ein Projekt, das zu jener Zeit auch die Unterstützung Googles genoss. Doch offenbar hat man sich dort entschieden, sich eher auf Go zu konzentrieren – das Unladen Swallow Projekt wurde zur verwesenden Projektleiche.

Nicht unerheblich zum Scheitern dürften auch die hohen technischen Hürden beigetragen haben. So gelang es nicht, durch Einsatz eines JIT und eines Garbage Collectors sowie Verzicht auf den GIL ein besseres Laufzeitverhalten zu erreichen – im Gegenteil, viele Module liefen auf den Entwicklungsversionen des Unladen Swallow Codes langsamer. So verwundert es auch nicht, dass letztlich auch PEP 3146 auf der Halde toter PEPs beerdigt wurde.

Doch was bedeutet das Ende von Unladen Swallow? Für viele Python-Programme erst mal gar nichts. Der Standard-Interpreter (CPython) bietet für die meisten Einsatzzwecke ausreichende Geschwindigkeit. Die Python Standardbibliothek ist nach wie vor eine reiche und gute Sammlung nützlicher Programmbausteine. Auch parallele Programmierung ist mit Python nach wie vor möglich, nur ist man eben auf die Nutzung des multiprocessing-Moduls festgelegt, wenn tatsächlich parallele Ausführung von Programmteilen benötigt wird.

Für die Zukunft von Python bedeutet das aber, dass die Sprache einen Makel weiter mit sich herumschleppt: Es wird auf absehbare Zeit nicht möglich sein, Threads tatsächlich parallel auszuführen. Durch die steigende Verbreitung von SMP-Systemen ist das aber auf Dauer nicht akzeptabel, da es die Eignung von Python zu sehr einschränkt. In einigen Bereichen lässt sich das kompensieren (z. B. durch Ausweichen auf multiprocessing), in anderen aber nicht. So wünschenswert es aus meiner Sicht wäre, aber solange hier keine Lösung gefunden wird, ist Python für mich keine Allzweck-Waffe für den Programmier-Alltag.

No comments | Defined tags for this entry: Go, google, programming, python

Go: First Contact

Posted by Jesco Freund at May 8, 2010 12:38 a.m.

Und wieder ist die Welt um eine Programmiersprache reicher geworden – die Rede ist von Go, einer unter Schirmherrschaft von Google entwickelten Sprache, zu deren Vätern auch Vertreter der Unix-Prominenz (wie etwa Ken Thompson) gehören. Auch wenn einige „Fach“-Journalisten (mal wieder) die Sensation wittern und bereits die Totenglocken für C, C++ und Java läuten hören, habe ich mal (entgegen meiner Gewohnheit, bei journaille-generierten Hypes aktiv wegzusehen) ein bisschen mit Go herumgespielt, um mir ein eigenes Urteil erlauben zu können.

Auf den ersten Blick wirkt die Sprache ein bisschen wie „OK, wir nehmen C, fügen Objektorientierung hinzu, ohne die Komplexität von C++ ertragen zu müssen, und packen noch ein bisschen Nebenläufigkeit dazu“. Auf den zweiten Blick offenbart sich, dass die Sprache offenbar einer Hippie-Kommune entsprungen ist – jedenfalls lässt sich nicht mehr so genau sagen, wer die eigentlichen Eltern sind ;-). C und C++ haben auf jeden Fall Pate gestanden (bei Ken & Co. auch nicht anders zu erwarten), aber auch Elemente von Java, Python und sogar Pascal sind mit eingeflossen.

continue reading Go: First Contact

2 comments | Defined tags for this entry: C, Go, google, programming, python

Page 1 of 1