Zum Inhalt springen

YaBasic

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 15. Dezember 2025 um 10:53 Uhr durch imported>Mielas (Linkfix).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
YaBasic

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler u. a. Pedro Sá und Thomas Larsen<ref><templatestyles src="Webarchiv/styles.css" />Contact (Memento vom 19. Dezember 2013 im Internet Archive) (englisch) – Kontaktseite bei BasicProgramming.org; Stand: 19. Februar 2011</ref>
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 2.91.1
(24. Januar 2025)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem unixoide, Windows u. a.
Programmier­sprache C
Kategorie Interpreter und Programmiersprache
Lizenz Artistic License und GPL
deutschsprachig ja
Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)

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.

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.<ref>YaBasic (englisch) – Projektseite für YaBasic classic (bis Version 2.763); Stand: 3. Dezember 2008</ref> 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 (2008) an YaBasic 3.<ref>Yabasic::Dev Article Future of Yabasic. In: BasicProgramming.org-Wiki. 28. Februar 2008, ehemals im Vorlage:IconExternal (nicht mehr online verfügbar); abgerufen am 3. Dezember 2008 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).@1@2Vorlage:Toter Link/www.basicprogramming.org (Seite nicht mehr abrufbar. Suche im Internet Archive )</ref> Im Dezember 2010 wurde die erste Beta-Version von YaBasic 3 freigegeben.<ref><templatestyles src="Webarchiv/styles.css" />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</ref> 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<ref>Rhonda D'Vine: Ubuntu – Ergebnisse der Paketsuche -- yabasic. Abgerufen am 19. August 2017.</ref> oder Debian 9<ref>Debian-Webmaster: Debian -- Informationen über Paket yabasic in stretch. Abgerufen am 19. August 2017.</ref>.

Eigenschaften

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

Beispiele

Hallo-Welt-Programm

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

<syntaxhighlight lang="vbscript">

 print "Hallo Welt!"

</syntaxhighlight>

Grafik

Der folgende Code gibt zwei rote Kreise aus:

<syntaxhighlight lang="vbscript">

 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

</syntaxhighlight>

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

<syntaxhighlight lang="vbscript">

x$= "sub printme() : print \"Hallo Welt!\" : end sub"
compile(x$) 

</syntaxhighlight>

erzeugt zum Beispiel eine neue Prozedur,

<syntaxhighlight lang="vbscript">

sub printme()
 print "Hallo Welt!"
end sub 

</syntaxhighlight>

während das Programm läuft. Von nun an kann die Prozedur einfach durch

<syntaxhighlight lang="vbscript">

printme() 

</syntaxhighlight>

oder über das geringfügig komplexere Kommando

<syntaxhighlight lang="vbscript">

y$= "printme()"
execute(y$) 

</syntaxhighlight>

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.<ref><templatestyles src="Webarchiv/styles.css" />yab Interpreter (Memento vom 28. September 2007 im Internet Archive) – Artikel bei kaldience.com; Stand: 30. Juli 2005; nicht öffentlich</ref>

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

Einzelnachweise

<references />