A friend of mine passed me this link:
http://www.salon.com/tech/feature/2006/09/14/basic/index_np.htmlUnfortunately, you need to pay to read it. But I'll give a quick summary:
This dude has a son. In the kid's math text books, there are chapter conclusions that always say "Try It Yourself In BASIC". Then lists a quickie BASIC program that runs the algorithm that the chapter was about. The problem that author has encountered is that modern operating systems do not support BASIC. And he finds it unacceptable to have to download a BASIC interpretter. He is unsatisfied with the many responses of "BASIC is obsolete" (His exact quote is:"Get past all the rationalizations. (Because that is what they are.) "). And he is also unsatisfied with the response of "Go download a BASIC interpretter".
Well, Mr. David Brin. You have made many an assumption that is false.
First, your main premise is that all early computers were BASIC ready. This is wholly incorrect. To be specific, original IBM's (running MS-DOS) required the user to load q-basic to enter any BASIC code. Q-basic is still readily available. You even listed it as one of the interpretters that you were unwilling to download. Original IBM's running OS/2 did not have ANY BASIC interpretter. Yes, Apple II's and Commodores did have built in BASIC interpretters at the command line. The original Mac had nothing.
Second, I'm going to display how snotty I am. You frequently refer to modern programmers using "higher-level languages" than BASIC these days. This statement is (generally) incorrect. When referring to scripting languages such as Flash, HTML, or JavaScript, you are referring to languages that are on the same level as BASIC. When referring to languages such as Java, C, C++, you are getting the expression wrong. Those languages are considered lower-level languages. It is an industry term. The closer to the OS, the lower level the language. BASIC is a very high level language. I make this correction to imply that you may not know exactly what you are talking about.
Third, you want your child to learn abuot computers the same way you did. This doesn't make any sense. Mainly, because you are not a programmer! Why do you think you are qualified to say that your way of learning was the best way of learning? Next, computers are different animals now. There is a reason that Commodore's and Apple II's are no longer the dominant standards in home computing! Their systems were not robust. They were not user friendly. And they are not comparable to modern systems.
You want the answer to your problem to have stayed the same since you first learned it. You don't think its the text books that are the problem...Even though that type of entry in a text book didn't exist in your day (or my day). Really, by the time they started including that in text books, BASIC was already obsolete!
And BASIC still is obsolete. BASIC teaches in-line logic. With regards to programming, in-line logic actually teaches BAD programming habits.
And what you are finally missing is that there is a language that is readily available on nearly every modern home computer. This system does not require ANY additional setup. JavaScript will solve your problem. JavaScript can be run on Mac's, PC's, and any Linux box running a GUI. JavaScript is easy. JavaScript supports all those functions that BASIC supported. JavaScript does not require any compilations. And if you complain about having to initialize your web page properly, you're missing the point.
And, perhaps even more importantly, JavaScript is viewed through a web browser. It is this connection between code and online experience that needs to be taught. People are running around using browsers for all of their computing time, and they don't have a clue what goes on behind the scenes. Kids play online, and don't consider how the online experience is developed.
JavaScript is a great introduction to modern programming and computing. Why would you want to introduce your kid to obsolete programming and computing?
If you think this is "all rationalizing", then you have your goals aligned incorrectly. If you want something to help teach your kid about math using a computer, then go buy a math tutorial program. If you want to teach your kid about programing, then unplug the internet connection and make him/her start writing "hello World" programs using JavaScript and HTML from a local file. If you want the two to be combined, then show him/her how to perform math functions using JavaScript.
What's that? You don't know JavaScript? Well, I guess that's my fucking point...