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.
Programmier­sprache C
Kategorie Interpreter und Programmiersprache
Lizenz Artistic License und GPL
deutschsprachig nein
www.yabasic.de

Geschichte

Bearbeiten

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

Bearbeiten

YaBasic zeichnet sich gegenüber anderen BASIC-Interpretern durch folgende Eigenschaften aus:

Beispiele

Bearbeiten

Hallo-Welt-Programm

Bearbeiten

Das allgegenwärtige Hallo-Welt-Programm benötigt in YaBasic nur eine Zeile:

  print "Hallo Welt!"

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

Bearbeiten

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

Bearbeiten

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.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Contact (Memento vom 19. Dezember 2013 im Internet Archive) (englisch) – Kontaktseite bei BasicProgramming.org; Stand: 19. Februar 2011
  2. YaBasic (englisch) – Projektseite für YaBasic classic (bis Version 2.763); Stand: 3. Dezember 2008
  3. http://www.basicprogramming.org/wiki/index.php?title=Yabasic::Dev_Article_Future_of_Yabasic&oldid=1413 (Link nicht abrufbar)
  4. Yabasic 2.9.6 is out (Memento vom 17. Mai 2016 im Internet Archive) (englisch) – Bekanntgabe im Forum von BasicProgramming.org, am 6. Dezember 2009
  5. Rhonda D'Vine, rhonda@ubuntu.com: Ubuntu – Ergebnisse der Paketsuche -- yabasic. Abgerufen am 19. August 2017.
  6. Debian-Webmaster, webmaster@debian.org: Debian -- Informationen über Paket yabasic in stretch. Abgerufen am 19. August 2017.
  7. yab Interpreter (Memento vom 28. September 2007 im Internet Archive) – Artikel bei kaldience.com; Stand: 30. Juli 2005; nicht öffentlich