A week ago Alec Muffett posed a question as to what the best beginners’ programming language would be on his blog. He suggested that BASIC was a no-hoper as there are no good, freely distributable BASIC languages available, especially if you want a full procedural form.
Well, I think I’ve just found a possible answer to that problem. Admittedly, it’s a bit more than a pure language, it’s more of an interpreter running under a virtual machine. It’s freely distributable source, or at least the virtual machine is.
So, what is this wonderful thing?
It’s the UQLX Sinclair QL emulator which includes the excellent Sinclair SuperBASIC interpreter. Not only this but it’s been extended to add TCP/IP support, direct access to the UNIX filesystem and displayless scripting. And, of course, people can always download and run QL software or use it as a Motorola 680×0 development system with a downloaded assembler.
I freely admit that this is not at all an object oriented programming language which Alec thinks people should start with. Then again, OOP programming languages aren’t the most appropriate language type for all things, especially if you’re prototyping certain scientific problems where program structure is less important than the thought process when developing a technique. (However, it seems like a GoodIdea™ for big programming projects and those where structure is very important.)
I would be interested in any comments people might have with my opinions, be it with UQLX or programming languages in general.