yab

logoWhat is yab?
yab is a programming language and, to be specific, a basic interpreter based upon Yabasic (Yet Another BASIC) for BeOS. The name “BASIC” stands for Beginner’s All-purpose Symbolic Instruction Code. This abbreviation is not quite correct, because BASIC is not just a software tool for beginners, it can rather be used for extensive professional solutions. The first user interfaces for Acorn, RiscPCs and ArthurOS were programmed in BASIC.

What can yab do?
yab is a programming language and, as such, you can program everything you ever dreamed of: from games and educational software to complex applications. In comparison to Yabasic, yab is upgraded with elements from the BeOS API. Therefore it is possible to program native software in BASIC.
As an example for the simplicity of yab, here’s the code needed for the most important piece of programm ever concieved:

“Hello World” in yab:
window open 200,200 to 500, 600, "MainView", "Hello World"
draw text 100,100, "Hello World", "MainView"
sleep 5
window close "MainView"

What advantages are there for developing software with yab?
Since the basic structure of yab is still that of Yabasic it’s easy to convert programs developed for Windows, Linux (Unix) and Playstation2 over to BeOS.
A further advantage of BASIC is it’s ease to program an application. From early development stages on you can test the software yourself to detect any mistakes or quirks.

As with Yabasic, yab is licenced under the GPL (v2) and an artistic licence, which means the software can be easily adapted to needs, if required.

How big are the Programs that have been written with yab?
There are two things that make your software. The yab-code itself and an interpreter. The interpreter is just over 1 MB in size at the moment. So, if coupled with it, your programm grows this additional size. But then your software is a “stand alone” programm and simply runs. But it’s also possible to just link to the interpreter at the beginning of your code.

Are there already programms done with yab (other than “Hello world”)?
Glad you asked.
Of course there are. To name some:
JABA — a CD/DVD burning application
MyBudget — a financial application
MyContacts — a advanced people app
MyShoutcast — listen to shoutcast streams

Last but not least: where can I lay my hands on yab?
Since yab is done for the community you can take a look at SourceForge for the files.