Fun article! I've gotta give this a try myself.<p>On a related note (of using BASIC where it doesn't belong), I hacked together a method to convert BASIC code to WebAssembly using BaCon[0], a BASIC-to-C converter, and Emscripten to take the resulting C output and generate some wasm.[1] Much like the linked article, this is a fun diversion to entertain the idea of using BASIC where the language authors couldn't possibly have imagined it. Perhaps I'll get around to actually making a "real" project out of it sometime...<p>[0]: <a href="http://www.basic-converter.org/" rel="nofollow">http://www.basic-converter.org/</a><p>[1]: <a href="https://github.com/matthewwiese/basic-to-c-wasm-example" rel="nofollow">https://github.com/matthewwiese/basic-to-c-wasm-example</a>
It’s slow. All those layers of abstraction exact their toll on latency, even on today’s monster systems.<p>Reading the essay, my heart goes out to the author: he missed all those wonderful years in the ‘80’s and the early ‘90’s cracking protections, swapping, coding intros, watching demos and competing on the Commodore64, Commodore Amiga and the ATARI ST. He missed out on all the wonderful memories and all the action. I’m saddened by it. He started out on an obscure platform and then switched immediately to a drab, boring, soulless PC bucket, never to experience the joy of the Scene.<p>For me writing software in BASIC under MS-DOS and later on Windows®️ was an afterthought, since I had already been proficient in MC68000 and MOS 6502 intro coding on Amiga and Commodore64. It was easy to do since I stumbled upon the complete, official reference manual on BASIC 3.0 from Microsoft and I already knew BASIC from learning it on the Commodore PLUS/4. The only piece of software I wrote was an ASCII survey points file to DXF converter which I then ported to VisualBASIC 2.0, and that because I also had the full AutoCAD book set which included full DXF format specification. It cut down our work from several hours to a few seconds, but BASIC on the PC had always been an afterthought for me, something I knew but never used much, or something to whip up a quick utility in and run it from a batch file wrapper.
Thanks for this fun article :)
I noticed your serverless function response time is between 2000 to 3000ms, I wonder why and it would be super interesting to have more details about time taken by each step of the process (python proxy / dosbox / qbasic / openwhisk)<p>Point of comparison, nodejs function executed on AWS Lambda:
<a href="https://00demo-32387b.appdrag.com/api/Morse?txt=SOS-Test" rel="nofollow">https://00demo-32387b.appdrag.com/api/Morse?txt=SOS-Test</a>
> While Microsoft did have a compiler for the language, I couldn’t easily find a version of it online.<p>I have archived the QuickBASIC 4.5 compiler here: <a href="https://github.com/susam/dosage/tree/master/langs/qb45" rel="nofollow">https://github.com/susam/dosage/tree/master/langs/qb45</a><p>The above archive is obtained from here: <a href="https://www.qbasic.net/en/qbasic-downloads/compiler/qbasic-compiler.htm" rel="nofollow">https://www.qbasic.net/en/qbasic-downloads/compiler/qbasic-c...</a>
This is very cool. I've often wished I could return to my roots of simply programming, and not being a server admin and dba. Am I the only who wishes we could deploy things like BASIC applications to a runtime in the cloud and be done with all these layers of abstraction and incidental complexity?
The suggestion to "use SYSTEM instead of END" is suspicious.<p>SYSTEM spawns the system shell as a sub-process. If one would EXIT from the spawned command.com/cmd.exe, QBASIC would pop up back. I think a user of programs written in this way would find themselves surprised.