Learning to Write Software

Every once in a while I get a note from someone asking whether Java is a good language to introduce a young person to programming. This depends on the age and talents of the person. In general I would not recommend Java for anyone younger than high school age.

There has been a vast amount of hype surrounding Java, largely driving by the Sun Microsystems marketing machine. Along with "Java changes everything" has been the line that Java is a simple, easy to learn programming language. Of course this begs the question: simple compared to what? Java is simple compared to C++ and should be easy to learn for any experienced C++ programmer. It should not be too much of a stretch for someone who knows C.

The truth is, Java is a large complex programming language. It is considerably larger than Dartmouth Basic, Fortran 77 or C. The design of the Java language reflects one view of object oriented software construction. The ideas behind Java and object oriented software construction are not simple. They have taken me years to master. Learning Java is a big task for someone who has never programmed before.


For elementary school students I recommend Logo. Logo is an interactive, highly graphical language. It was designed by Seymour Papert at MIT for teaching programming to elementary school students and has been in use for many years, world wide.

I've been somewhat surprised at how difficult it is to find a simple to install Logo system. Many of the packages look like they are aimed at teachers who are willing to invest some time in setting them up, rather than home users. There are also a variety of open source versions of Logo, but these take software expertise and a development system to set up. Here are a few pointers that I've found. This is by no means a complete list.

It's easy for kids (or anyone learning to program) to become frustrated, so my choice would be to spend a bit of money for Logo software that is easy to use and that the young person will have quick success with.

Microsoft Visual Basic

While I'm a heavy user of Microsoft's Visual C++, I have not used Visual Basic. The Visual C++ GUI builder is excellent and from what I've read, the Visual Basic GUI builder is even better. This makes Visual Basic a good way to implement GUI applications of simple to moderate complexity. However, Visual Basic is more complicated than Logo and is probably appropriate for High School students. There is a "standard" edition which is cheaper than the "professional" edition. The "standard" or "learning" edition should be fine for most students. At the time this web page was written it could be ordered on-line from Microsoft for $109.00. Go to www.microsoft.com and enter "Visual Basic" in the search box. It may be possible to get this software cheaper elsewhere, so look around.

Borland Delphi

Pascal is a programming language that was designed in the mid-1970s for teaching programming by Niklaus Wirth, at ETH in Zurich. Pascal and similar languages (Modula-2) were also popular for a decade or so for professional software development.

Borland's Delphi development environment is based on Pascal and, like Visual Basic, supports an environment for rapid development of GUI applications. The "personal" edition is available free for non-commercial use (which should be fine for a student) and can be downloaded from the web. Delphi is only available for Windows platforms. Like Visual Basic, Delphi is probably appropriate for the High School level student.

back to the bearcave.com Java Web pages