4 ms·
Just chiming in with my experience in terms of Basic. I started with TRS-80 Coco 2 basic (Microsoft), then Amstrad CPC-464 (Microsoft), then Amiga (AMOS), then
by appstorelottery 6y ago
Just chiming in with my experience in terms of Basic.
I started with TRS-80 Coco 2 basic (Microsoft), then Amstrad CPC-464 (Microsoft), then Amiga (AMOS), then to PC with QBX 7.1, finally ended up in Visual Basic 1.0 - then all the way to VB end of life. Then Realbasic on the Mac.
My major friction with basic was OS integration. The Amstrad had "call", "peek" and "poke" which allowed you to call Z80 assembly, read and write to memory respectively. Ever since the amstrad doing anything outside of the interpreter which required OS calls or the like was extremely painful - mostly because of the lack of compatible types (byte, word and so-on). Making a call, passing parameters, and getting data back was always a nightmare that required a C wrapper or assembly work-around. It was a black art for the basic programmer. Back in the day I felt like an imposter; compiling my basic applications, statically linking libraries in the link and compressing and obfuscating... purely to hide my lack of skill... I was an imposter ;-)
Both QBX and VB had a healthy third-party library market, and I recall licensing some great QBX libraries for SVGA support back in the day (I was making through-the-window display systems with a capacitive switch I designed). VB was a little better, I recall relying on IP-Works for projects that required TCP/IP support. DLL distribution could be a pain if not handled right. Realbasic had MonkeyBread software's libraries for OS level integration.
So... hopefully I've established some credentials for being a Basic-head back in the day ;-) Which leads me to a recent experience with Basic that absolutely blew my mind and made me rethink my entire position as an old basic programmer.
Back in the day it was pure shame for me to be a basic programmer. It was slow, interpreted, and anyone in the Amiga community that was leet in any way could code in 68000 and basic programmers were lamers. It was the same all the way back and I've always felt like I was a second citizen back in the day... not only from my leet peers, but also from the OS vendors that treated basic programmers in the same way (BTW I'm over all that lamer stuff these days, I learned assembly for the TRS-80 and wrote a game over covid... my 10 year old self was vindicated!)...
But back to the main point... BBC BASIC! Over covid I got into RiskOS (always wanted an Acorn Archimedes) and played with BBC Basic. OMG! You can do ANYTHING at an OS level with this language, total first party support for all OS api's. Although these days I can program as a generalist in C and the rest; I can't help thinking that RiskOS and the BBC micro did it absolutely right in terms of the basic language. And perhaps this is why basic wasn't really taken seriously was everything to do with Microsoft... why wasn't basic given the same 1st party treatment as it is on RiscOS?
Apologies if my post seems a bit confusing - just a bit of catharsis on a Sunday morning :-) Interested to hear about other peoples opinions... I'm playing with the idea of a basic to Erlang translator... old habits die hard :-)
- anotherfish 6y agoBBC micros were kind of special from all reports - I never used one. Apparently they had the ability to have an auxiliary processor added, RAM expansion etc etc. By all accounts they were well made and powerful. BBC Basic had all the goodies for graphics and sound. Anyone up to make a version that compiles to C like this CBMBASIC project?