Aktuelles

28.12.2022

B++ Version 1.4

B++ 1.4 liegt ab sofort im Download-Bereich.


Wichtigste Neuerungen in Version 1.4 sind die Einführung eines echten bool-Typs und vorzeichenlose Längenangaben (Typ uint) in Containern.
Als Konsequenz daraus ergibt sich eine Inkompatibilität des serialisierten Bytecodes zur Vorgängerversion - alle Module müssen daher neu übersetzt werden.

Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:

  • Es besteht die Möglichkeit sortierte Dictionary-Literale zu notieren. Dazu wird die Form {! .... } genutzt, also ein Ausrufezeichen nach der öffnenden Klammer notiert.
  • Es gibt Buffer-Literale (Ressourcenliterale), die mit << litexpr erzeugt werden, wobei litexpr einen String ergeben muss, der einen Dateinamen bzw. relativen oder absoluten Pfad repräsentiert. Die Suche nach der Datei erfolgt zur Kompilierzeit nach denselben Regeln wie für in Anführungszeichen eingeschlossene include-Dateien.
    Der Puffer wird dann mit dem Dateiinhalt initialisiert.
  • Das neue vordefinierte Literal NPOS gibt die Maximale Indexgröße an (definiert als uint(-1) ).
  • Hinzugekommen sind sie verallgemeinerten Containerfiunktionen clear, erase, insert, reserve, resize, swap, move,  slice, find und rfind, die die bisherigen Funktionen für den Typ vector ersetzen. Die alten Funktionsnamen bleiben vorerst als Aliasnamen erhalten.
  • Neu sind die Containerfunktionen lbound, ubound, bsearch und insrange sowie die Funktion strftime.
  • Die Verarbeitungsanweisung #defVar tut nichts, wenn bereits eine entsprechende Variable existiert, zuvor wurde die alte Definition ersetzt.
  • static auto ist auch in Funktionen möglich (in Klassendeklarationen ging es schon immer).
... sowie Änderungen der Implementierung zur Verbesserung des Laufzeitverhaltens und einige Bugfixes.


Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
18.10.2020

 B++ Version 1.3

Eigentlich kommt der Hinweis etwas spät - B++ 1.3 liegt schon seit Ende Juli im Download-Bereich. :)

Wichtigste Neuerung in Version 1.3 ist eine abstrakte Basisklasse CStruct, die die einfache Emulation von C-Strukturen einschließlich der Beachtung der Standardregeln für die Elementausrichtung (Alignmanr und Padding) ermöglicht. Ihr Zweck besteht in der Vereinfachung des Aufrufs von Systemfunktionen, die strukturierte Daten als Parameter erwarten.

Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:

  • Für Integer-Literale gibt es erweiterte Suffixe Ln mit n = 0 ,1, 2, 4 oder 8, mit denen die Größe des Zahlenwerte in Byte angegeben (1 .. 8) oder festgelegt werden kann, dass die kleinstmögliche Größe verwendet werden soll (0). So lässt sich der genaue Typ eines Literals explizit angeben.
  • Es gibt die neuen vordefinierten Literale __bplusplus ( mit der Versionsnummer von B++ * 100 als Wert), und PTRSIZE (Typ uint) mit der Größe eines Zeigers in Bytes (also 4 oder 8) als Wert.
  • Die neue vordefinierte globale Variable __PTRSIZE__ gibt ebenfalls die Größe eines Zeigers an - allerdings im Gegensatz zu PTRSIZE diejenige zur Laufzeit des Programms.
  • Neu ist das Schlüsselwort litexp, das der expliziten Kennzeichnung literaler Ausdrücke dient und die bisherige Verarbeitungsanweisung #(...) ablöst (das Konstrukt wird aber weiter unterstützt).
  • Verarbeitungsanweisungen können - wie in C/C++ - an beliebiger Stelle im Quelltext verwendet werden. Bisher war das nur auf globaler Ebene, in Klassendeklarationen oder auf Anweisungsebene im ä0ßersten Block einer Funktion möglich.
  • Die vordefinierten I/O-Funktionen wurden um freopen, fflush, ftell und fseek erweitert - alle mit analogem Verhalten zu den gleichnamigen C-Funktionen). Für ftell wurden außerdem die vordefinierten Literale SEEK_SET (0), SEEK_CUR (1) und SEEK_END (2) hinzugefügt.
  • Neu sind auch die vordefinierten Funktionen getclass(var arg) zum Bestimmen einer Klasse aus einer Objektinstanz oder einem als Zeichenkette angegebenen Klassennamen sowie newobject(Class, ...) zum Erzeugen einer Objektinstanz analog zum new-Operator.
    Die beiden Funktionen sind als Hilfsmittel zur Implementierung generischer Factories gedacht.
  • Geändert (und den Regeln von C++ angeglichen) wurde das Verhalten von Funktionen mit explizit angegebenem Rückgabetyp. Hier ist es nicht mehr zwingend erforderlich, dass die Implementierung selbst für die Rückgabe des exakten Typs sorgt; bei Bedarf wird eine implizite Konvertierung vorgenommen.

... sowie Änderungen der Implementierung zur Verbesserung des Laufzeitverhaltens, eine Erweiterung der Debugger-Schnittstelle und einige Bugfixes.


Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
17.08.2019

B++ Version 1.2 freigegeben

Version 1.2 bringt als wichtigste Neuerung die Veraebeitungsanweisungen #if, #ifdef, #ifndef, #elif, #else und #endif sowie den Pseudo-Operator defined mit, wodurch bedingte Übersetzungen analog zum C-Präprozessor möglich sind.

Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:

  • Das Ellipse-Symbol (...) kann optional zur Kennzeichnung einer beliebigen Anzahl nachfolgender Parameter in Funktionsdeklarationen verwendet werden.
  • Die Standardfunktion litexpr erlaubt die Auswertung von literalen Ausdrücken zur Laufzeit, insbesondere ermöglicht sie das direkte Lesen von JSON-Daten, da gültige JSON-Strukturen stets auch gültige Vector- bzw. Dictionary-Literale in B++ sind.
  • Neu sind auch die Standardfunktionen strlwr und strupr zur Umwandlung von Zeichenketten in Klein- bzw. Großbuchstaben, die sich wie die gleichnamigen C-Funktionen verhalten.
  • Der Wert null (vom internen Typ BVT_NULL) ist auch gleich Werten von Referenztypen, sofern sie auf die Adresse NULL verweisen, also keine gütigen Daten besitzen. Dies kann nach der Zuweisung von null an eine statisch typisierte Variable sowie bei Weak-Referenzen auf eine solche Variable vorkommen.
  • Für die Klasse Dictionary der Erweiterungsbibliothek (nur Windows-Version) gibt es bidirektionale und reverse Iteratoren.
  • Der Operator .= der Klasse RegEx liefert als Ergebnis den zugewiesenen Wert (und keine Referenz auf das RegEx-Objekt) und entspricht so der Empfehlung für die Implementierung dieses Operators.
... Erweiterungen der Kommandozeilenoptionen
  • Option -Dname[=value] zur Übergabe vordefinierter Symbole bzw. Literale, insbesondere zur bedingten Übersetzung
  • Option -L zum Binden eines Bytecode-Moduls mit einer beliebigen Version der Laufzeitumgebuntg. Dies erlaubt das Erstellen ausführbarer B++-Programme für eine andere Zielplattform.
... sowie Änderungen der Implementierung zur Verbesserung des Laufzeitverhaltens, eine Erweiterung der Debugger-Schnittstelle und einige Bugfixes.

Außerdem wurde eine rudinentäre Linux-Unterstützung hinzugefügt, die vollständige Distribution enthält hierfür eine CodeLite-Projektmappe.
Weiterhin befinden sich in der vollständigen Distribution Definitionen zur Syntaxhervorhebung und zum Aufbau von Funktionslisten für den Editor Notepad++.

Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.

Die vollständige Distribution steht im Download-Bereich zur Verfügung.

 
08.07.2018

In der Referenzdokumentation, die mit B++ installiert wird, hat sich ein kleiner Fehler eingeschlichen:
Im Bereich für die XML-Bibliothek wurden für die Vererbungs- und Kollaborationsdiagramme falsche Grafiken eingebunden.

In der einzeln herunterladbaren Variante ist das inzwischen berichtigt. Um die korrekte Referenz in der Installation verfügbar zu machen, laden Sie bitte hier die aktualisierte Version herunter, entpacken sie und kopieren die Datei bpp.chm ins Installationsverzeichnis von B++.

07.07.2018

B++ Version 1.1 freigegeben

Mit Version 1.1 von B++ sind die direkte Unterstützung regulärer Ausdrücke und eine XML-Bibliothek hinzugekommen. Außerdem wurden Inkompatibilitäten zwischen Bytecode-Serialisierungen der verschiedenen Build-Varianten behoben und die Dokumentation ergänzt.

Die Installer der Windows-Versionen installieren jeweils die Ansi- und die Unicode-Version gleichzeitig.
Die IDE benutzt die Ansi-Version.

Die vollständige Distribution steht im Download-Bereich zur Verfügung.

 
08.01.2018

 Bugfix-Release für B++

Es wurden ein paar kleinere Bugs in B++ behoben und einige Berichtigungen an der Dokumentation vorgenommen. Hinzugekommen ist eine Standardfunktion memmove, die sich wie die gleichnamige C-Funktion verhält.

Da es keine grundsätzlichen Änderungen gibt, wurden die Dateien im Download-Bereich vollständig durch die neue Version ersetzt.

28.12.2017

B++ freigegeben

B++ ist der Nachfolger von BOB+2 und ist eine stark an C++ angelehnte Sprache für Prototyping und Scriptimg von Anwendungen.
Aus BOB+2 wurden mit einigen Verbesserungen die IDE (als Beispiel zur Integration in eine Anwendung) sowie die Basisbibliothek zur Windows-GUI-Programmierung übernommen.

B++ ist derzeit für Windows 32 und 64 Bit (ab Vista) sowie für MS-DOS verfügbar. Eine Portierung auf weitere Plattformen sollte mit geringem Aufwand möglich sein.

B++ ist Open Source und steht unter der 3-Klausel-BSD-Lizenz.

Die vollständige Distribution steht im Download-Bereich zur Verfügung.

20.10.2012

Bob+2 Beta 2 freigegeben

Nun ist es endlich geschafft - es gibt eine neue Version von Bob+2!
Gegenüber der Beta 1 gibt es nicht nur Bugfixes, sondern auch eine Menge Verbesserungen, die die Sprache selbst und die Möglichkeiten der Integration der Bob+-VM als Script-Engine in anderee Anwendungen erweitern.
Neu sind auch eine kleine IDE sowie eine Basisbibliothek zur Windows-GUI-Programmierung.

Die Änderung des Lizenzmodells (Modified BSD statt GPL) soll die Verwendung auch in Closed Source-Projekten ermöglichen.

Die neue Version steht wie immer im Download-Bereich zur Verfügung.

25.07.2011

Bob+ Version 1.1e freigegeben

Die Version 1.1e ist ein "kleines" Update der Bob+ 1.x-Reihe für DOS-basierte Minimalsysteme. Die Version 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.
Sie steht wie immer im Download-Bereich zur Verfügung.

08.07.2010

Bob+ Version 1.1d freigegeben

Die Version 1.1d ist ein weiteres Update der Bob+ 1.x-Reihe für DOS-basierte Minimalsysteme. Die neue Version behebt einen Fehler der Version 1.1c und fügt die Möglichkeit hinzu, ein in Bytecode übersetztes Programm-Modul mit der Laufzeizumgebung zu einem eigenständig ausführbaren EXE-Programm zu verbinden, was in erster Linie zur vereinfachten Weitergabe von BOB+-Programmen gedacht ist.
Sie steht wie immer im Download-Bereich zur Verfügung.

28.05.2010

 Erweitertes Hosting-Angebot

Die Leistungsfähigkeit von Web-Anwendungen nimmt ständig zu - und mit ihr deren Platzbedarf. Deshalb gibt es ab sofort ein erweitertes Web-Hosting-Angebot, das neben einem Speicherplatz von bis zu 1 GB auch zwei freie DE-Domains und mehrere SQL-Datenbanken beinhaltet.

02.04.2010

 Bob+ Version 1.1c freigegeben

Die Version 1.1c ist ein Update der Bob+ 1.x-Reihe für DOS-basierte Minimalsysteme. Die neue Version 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.
Sie steht wie immer im Download-Bereich zur Verfügung.

15.11.2008

BOB+ Version 1.1b

Die Version 1.1b ist ein weiteres Update der Version 1.1. Neben den Neuerungen der Version 1.1a erweitert sie die Möglichkeiten der Verwendung von Escape-Sequenzen in Literalen. Sie steht ab heute zum kostenlosen Download zur Verfügung.

16.08.2008

 KiezSoft im Spätlese-Laden

Heute hat in der Fanningerstr. 49 in Berlin-Lichtenberg der Lese- und Schreibladen "Spätlese" eröffnet. KiezSoft ist Bestandteil dieses Ladens. Sie können ab sofort auch die Ladenöffnungszeiten nutzen, um mit uns in Kontakt zu treten.

26.05.2008

BOB+ 2 Beta

Die Beta-Version von BOB+ 2 ist für MS-DOS, Win32-Dektop-Plattformen und Windows CE verfügbar und steht zum kostenlosen Download und Test bereit.

15.03.2008

 BOB+ Version 1.1a

Die Version 1.1a ist erweitert die Version 1.1 um drei Anweisungen zur Erleichterung des Debuggings. Sie steht ab heute zum kostenlosen Download zur Verfügung.

01.11.2007

 BOB+ Version 1.1 freigegeben

Ab heute steht die Version 1.1 von BOB+ zum Download zur Verfügung. Sie erweitert die bisherige Version um die Verwendung dynamischer Bibliotheken (DLLs) und verbessert die Möglichkeiten systemnaher Programmierung. Durch spezielle Integer-Versionen sowie einen separaten Bytecode-Compiler kommt die Version 1.1 außerdem mit noch knapperem Speicherplatz zurecht.

Die im Juni angekündigte Neuimplementierung und Erweiterung der Sprache wird nicht BOB++ sondern BOB+ 2.0 heißen. Der Hauptgrund dafür ist, dass bereits eine C++-Bibliothek unter dem Namen BOB++ existiert.

Im Zusammenhang mit den Arbeiten an der Version 1.1 sind noch eine Reihe neuer Ideen und Überlegungen entstanden, die in die Version 2 einfließen sollen. Deshalb verzögert sich deren Release wahrscheinlich bis zum Ende des 1. Halbjahres 2008.

04.10.2007

 DOS-DLL - Dynamische Bibliotheken für MS-DOS

Als Nebenprodukt bei der Weiterentwicklung von BOB+ ist eine kleine C/C++-Bibliothek entstanden, die es gestattet, unter MS-DOS dynamische Bibliotheken, ähnlich denen aus Windows bekannten DLLs zu erstellen und zu verwenden.
Die Bibliothek ist FREEWARE und kann über unseren Download-Bereich bezogen werden.

27.06.2007

 BOB+ wird doch weiter entwickelt

Entgegen der ursprünglichen Planung wird es doch eine Weiterentwicklung von BOB+ geben. Die neue Bezeichnung wird voraussichtlich BOB++ sein. Geplant ist die Fertigstellung der Version 1.0 bis Ende Oktober 2007.

BOB++ ist eine Weiterentwicklung und vollständige Reimplementierung von BOB+. Die Sprache selbst wurde um einige Elemente erweitert. Die Implementierung bietet neben einer automatischen Speicherverwaltung eine definierte Schnittstelle zur Erweiterung um benutzerdefinierte Funktionen und Klassen. Darüber hinaus lässt sich BOB++ leicht in andere Anwendungen einbetten und als Script-Sprache für deren Steuerung einsetzen.

BOB++ wird zunächst für MS-DOS und 32-Bit-Windows Plattformen verfügbar sein.

12.03.2007

WYSIWYG-Editor KsWyEdit Version 1.01

Die Version 1.01 des Online-HTML-WYSIWYG-Editors KsWyEdit steht zum kostenlosen Download zur Verfügung.
Gegenüber Version 1.0 wurden einige Absatzformate hinzugefügt. Außerdem können externe Dateien als Ebenen eingefügt werden (einfach im Dialog "Ebene einfügen" eine URL angeben).

08.01.2007

 WYSIWYG-Editor KsWyEdit freigegeben

Die Version 1.0 des Online-HTML-WYSIWYG-Editors KsWyEdit ist freigegeben und steht zum kostenlosen Download zur Verfügung.

31.10.2006

 KiezSoft in neuem Gewand

Weil sich Software am besten testen und verbessern lässt, wenn man selbst damit arbeitet, haben wir unsere eigene Website umgebaut. Sie basiert jetzt auf KiezSoft SimpleWebSite.

30.10.2006

BOB+ ist Freeware

Die Programmiersprache BOB+ ist ab sofort Freeware (PUBLIC DOMAIN) und kann in unserem Download-Bereich heruntergeladen werden.

27.10.2006

KiezSoft SimpleWebSite Demo-Installation

Unter www.simplewebsite.de ist eine Demo-Installation von SimpleWebSite verfügbar. Hier können Sie sich einen Überblick über Möglichkeiten und Funktionsumfang verschaffen sowie erste Erfahrungen im Umgang mit SimpleWebSite sammeln.

09.10.2006

KiezSoft SimpleWebSite 1.0 ist fertiggestellt

KiezSoft SimpleWebSite ermöglicht Ihnen einen schnellen und kostengünstigen Weg zu einem anspruchsvollen Internet-Auftritt. Sie können Ihre Seiten leicht selbst aktualisieren und neue Inhalte hinzufügen. Besondere Kenntnisse sind dazu nicht erforderlich - Sie schreiben Ihre Seiten einfach so, wie Sie es von Ihrem Textprogramm gewöhnt sind.

SimpleWebSite ist Bestanteil unseres Angebots zur Web-Gestaltung.