The other day, while visiting the new Editions de l’Océan Indien bookstore (appropriately called The Bookstore) in Rose-Hill, I discovered its basement containing lots of old books at very cheap prices.
I bought 5-6 books at Rs. 10 each among which Logo for Beginners by J.W. Penfold.
As you can guess by the name of the book, it talks of the Logo programming language, developed by Seymour Papert to teach programming to students.
To be frank, I did not have a very positive opinion of Logo prior to reading that book. It’s only when I came across page 3 that I realized that Logo was something special:
“LOGO derives from a family of languages known as ‘list processing’ languages, and these are the languages of so-called artificial intelligence”
What??? LOGO is a derivative of LISP!?! I couldn’t believe it. As you have gathered by now, I am very very fond of LISP and its children: Scheme, Haskell, Erlang and Ruby.
Programming in Logo
Logo, when used to teach programming, is very straightforward. For instance, this is the body of a procedure, called square, which draws a square:
repeat 4 [forward 100 right 90]
The following code then draws the figure that you can see above:
repeat 72 [square right 5]
It’s not complicated and, arguably, can really teach the basic concepts of computation very easily. No wonder lots of schools (especially in the UK) still use Logo.
Of course, Logo being a LISP derivative, can be used to solve very complex problems. It has higher-order functions for instance and this opens the world of map and reduce (and even Google).
Where to get Logo?
There are many free implementations of Logo. The “standard” seems to be UCBLogo also known as Berkeley Logo which works on lots of different platforms (Linux and Windows for example). I did not use that one.
Instead I found ACSLogo which is a fantastic Logo implementation for Mac OS X. It’s so good that it even won a Mac OS X Innovators Contest award in 2003!
Final thoughts
Try Logo. I think you’ll be impressed. And, in case you come across that Rs. 10 book, buy it. Rs. 10 is so little to pay to access such a wonderful world…
Anascrash04 says
Nice find even though am still reading the LISP wiki link lol
and btw seems a nice mac ;)
i didnt knw we could get books at 10rs o.O
avinash says
Aha! So you are becoming a LISP convert. That’s good :-)
If you like books, I’m sure you’ll find something in the basement of Le Bookstore. I even found The Hitchhiker’s Guide to the Galaxy there! I got it for less than Rs. 50.
Jordi says
An old teacher of mine used Logo to teach programming in high school. He claimed that it was really great how it produced graphical programs, since it seemed to motivate students that much more.
However, I think he switched to Python last year…
avinash says
Logo is interesting because (i) it is graphical and (ii) it is a declarative programming language.
Python and Ruby have nice syntaxes but unfortunately do not come with an IDE as easy to use as Logo.
As a matter of fact, a Logo-like IDE and Ruby as the programming language would be a perfect environment to learn programming.
Anyone knows if such a beauty already exists?
Hensley Bass says
You might also be interested with the following implementations of logo:
aUCBLogo
Elica (great 3d graphics)
FMSLogo (Formerly MSWLogo)
MicroWorlds
Logo is disregarded in Mauritius as it’s the case with the Basic language. IMHO these are the languages to be taught to kids to get them interested with programming at an early age.
avinash says
Exactly.
Like I said above, it would be great if we could have an IDE as powerful as Logo but with Ruby as the PL…
Shah says
Hello. Since you love LOGO, I’ve something for you. Well, it’s not LOGO but javascript. It’s Aza’s Algorithmic Ink. I’m using it to make fractals. I thought of your post then.
URL: http://azarask.in/projects/algorithm-ink/
Note: It’s open source.
Have fun :)
avinash says
Thanks for the link, Shah. I’ll have a look.