BOB+ 1.1e

Besitzen Sie einen ATARI-Portfolio®, der schon lange darauf wartet, von Staub befreit zu werden und wieder eine Aufgabe zu bekommen?

Benutzen Sie einen älteren PC, der mit großen und modernen Programmen so seine Schwierigkeiten hat?

Wollen Sie kleine Aufgaben schnell und ohne großen Programmieraufwand erledigen?

Oder suchen Sie einfach eine Programmiersprache, die sich schnell und einfach lernen lässt, trotzdem aber moderne objektorientierte Programmierung erlaubt?

In all diesen Fällen könnte sich ein Blick auf BOB+ lohnen!

Was ist BOB+?

BOB+ ist eine Weiterentwicklung der von David M. Betz 1991 entwickelten und im Dr. Dobbs Journal vorgestellten Sprache BOB.
BOB+ ist eine Hybridsprache, d.h. eine ihrem Konzept nach prozedurale Sprache mit objektorientierten Erweiterungen. Syntaktisch lehnt sich BOB+ an C/C++ sowie Script-Sprachen wie JavaScript an.
BOB+ ist weder ein Compiler noch ein "echter" Interpreter. Der Quellcode eines Programms wird zunächst in einen Bytecode übersetzt, der anschließend interpretiert wird
BOB+ übernimmt das grundlegende Konzept von BOB, erweitert jedoch sowohl die Sprache als auch deren Implementierung um einige grundlegende Elemente, die für Anwendungen, die über Programmierexperimente hinausgehen, erforderlich sind. Neben einer Vielzahl zusätzlicher vordefinerter Funktionen gehören hierzu insbesondere:

Dabei bleibt BOB+ abwärtskompatibel zu BOB. D.h. für BOB geschriebene Programme können ohne Änderung mit BOB+ übersetzt und ausgeführt werden.
Eines der wichtigsten Kriterien bei der Entwicklung von BOB+ war sparsamster Umgang mit Ressourcen. BOB+ kommt mit etwa 40 KB Platz auf der Platte/Diskette und 128 KB Arbeitsspeicher aus. Somit ist es beispielsweise möglich, auf einem Atari-Portfolio in Normalausstattung BOB+-Programme nicht nur auszuführen, sondern auch zu entwickeln.

Wie bekomme ich BOB+?

BOB+ ist FREEWARE und kann einschließlich aller Quellen und Dokumentation aus unserem Download-Bereich heruntergeladen werden.
Für die reine Ausführung bereits vorkompilierter BOB+-Programme ist eine Laufzeitumgebung zum Download verfügbar, die noch etwas sparsamer mit knappen Ressourcen umgeht. Ab Version 1.1 gibt es zusätzlich speziele Varianten ohne Gleitpunkt-Unterstützung (die mit noch weniger Speicher auskommen) sowie einen separaten Bytecode-Compiler.

Dokumentation

Die Dokumentation von BOB+ ist in Form eines etwa 90-seitigen Programmierhandbuchs (PDF) zum Download verfügbar. Ergänzend dazu gibt es eine Reihe von Programmbeispielen. Gegen eine Gebühr von 10,- EUR (incl. Versand) können Sie das Progammierhandbuch in gedruckter Form (A4-Mappe, Thermobindung) bestellen.

Produktunterstützung

Eine umfassende Produktunterstützung für BOB+ können wir nicht geben. Dennoch bemühen wir uns, alle Fragen, die im Zusammenhang mit der Benutzung von BOB+ auftreten, schnellstmöglich zu beantworten. Darüber hinaus freuen wir uns über Hinweise auf Fehler, die Software und Dokumentation möglicherweise noch enthalten sowie Ideen und Anregungen zur Weiterentwicklung. 
Wenn Sie Fragen oder Hinweise zu BOB+ haben, verwenden Sie bitte einfach unser Kontaktformular oder schicken und eine E-Mail.

Wie steht's um die Weiterentwicklung von BOB+

Bei der Entwicklung von BOB+ 1.0 stand die Eignung für Minimalsysteme im Vordergrund. Eine wesentliche Erweiterung des Funktionsumfanges wäre mit einem höheren Bedarf an Ressourcen verbunden und widerspräche so dem eigentlichen Anliegen.
Mit der Version 1.1x versuchen wir, mit Hilfe angepasster (kleinerer) Varianten von BOB+ sowie der Möglichkeit anwendungsspezifischer Erweiterungen in Form dynamischer Bibliotheken einen Ausweg aus diesem Problem zu bieten.
Version 1.1a erweitert Version 1.1 um Anweisungen zur vereinfachten Fehlersuche bei der Entwicklung von BOB+-Programmen.

Daneben arbeiten wir an der Erweiterung der Sprache, verbunden mit einer neuen Architektur und einer eine vollständigen Reimplementierung. Die Zielstellung besteht hierbei darin, eine einfach erlernbare, robuste und leicht erweiterbare Sprache bereitzustellen, die sowohl für die Erstellung kleinerer Applikationen als auch für die Einbindung als Script-Sprache in andere Anwendungen geeignet ist. Die Ausrichtung auf extrem geringen Ressourcenbedarf steht hierbei weniger in Vordergrund.
Die neue Version wird voraussichtlich BOB+ 2 heißen. Eine Beta-Version ist bereits im Download-Bereich verfügbar.

Die Update-Versionen 1.1a und 1.1b erweitern BOB+ 1.1 um einige Verbesserungen, die im Rahmen der Entwicklung von BOB+2 entstanden sind.
Version 1.1c fügt einige Funktionen zum direkten Lesen, Schreiben und Kopieren von Speicherbereichen hinzu, die die Entwicklung hardwarenaher Programme erleichtern. Durch Code-Optimierung konnte außerdem nochmals eine Verringerung der Größe der ausführbaren Dateien und des benötigten Speicherplatzes zur Laufzeit erreicht werden.
Mit Version 1.1d ist es möglich, eigenständig ausführbare Programme zu erzeugen, d.h. ein BOB+-Programm kann als einfache EXE-Datei weitergegeben werden. Die zusätzliche Bereitstellung einer Laufzeitumgebung ist damit nicht mehr erforderlich.
Version 1.1e verbessert die Unterstützung tieferer Klassenhierarchien und behebt ein Problem, das beim Aufruf geerbter Implementierungen innerhalb überschriebener Objektmethoden zu unerwünschten Rekursionen führen konnte.

So lange seitens unserer Anwender Interesse daran besteht, wird es künftig neben BOB+2 auch eine weitere Pflege - und möglicherweise Weiterentwicklung - der 1.x-Versionen geben.