YaBasic
YaBasic ist ein quelloffener BASIC-Interpreter für Linux/Unix und für Windows. Er zeichnet sich durch seine Kompaktheit (gepackte Größe etwa 140 kB) und eine flexible Syntax aus: Für die Farbwahl sind zum Beispiel sowohl der Befehl color als auch colour möglich, und auch für if ... then ... else ... endif-Konstrukte gibt es eine Reihe verschiedener Syntax-Varianten usw.
YaBasic | |
---|---|
Basisdaten | |
Entwickler | u. a. Pedro Sá und Thomas Larsen[1] |
Aktuelle Version | 2.87.0 (12. August 2020) |
Betriebssystem | unixoide, Windows u. a. |
Programmiersprache | C |
Kategorie | Interpreter und Programmiersprache |
Lizenz | Artistic License und GPL |
deutschsprachig | nein |
www.yabasic.de |
Geschichte
YaBasic wurde ab 1995 von Marc-Oliver Ihm entwickelt. Die Version 2.763 wurde von ihm im Jahr 2005 als „final“ bezeichnet, da er sich nunmehr anderen Softwareprojekten widmen wollte.[2] Im Jahr 2008 wurde die Weiterentwicklung von YaBasic durch Pedro Sá und Thomas Larsen aufgenommen. Sie entwickeln Patches für die Version 2.763 und arbeiten derzeit an YaBasic 3.[3] Im Dezember 2010 wurde die erste Beta-Version von YaBasic 3 freigegeben.[4] Seitdem ist es um dieses Projekt still geworden. Eine offizielle Version 3 ist bisher (Ende 2012) nicht erschienen. YaBasic v2.78.1 wurde am 13. August 2017 veröffentlicht. Die Version 2.78.0-1 ist in verschiedenen Linux-Distributionen integriert, wie z. B. Ubuntu 17.04[5] oder Debian 9[6].
Eigenschaften
YaBasic zeichnet sich gegenüber anderen BASIC-Interpretern durch folgende Eigenschaften aus:
- Keine Zeilennummern
- Strukturierte Programmierung mit Kontrollstrukturen (do ... loop usw.), Prozeduren und Modulen/Bibliotheken mit eigenen Namensräumen
- Selbstmodifizierender Code (für ein Beispiel, siehe unten)
- Möglichkeit der Generierung lauffähiger Executables durch Bindung des Interpreters an das BASIC-Programm
- Geplant für Version 3: Benutzerdefinierte Datentypen (UDTs)
Beispiele
Hallo-Welt-Programm
Das allgegenwärtige Hallo-Welt-Programm benötigt in YaBasic nur eine Zeile:
print "Hallo Welt!"
Grafik
Der folgende Code gibt zwei rote Kreise aus:
open window 200,200
color 250,0,0
circle 50, 100, 80 // einfache version
new curve // etwas anspruchsvoller
for phi=0 to 2*pi step 0.1
line to 100+90*sin(phi),100+90*cos(phi)
next phi
close curve
Selbstmodifizierender Code
Zeichenketten können vom Interpreter während der Laufzeit zu ausführbarem Code übersetzt werden, was einem Programm erlaubt, sich selbst zu modifizieren.
Der Codeabschnitt
x$= "sub printme() : print \"Hallo Welt!\" : end sub"
compile(x$)
erzeugt zum Beispiel eine neue Prozedur,
sub printme()
print "Hallo Welt!"
end sub
während das Programm läuft. Von nun an kann die Prozedur einfach durch
printme()
oder über das geringfügig komplexere Kommando
y$= "printme()"
execute(y$)
aufgerufen werden.
Weitere Versionen
Die Version 3 befindet sich seit Dezember 2009 im Beta-Stadium.
YaBasic wird unter dem Namen yab auf Haiku/BeOS/ZETA portiert.[7]
Sony liefert YaBasic für die PlayStation 2 kostenlos mit der Demo-DVD der PAL-Version aus.
YaBasic steht unter der GPL und der Artistic License.
Weblinks
- Offizielle Website (englisch)
- yab-Interpreter ─ BeOS-Version von Yabasic
Referenzen
- Contact (Memento des Originals vom 19. Dezember 2013 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. (englisch) – Kontaktseite bei BasicProgramming.org; Stand: 19. Februar 2011
- YaBasic (englisch) – Projektseite für YaBasic classic (bis Version 2.763); Stand: 3. Dezember 2008
- http://www.basicprogramming.org/wiki/index.php?title=Yabasic::Dev_Article_Future_of_Yabasic&oldid=1413 (Link nicht abrufbar)
- Yabasic 2.9.6 is out (Memento des Originals vom 17. Mai 2016 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. (englisch) – Bekanntgabe im Forum von BasicProgramming.org, am 6. Dezember 2009
- Rhonda D'Vine, rhonda@ubuntu.com: Ubuntu – Ergebnisse der Paketsuche -- yabasic. Abgerufen am 19. August 2017.
- Debian-Webmaster, webmaster@debian.org: Debian -- Informationen über Paket yabasic in stretch. Abgerufen am 19. August 2017.
- yab Interpreter (Memento vom 28. September 2007 im Internet Archive) – Artikel bei kaldience.com; Stand: 30. Juli 2005; nicht öffentlich