Education Team/Learning Programming

< Education Team
Revision as of 14:10, 28 July 2011 by Mokurai (talk | contribs) (New stub)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This article is a stub. You can help Sugar Labs by expanding it.

We have a number of programming language resources available on XOs.

  • XOs have Perl installed, but not as part of Sugar.
  • OLPC XOs use Open Firmware, written in OLPC:FORTH and accessible at boot time.

Other languages available as Free Software can run in Terminal, including UCBLogo, [[OLPC:APL and J|J (Ken Iverson's last version of APL) and gforth.

Tony Forster and Mokurai have been writing and programming tutorials on Turtle Art, including linking TA to Python and generating and running Logo code. Mokurai intends to write tutorials on transitioning from TA to Python, Logo, Etoys/Smalltalk, J, and FORTH. He is of the opinion that you don't understand programming if you do not know how to use at least three or four of these different approaches, so that you can select the right tool for the job. Otherwise you are like the proverbial person whose only tool is a hammer, to whom everything looks like a nail. Or conversely, the person who only pounds nails all day long, to whom everything looks like a hammer. He also believes that you don't understand Computer Science if you don't understand how these languages are implemented.

You can certainly write code if you know only one language, but you can't understand what you are doing, like the legendary COBOL programmer who claimed 20 years experience on his resumé, but turned out to have two years experience repeated 10 times over.

"You don't understand anything until you learn it more than one way."—Marvin Minsky, quoted in Rebecca Herold, "Managing an Information Security and Privacy Awareness and Training Program" (2005), 101.

The standard English word for a person who speaks more than one language is "polyglot". The standard English word for a person who speaks only one language is "American".—Anonymous