Zurück in die Vergangenheit
16.07.2018, 10:57 Uhr
Serverless QBasic
Eine serverlose Funktion führt QBasic-Programme aus - Docker und OpenWhisk machen es möglich.
Manche Projekte sind – nun ja, sagen wir mal – zweifelhaft in der Nützlichkeit. Aber sie haben eine andere, Eigenschaft: Sie machen Spaß. Ein solches Projekt ist das auf psuter.net beschriebene: Wie kann man QBasic-Programme in der Cloud laufen lassen?
Der Blogpost gibt die Antwort und zeigt Schritt für Schritt, wie der uralte DOS-Interpreter von Microsoft dazu bewegt werden kann, ein Programm in der Cloud auszuführen. Der Trick liegt natürlich in einem Docker-Container. Aber es gibt dabei viele Klippen zu umschiffen. Zum Beispiel muss die QBasic-Umgebung das Programm ohne weitere Interaktion ausführen. Das erreicht man über einen Kommandozeilenparameter:
QBASIC.EXE /run FILE.BAS
Aber auch die die DOSBox, die ja die Ablaufumgebung für QBasic darstellt, muss "headless" laufen, also ohne Interaktion. Hier helfen eine [autoexec]-Sektion in der dosbox.conf und die Ausgabe des Basic-Programms in eine Datei.
Ein Python-Script sorgt schließlich dafür, dass die Funktionalität des Basic-Programms auch über das Internet erreichbar ist.
Der Autor des Blogposts auf psuter.net hat als Basic-Beispiel einen Morse-Übersetzer gewählt. Auf der Website kann man einen Text eingeben, der dann durch das Programm in Punkte und Striche übersetzt wird.