RTJSCOMP ist ein Netzseiten-Anbieterprogramm, dessen Grundgerüst ich schon vor mehreren Jahren als Experiment erstellt habe. Damals hat mir das Programm aber noch nichts gebracht, da ich keinen dauerhaft erreichbaren Anbieterrechner hatte. Dann habe ich jedoch für diesen Zweck ein Samsung Galaxy Fit (S5670) eingesetzt, auf dem Debian Linux betrieben wurde. Dann verwendete ich einen gebrauchten, aufgerüsteten Bürorechner als zentralen Anbieterrechner. Seit Anfang 2019 läuft dieser Dienst ohne root-Modus und seit Mitte Februar laufen alle Dienste auf rk5, einer Klapprechner-Hauptplatine, die ich in einer Müll-Ecke fand.
Der Name steht für "Echtzeitkompilierung von JavaScript". Er erklärt also schon die Funktionsweise: Bei Bedarf wird eine Datei, die JavaScript-Anweisungen enthält, geladen, kompiliert und bei einer Anfrage wird das kompilierte Programm ausgeführt. Somit muss eine Datei zur Laufzeit nur ein einziges Mal eingelesen und kompiliert werden.
Das Programm ist komplett in JavaScript geschrieben und wird von Node.js mit Googles V8-Interpretierer ausgeführt. Das alles zusammen klingt ziemlich lahm und unsicher, doch das ist es nicht. Und die Effizienz von JavaScript-Programmen in V8 kann bei Einhaltung bestimmter Regeln, was ich tue, bis zu 80% von Programmen in C betragen.
Ich verbessere das Programm immer weiter, jedoch ohne hierbei ein Endziel zu verfolgen. RTJSCOMP ist nur eine Übergangslösung. Auf Dauer möchte ich eine intelligentere Lösung einsetzen, die auf meinem eigenen Betriebssystem aufbaut. Eine weitere Übergangslösung ist die von mir erfundene Programmiersprache SSC. RTJSCOMP ist nicht quelloffen, da ich ein Perfektionist bin und ausschließen will, dass jemand anderes meinen ordentlichen Text verunreinigt. Darüber informieren kann ich trotzdem und tue das auch gern, wie bei allen Dingen.
Momentan wird RTJSCOMP-Version 0.6.2 verwendet. Eine Übersicht der Versionen mit deren jeweiligen Änderungen gibt es hier.
Version 0.6 war in Arbeit. Sie wäre deutlich effizienter, sauberer, sicherer, stabiler und funktionsreicher geworden. Jetzt verwende ich nginx davor.
Weitere Erklärungen lassen sich in diesem dynamischen Brief finden.
Und zu Übungszwecken hier die Quelltexte: Brief, Anmelden und Zahlenspiel.