RapidBATCH 6

Wenn man nach diesem Posting aus 2014 geht wäre es viel lieber schon viel früher so gekommen. Wie dem auch sei: RapidBATCH ist jetzt frei!

Ich habe aus einem altem Backup und mit den aktuellen Tools, der libphorward und UniCC, die unfertigen Sourcen von RapidBATCH 6 portiert und halbwegs zum laufen bekommen.

Hier das offiziellen RapidBATCH open source project: https://github.com/phorward/rapidbatch

Zumindest funktioniert ein Großteil der damaligen Testfiles. Mir ist dabei aufgefallen, dass ich damals die drei Module von RapidBATCH, also Compiler, Virtual Machine und den eigentlichen Funktionsumfang, so dermaßen auseindergerupft hatte, weil ich dachte “je modularer desto besser” und auch weil es mal Pläne gab, RapidBATCH als Domain-specific Language zu vermarkten ohne die Sourcen freizugeben 😀 naja  fail, leider alles verbockte Scheiße.

Egal, irgendwie muss es ja weitergehen, vielleicht nun auch so.

Ach ja ich bin jetzt Open Source mäßig bei GitHub, wohne mit meiner Freundin zusammen und bin umgezogen. Jo. Das wars auch schon…

Vorerst hat’s sich ausgebatcht

rb5Nun folgt ein weiterer Schritt, sich von Dingen der Vergangenheit zu trennen. Auch wenn man sie liebgewonnen hat.

Die offizielle Website zu RapidBATCH und das Forum sind ab heute geschlossen. Der Shop ist nicht mehr verfügbar.

Auf der Homepage zumindest ein Hinweis, wieso und warum und auch das noch nicht allertage zu Ende sind. Die Beweggründe dafür kann man auch hier nochmal nachlesen: http://bierpilot.glasfluegel.net/?p=1133

  • Domains rapidbatch.net und rapidbatch.eu werden gekündigt
  • rapidbatch.com und rapidbatch.de bleiben

So erstmal nen Schlußstrich darunter gezogen.

So long,
Max

Der Drang nach Perfektion

Momentan bin ich, auch aufgrund meiner beruflichen Situation, mal wieder ziemlich damit beschäftigt, meine alten Ideen von damals mal wieder nach vorne zu bringen.

Es geht vor allem um mein Sorgenkind, was man schon fast als Vaporware bezeichnen könnten… RapidBATCH 6. RapidBATCH ist ein Projekt, welches ich 2001 mit 15 Jahren begonnen habe und was Aufgrund durch eine immense Medienpopularität wahrlich äusserst bekannt geworden ist: Eine einfache Batchsprache mit EXE-Compiler. Programmiert, damals, in QuickBasic. Der Compiler war natürlich eher Fake, es war eher ein Obfuscator, der Code an einen Interpreter, der diesen Code aus sich selbst ließt und dann ausführt, hängt. Aber es hatte den anschein, man hätte einen EXE-Compiler. Selbiges Konzept ging bis zur Version 5.1, die letzte veröffentlichte RapidBATCH-Version einher.

Nach dem Release der (leider immer noch aktuellen) Version 5.1 und meiner damaligen privaten Situation (die nicht sehr rosig war) habe ich mich sehr viel mit dem Thema Compilerbau beschäftigt. Das hat aber dann immer mehr dazu geführt, dass die Ideen von damals immer mehr in Frage gestellt wurden… es musste immer besser werden… was auch der Grund ist warum es kein RapidBATCH 5.2 gab, welches sogar in seiner damaligen Beta-Version einen echten Rekursiv-Descent Parser mit sich brachte. Aber es war mir zu heikel, dass damals weiter zu machen… RapidBATCH 6 wurde prototypsiert… und immer weiterentwickelt.  Bis hin zu einer wahrlich soliden Basis. Aber sie war mir nicht *perfekt* genug. Ich könnte mir eigentlich sowas von in den Arsch treten damals diese Entscheidung getroffen zu haben. Die Sourcen davon habe ich alle noch, aber sie sind sowas von inkompatibel mit der aktuellen libphorward, welche schon damals in Teilen existierte… man kann sie nicht einfach mal umbiegen und alles läuft so wie vorher.

So ein Scheiß… RapidBATCH 6 war vollends prototypisiert… es hatte einen sogar opimierenden Compiler, basierte vollständig auf einer stack-basierten Virtual Machine namens Phosphor, implementierte bereits eine Basis-Version (konsolenbasiert) der urspünglichen Version 5.1 mit zusätzlichen Features der Version 6

  • Ein ECHTER Compiler!
  • Verschachtelte Funktionsaufrufe
  • Neue Schleifen WHILE…WEND und EACH…IN…NEXT
  • Assioziative Arrays

Ich hatte Klaus F. und Andi H. im Boot… die wären mitgegangen… ich hab es vergeigt.

Bitte…hier… seht euch diese geilen Screenshots an… es ist unglaublich, was das Ding damals konnte… ein geniales Stück Software, doch geschrieben für die Katz.

snapshot4 snapshot5 snapshot6 snapshot7arrays Und nur eine Auswahl der damaligen Demo-Programme, die bereits FUNKTIONIERTEN….

und

…verdammt, ich könnte kotzen, wenn ich dran denke, das alles in die Tonne gepfeffert zu haben. Scheiss Drang zur Perfektion. Scheiss Entscheidung. Alles für’n ARSCH. SCHEISSE!!!

Was hab ich davon heute? UniCC… ein Parser Generator den kein Schwein braucht und der völlig überladen ist. Aber es musste sein. Sowas wie ein Ziel, das erreicht werden muss und keinen Sinn macht. Jetzt bastel ich mir wieder einen zurecht und baue die libphorward zum Multi-Paradigma Parser Generator mit verdammten Features die keine Sau jemals nutzen wird… und dann diese leeren Versprechungen… RapidbATCH 6, die Vaporware, die Niemals kommt… NEIN. Ich will das verdammt nochmal nicht mehr.

Ich wünschte, ich könnte die Zeit zurückdrehen, nach 2008, und mir selbst in den Arsch treten, diesen Weg beschritten zu haben. RapidBATCH hatte seine Chance und ich habe sie vollends in den Sand gesetzt. Alles mir zu verdanken, einem Volldeppen, der mit seiner Perfektion nicht zurecht kam.

Tja, was haben wir heute. Einen haufen Sourcecode, der nicht übersetzbar ist. Nicht ohne massive Anpassung.

  • phosphor, die Virtual Machine
  • rb6core, der RapidBATCH 6 Sprachkern mit Compiler
  • rb6, die RapidBATCH 6 Sprachlibrary mit den Funktionen

Alles nicht mehr übersetzbar. Zu viel zu ändern. Zu viele Ansätze, es besser zu machen.

Ich muss eigentlich nochmal von vorn anfangen, und dann das beste in einem ganzheitlichen Projekt zusammenfassen.. aber selbst das rede ich schon seit Jahren. Immer wieder diese Versuche.

Nur wenn, dann alles als freie Software. Ich glaube, dass RapidBATCH nur so eine Chance hat, weiter zu leben, und vielleicht doch noch mal Anklang in der seit Jahren treuen Community zu bekommen. Die es trägt und was draus macht. Einen anderen Weg gibt es nicht. Und einen anderen Weg will ich auch nicht.

Seit einigen Jahren dümpelt in meinem Sourceverzeichnis auch noch das Verzeichnis rapidbatch rum. Ein Ansatz, das alles unter ein neues Dach, basierend auf libphorward und UniCC, zu bringen. Bisher nicht sehr viel Inhalt. Nur lose Module, ohne wirklichen Zweck und Zusammenhang. Hier mal eine Graphik, da mal ein fetzen Code.

Es muss weiter gehen. Es MUSS.

Ab morgen hab ich den Rest der Woche Urlaub. Möchte das gute Wetter nutzen und fliegen gehen. Und wer weiß… vielleicht schraubt sich diese Tage doch mal ein Entschluss zusammen, der RapidBATCH doch noch dahin bringt, wo es einst in einem Prototypen auf einem sehr gutem Wege war… es wird Zeit… es muss Zeit werden. Es MUSS.