I've long been telling people that I pity the future generations who will be using computers with operating systems written by people who have never used a compiler without a GUI.
There's been a loss of focus over the last ten years, and I think it's going to take a while for the consequences to take shape.
I entirely agree, which is why I wrote the Initial Programming Language which runs on Windows. http://www.isassociates.co.uk/IPL/Index.htm this is not free, but a google search would uncover other options that are.
Ian Smith
18 September 2006
Dear Mr. Brin and readers,
I sympathize tremendously with your article about bringing back
BASIC for young people to use on modern machines. I am sure it will
be straightforward as you suggest for Microsoft, Apple, and the
others to provide us with BASIC language facilities on our machines
and that it would be a huge benefit for many of our young people.
Absent that alternative for the short term, I do offer some solutions.
Specifically, I have written a book (with co-author Dietolf
Ramm) called "Great Ideas in
Computer Science" (The MIT Press) which shows beginners how to get started in
computing. It features an introduction to Java with just a few
constructs and young coders can learn them and use them. I felt
that making programs callable from the web would quadruply add
to the fun and so everything is coded in applets. When you run
a program, you enter via the web and the applet interpreter comes
up on the screen. You have buttons which activate your program
features and you can do computations or draw pictures. My assistants
decided to streamline some features and wrote code to implement
some easy input-output capabilities. That code is down loadable from my website at www.cs.duke.edu/~awb.
I have a grandchild coming along and when she hits maybe age 6 or 7,
I will show her the features in our chapter 5 on graphics. It is
pretty easy to write code to put a rectangle or circle or line or
text string on the screen in any color you can imagine. The item you want will come up at the given coordinates and at a push of
the right button (which you have labelled properly). So she will be
able to draw pictures on the screen in early grammar school. From
there, I will show her looping and conditional facilities so she
can draw many squares or circles. And subroutines are easy after that.
Then it should be straightforward to introduce numbers and numerical
computation. We have taught the foundations of computer science to
thousands of college students and I feel that a modification of our
approach will work for younger people.
In your letter, you talk also about the other levels of knowledge
that go with computing: machine architecture, assembly language,
operating systems, networking, and so forth. These are covered in
the later chapters of our book. We end with several chapters on
the limitations of computing: execution time of programs, noncomputability, and programability. So my sympathies with your
points are strong and I have worked very hard to address the
problems.
I will close with an antecdote about my son who turned 14
in the early 1990s and I had a path for him to
follow. He had a passion for computer games and his unfeeling dad
would give him few opportunities to play them. We had been, for
years, walking past the darkened room at the shopping center where colored lights were flashing and bells were ringing with
my son leaning longingly in that direction. I had little sympathy.
But at some point, he asked for his own computer and I decided to
buy him a book on how to assemble your own 486. Then I took him
to the local computer store and agreed to buy any parts that he
needed. The computer store folks were glad to help out and he spent
a few Saturday mornings there screwing the thing together, plugging
in boards, and bringing up the Microsoft operating system. Then
he obtained some cool computer games and he played them until the
keyboard was nearly worn out. In his high school, he had some introduction to programming and he was on his way. Ever after and
wherever he has gone he has been the local guru who can fix your
machine if it does not work and get whatever computation done that
needs it.
So there are many routes to computer competency and I
suggest two here. But I also agree that we should bring back BASIC!!!
Thank you for your thoughtful article,
Alan Biermann
Professor Emeritus
Department of Computer Science
Duke University
Every version of MS-DOS (and PC-DOS) and Windows comes with DEBUG.COM, which can be used to create small .COM programs by entering 8086 assembler mnemonics one machine command at a time. If you want to get close to the hardware, DEBUG.COM gets you closer than BASIC.
If you just want to check algorithms, all PCs that come/came with Internet Explorer 5.x or later have Windows Script Host, and therefore VBScript. VBScript doesn't use line numbers, but line numbers are NOT one of BASIC's best features, nor are they essential to learning how to program. [Thank God the engineers who sent men to the moon and back didn't weren't screwed up by learning BASIC. And imagine that - you can send men to the moon and back and, come to think of it, build bridges, skyscrapers, telephone networks, even pyramids without having learned BASIC.]
In truth, the first language I learned was BASIC, but I switched to something else (C and APL at the same time, for different types of programs) as soon as I could. BASIC in its line number dialects encouranges if not enforces bad programming practices. If your son has textbooks with line-numbered BASIC code, those textbooks *are* outdated.
If you want to get close to the hardware, use assembler. If you want to appreciate the math without juggling registers or memory buffers on your own (a decidedly nonmathematical task), there are better languages than BASIC. Claims that BASIC is part of the cultural heritage are romantic Ludditism.
Much of the initial coverage about Fort Hood turned out to be wrong. Is there anything wrong with that?
The accountability imposed by another country for the CIA's kidnapping and torture reveals much about our own.
Fox News' morning show plays to type, talking about whether Muslims in the Army should face "special debriefings"
The Maine fight was supposed to be the dress rehearsal for repealing California's Prop. 8 -- but gay marriage lost
Once one obtains Seriousness credentials in the Washington media, they are irrevocable no matter one's conduct.
Salon headlines in your mailbox