This is a short revue of some of the teaching languages I have been impressed by. If you’re looking to cut your teeth on programming, these are all good choices, they all have easy step-by-step tutorials, they are all available for a variety of platforms including Mac, Windows, and Linux, and they are all free!
Logo is the Wise Old One of teaching languages. It is also the language that introduced so many of us to geometric concepts via its innovative use of turtle graphics. Here is a free Logo implementation for Mac OS X. Here is a Logo design gallery.
Squeak is an implementation of the venerable Smalltalk programming language— perhaps the first true object-oriented language. Here is the Squeak home page. An offshoot of the Squeak project is Squeak Etoys, which is a powerful and dynamic learning environment.
Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes. There is a gallery with thousands of art pieces and their source code.
Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. The Processing home page.
Wiring is an open source programming environment for exploring the electronic arts, tangible media, teaching and learning computer programming and prototyping with electronics. Wiring is based on Processing. The Wiring home page.
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. The Arduino programming language is based on Wiring. The Arduino home page.