10.08.2020

Codespaces

Codespaces – Wort des Tages – EVS Translations
Codespaces – Wort des Tages – EVS Translations

Eines dürfte nicht überraschen: Je enger die Zusammenarbeit, desto besser das Endprodukt – zumindest so die Theorie. Das Problem ist leider, dass selbst in Zeiten von Cloud-Computing und Software wie Slack und Jira ein gemeinsames Arbeiten nicht immer leicht ist. Insbesondere bei der Programmierung und Software-Entwicklung waren die Möglichkeiten zur Zusammenarbeit aufgrund von Einrichtungsbarrieren stets eher exklusiver als inklusiver Natur. Mit Codespaces, einer über Visual Studio von Microsoft und GitHub veröffentlichten Plattform, sollen diese Barrieren jedoch zugunsten einer integrativeren Entwicklung durchbrochen werden.

Bevor wir uns ansehen, wie diese Plattform funktioniert, könnte es für das Verständnis helfen, zunächst den Namen genauer zu betrachten. Nicht Eingeweihten sei gesagt, dass der Begriff codespace im Entwicklerjargon ganz simpel als Region oder Raum definiert wird, der die obere und untere Grenze für die Codierung vorgibt. (Wenn beispielsweise bei der Programmierung in einem lateinischen Skript aus A 1 und aus Z 26 wird, läge der codespace zwischen 1 und 26.) Bei näherer Betrachtung ist der Begriff ein Kompositum aus code und space. Code stammt vom lateinischen Wort codex für „eine Sammlung von Gesetzen“ ab und wurde in diesem Zusammenhang erstmals als ein System aus Regeln und Normen eines Sachbereichs (das zum ersten Mal im Jahr 1946 auf das Computing Anwendung fand) in der am 30. November 1809 erschienenen Ausgabe von The Friend von Samuel Taylor Coleridge verwendet [„In the legislative as in the religious Code.“]. Als Bezeichnung für einen ausgedehnten Raum für einen bestimmten Zweck wurde das Wort space, das vom lateinischen spatium über das altfranzösische espace Eingang ins Englische fand, erstmals 1387 in einem englischen Text verwendet. So beschreibt John Travisa in seiner Übersetzung (aus dem Lateinischen) von Ranulf Higdens Polychronicon die Isle of Man als aus zwei Inseln bestehend – einer mit neunhundert Haushalten, während die zweite den Raum von über dreihundert Haushalten einnimmt [„This Isle of Man contains as it were two islands; the first…contains nine hundred households…the second contains the space of three hundred and more.“].

Ohne in Sachen Programmierung und Entwicklung zu sehr ins Detail zu gehen, lässt sich feststellen, dass die Schwierigkeit für die Zusammenarbeit in diesem Rahmen zum großen Teil darin besteht, dass für jeden Beitrag zu einem Projekt zunächst eine Anfrage gestellt werden muss und jeder Beteiligte die Umgebung auf seinem lokalen Rechner entsprechend den Anforderungen des jeweiligen Projekts einrichten muss. Der wesentliche Unterschied bei Codespaces ist, dass dem Nutzer hierbei eine cloudbasierte, integrierte Entwicklungsumgebung über den von ihm verwendeten Browser zur Verfügung steht. Das heißt im Grunde, dass er für jedes beliebige Projekt in einer spezifischen Codespace-Konfiguration auf jedem beliebigen Rechner Programmierung, Tests, Fehlerbehebung und Bereitstellung über den Browser ausführen kann.

Analog dazu würde dies beispielsweise bedeuten, die Möglichkeit zu schaffen, jedes Auto, unabhängig davon, ob es eigentlich mit Strom, Wasserstoff, Benzin oder Diesel betrieben wird, mit jeder Art von Kraftstoff zu fahren. Genauso wie diese Analogie zu einer weiteren Liberalisierung des Straßenverkehrs führen würde, ermöglichen Produkte wie Codespaces eine liberalisiertere und integrativere Software-Entwicklung, was (hoffentlich) zu einer schnelleren und intuitiveren Entwicklung und somit letztlich zu einem besseren Produkt führt.