Karel (programming language)
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.