QBASIC Primzahlgenerator

Vor einer halben Ewigkeit hatte auch ich mich mal ein wenig mit der Programmiersprache BASIC auseinander gesetzt. Um genau zu sein, mit der Microsoft-Implementation QBASIC, die mit den DOS-Versionen 5 und 6.x kostenlos ausgeliefert wurde. Irgendwann bekam ich auch ein seinerzeit schon ein völlig veraltetes Lehrbuch zu QBASIC in die Hände, welchem eine Diskette mit Beispielprogrammen im Sourcecode beilagen. Eines davon war ein Generator für Primzahlen. Irgendwann hatte mir ein Bekannter geholfen, diesen Generator so auszubauen, dass er etwas flexibler mit den Start- und Endwerten war. Ein Riesen Nachteil von QBASIC zu dem etwas grösseren und kostenpflichtigen Quickbasic war, dass es keinen Compiler besass um aus dem Code einen direkten für die DOS-Shell ausführbaren Maschienencode zu erzeugen. Das erstellte Programm kann nur im BASIC-Interpreter selbst ausgeführt werden. Und so habe ich QBASIC und den Primzahlgenerator über die Zeit bis heute auf allen meinen Computerplattformen mit dem DOS-Emulator DOSBox mitgeschleift.

Neulich kam ich aber dann doch mal auf die Idee, dass man den Generator mit einer populäreren Sprache auf eine aktuelle Plattform implementiert. Der Hauptbewegpunkt dabei ist, dass der Generator so direkt die Rechenleistung des Computer nutzen kann und nicht noch eine Emulationsebene zwischen Programm und Hardware die ganze Geschichte ausbremst. Kurzum: so arbeitet er viel schneller.
Interessant war aber dann doch die Möglichkeit, welche Compiler und IDE’s es so gibt, die mit dem Q(uick)BASIC-Dialekt noch zurechtkommen und so ein Kompilat für ein aktuelles Mac OS, Linux oder Windows erstellen können. Hier bin ich mit QB64 fündig geworden. Es läuft auf allen diesen Plattformen, zuzüglich der Android-Plattform für Mobilgeräten.

Aber vielleicht werde ich mich dennoch mal hinsetzen und den Generator in einer aktuellen und populäreren Sprach wie zum Beispiel C, Erlang oder Python neu implementieren. Wobei letzteres nicht so toll performen wird, da Python eine Interpretersprache ist. Obwohl ich mir sicher bin, dass es da bereits Lösungen gibt.

Anbei hier der Sourcecode des Generator in QBASIC