David Brin has written an article at Salon titled Why Johny can't code. The basic premise is that it has become very difficult for the younger generation to pick up computing, as simple and straight forward environments of yesteryears are gone. As an example given by David, it was much easier to do between late 60's and early 80's when machines were 4-bit and BASIC was on the ROM of pretty much every home-brew computer.
I have myself started off with BASIC programming. I used to code simple drawing programs and "MS DOS emulators" on a Russian-made 8080 clone (it was called KUVT "Corvette"). Indeed, it was so much easier to pick up a very straight-forward no-nonsense BASIC approach to program writing. If you wanted to, you could be very structured about it too -- splitting your program into proper subroutines and not abusing the GOTO.
In the comments and replies that follow the article, opinions have essentially been divided between:
- But you can use Python for that (despite the fact that David does mention what he does not like about Perl, Python, other scripting languages)
- Why, you should have started from buying an old machine
I whole-heartedly agree with many that are saying that BASIC is actually a very bad tool to teach kids too. But I fail to find any other language that has so many things under a single roof, without the need to call up a host of modules/libraries/etc. -- and at the same time simple enough that a 12-14 year old does not need to have advanced math degree to see through it.
It was so easy to code something along the lines of: 10 ON KEY GOSUB 1000 to handle keyboard interruptions and 100 LINE (10,10)-(100,100): CIRCLE (50,50,50) to draw a line and a circle -- how much more typing would that require in Python? Tcl? Perl? Ruby? In all four you would at least need some graphics libraries imported (like Tk) before you can even start accessing the screen.
On the other hand, looking back now at the number of the crappy VB apps I can't help but think that part of the reason they are in such abundance is exactly because of BASIC being so easy, so forgiving.
Thus, I do not agree with David when he says that maybe Microsoft should include a simple version of BASIC with Windows. I do agree with him that kids may indeed need a comparably simple tool to apply their potential computer skills to a test -- but I would love for that not be BASIC...
Technorati Tags: Programming