Qb.js: An implementation of QBASIC in Javascript (part 1)
stevehanov.ca
stevehanov.ca
Now, I'm not proposing that kids should be learning QBASIC, but with all of the technology we have these days, why can't a kid browse to a website and get an environment in which they can experiment and create something, with the instantaneous feedback that I appreciated when I was getting started? I know there's been some talk of things like this in the past, but has anything come of it? If not, what were the problems that were faced?
I'd love for my (not yet existent) kids to be able to open up a browser and be able to start writing code. I'd love for them to have fun doing it, the way I did when I was young.
Why not? I think BASIC is a fairly good first language. I'd bet quite a few of our generation started out using basica,gwbasic, or one of the home computer basics.
This is something I'm going to have to think more about; if nothing else, this interests me from a programming language design angle. If I can create a language that's easy for kids to pick up while being useful outside of education, that'd be pretty damn neat.
Those flaws give you something to strive to improve, and gives you reason to seek out other tools. The flaws only start getting obvious when you start doing more advanced stuff, which is exactly how you want a beginners language to be.
For example I started with basic, and found it ridiculously slow for graphics, so learnt assembly and how to make qb libraries with tasm. Then I just started writing programs in asm without the need for basic. I also noted than in QB programs you could make the code run slower by adding empty lines to the source code, thought 'woah thats lame' and decided I'd probably not use basic much more.
There's always jarrings when you start to learn other languages - "wtf are all those semicolons at the end of every line? etc", but that's also a good skill to learn - being able to cope with new things that look odd at first sight.
The other point is that there are massive amounts of existing basic code around, and resources. That counts for a lot.
Don't get me wrong, I wouldn't use basic for anything now, but for teaching kids I think it's more than good enough.
Btw there is a ready-to-use language in modern (Windows) systems too: VBScript. Just create a new file in Notepad, use the .vbs extension, save it, double click on it and you're set :-). About four years ago I wrote an article on a Greek magazine about introduction to programming and used VBScript for the concepts (i mostly wrote about the general idea of programming, but i needed something people could actually use and see in their computers). A few days ago someone told me that he got interested into programming by reading this article and after messing a bit with VBScript, he went to learn Pascal and C :-).
But i think VBScript's syntax is easier on the untrained eye :-).
Quickbasic made sense back in the day where you had limited graphical and sound power. When you booted a computer and you got a basic command prompt. When you learned the basics of computers and programming by typing in programs from magazines.
Basic does not make sense in today's world. It is complicated unnecessarily and it doesn't have some of the advantages that more modern languages like Ruby and Python have. It doesn't have the library support that these languages have that allow you to easily do things like build web pages, simple media players, and other such things with ease.
Once she has done that she will slowly expand learning more and more. Quickbasic doesn't have that ability it doesn't have the libraries to allow an easy start.
This is beyond the fact that the language itself makes it difficult to things that are simple in other languages.