Karel (programming language)

From Wikipedia, the free encyclopedia

Karel the Robot
Paradigm: object-oriented
Appeared in: 1981
Designed by: Richard E. Pattis
Dialects: Some localized language variants
Influenced by: Pascal
Influenced: Karel++

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 at Stanford University. The language is named after Karel Čapek, a Czech writer who introduced the word robot.

Contents

[edit] 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 defining them in terms of those five basic, and using control flow statements if, while, iterate.

[edit] Example

The following is a simple example of Karel syntax.

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

[edit] Variants and descendants

The language has inspired the development of various clones and similar educational languages. As the language is intended for beginners and children, localized variants exist in some languages, notably Czech (the programming language was quite popular in Czechoslovakia). The Slovak version, called Robot Karol++, contains further enhancements and it has been itself translated to English and Czech.

A direct Spanish translation of Karel is used as half the credit needed for selection into the Olimpiads in Informatics in Mexico.

The principles of Karel were updated to the object-oriented programming paradigm in a new programming language called Karel++. Karel++ is conceptually based on Karel, but uses a completely new syntax, similar to Java.

A language called Karel is a proprietary language used to program the robots of FANUC Robotics. However, FANUC Karel is derived from the Pascal programming language.

[edit] References

  • Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0-471-59725-2.
  • 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 0-471-13809-6.

[edit] External links

In other languages