Wie intelligente Editoren die Software-Entwicklung erleichtern

DeveloperIT-ProjekteOpen SourceSoftware

Die Seeschwalbe, englisch tern, fliegt dicht über dem Wasser, um nach brauchbaren Nahrungsmitteln unter der Oberfläche zu sehen. Ähnlich funktioniert auch die Software Tern: sie “fischt” nach den passenden Variablentypen, Argumenten oder wahrscheinlichsten Programmier-Ansätzen, während der Code eingetippt wird.

TERN_PROJEKT-LOGO_578

Das leuchtete vielen ein, die das Projekt mitfinanzieren wollen: Das Ziel von 15.0000 Euro Crowdfunding hat das Projekt Tern inzwischen bereits erreicht. Das Funding läuft über die Plattform
Indiegogo ab.

tern_screen_335
Im intelligenten JavaScript-Editoe ergänzt die Eingabe im rechten oberen Eingabefeld den Code um das, was an dier Stelle stehen sollte oder könnte (Screen: Tern-Projektseite)

Tern parst und analysiert ein Programm während es entsteht – und nutzt dazu Rückschlüsse und heuristische Ansätze sowie “einige dreckige Tricks”, um die richtigen Variablentypen, Ausdrücke und Parameter in einem Programm anzunähern.

Grundsätzlich sind die Algorithmen von Tern denen von Mozillas SpiderMonkey Engine ähnlich (siehe PDF zum Analysieren von JavaScripts), sie unterscheiden sich aber darin, keinen Zugriff zu den Runtime-Informationen zu haben. Programmierer Marijn Haverbeke: “Andererseits muss es nicht so ganz genau sein und kann in einigen Fällen Näherungsverfahren nutzen” – die Software könne dann immerhin eine sinnvolle Liste möglicher Komplettierungen, Funktionen oder Parameter liefern.

Den noch nicht ganz fertigen Quellcode und die laufenden Änderungen stellen Haverbeke und die Online Community auf Github bereit. Die Software kann als JavaScript Library oder als http-Server-Ergänzung für die Nutzung mit Desktop-Editor-Plug-ins laufen.

Inzwischen ist das Projekt des Berliner Programmiererers mit holländischen Wurzeln zum Open-Source-Phänomen geworden. Haverbecke will den Ansatz des intelligenten Editors auch auf andere Programmierumgebungen transferieren. Weil er selber beim Coden noch mit Emacs arbeite, sitze er gerade an einer Plug-in-Version für diesen Editor. Die Open-Source-Community tendiert dazu, sich im Rahmen des IBM-Projekts Eclipse in andere Editoren “einzuklinken”.

In einem YouTube-Video erklärt Programmierer Marijn Haverbeke das Konzept von Tern.

Lesen Sie auch :
Anklicken um die Biografie des Autors zu lesen  Anklicken um die Biografie des Autors zu verbergen