Jump to content

Karel (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mormegil (talk | contribs) at 16:00, 26 January 2005 (somewhat stubby article about Karel). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Karel is an educational programming language for absolute beginners, created by Richard E. Pattis in his book Karel The Robot: A Gentle Introduction to the Art of Programming. Pattis used the language in his courses on Stanford University. The language is named after Karel Capek, a Czech writer who invented the word robot.

Principles

A program in Karel is used to control a simple robot (named Karel, of course) that lives in a city consisting of a rectangular grid of streets (left-right) and avenues (up-down). Karel understands five basic instructions: move (Karel moves by one square in the direction he is facing), turnleft (Karel turns 90 ° left), putbeeper (Karel puts a beeper on the square he is standing at), pickbeeper (Karel lifts a beeper off the square he is standing at), and turnoff (Karel switches himself off, the program ends). A programmer can create additional instructions by definining them in terms of those five basic, and using control flow statements if, while, iterate.

Example

As an example of Karel syntax, look at the following simple example:

BEGINNING-OF-PROGRAM
 
 DEFINE turnright AS
 BEGIN
   turnleft
   turnleft
   turnleft
 END
 
 BEGINNING-OF-EXECUTION
   ITERATE 3 TIMES
     turnright
 
   turnoff
 END-OF-EXECUTION
 
END-OF-PROGRAM

Karel++

The principles of Karel were updated to the object-oriented programming paradigm in a new programming language called Karel++. Karel++ is syntactically similar to Java.

Reference

  • Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0471597252.
  • Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis. Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. John Wiley & Sons, 1996. ISBN 0471138096.