- Karel (programming language)
Infobox programming language
name = Karel the Robot
paradigm = object-oriented
year = 1981
designer = Richard E. Pattis
developer =
latest release version =
latest release date =
typing =
implementations =
dialects = Some localized language variants
influenced_by = Pascal
influenced =Karel++ Karel is an
educational programming language for absolute beginners, created byRichard E. Pattis in his book "Karel The Robot: A Gentle Introduction to the Art of Programming". Pattis used the language in his courses atStanford University . The language is named afterKarel Čapek , a Czech writer who introduced 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), andturnoff
(Karel switches himself off, the program ends). A programmer can create additional instructions by defining them in terms of those five basic, and usingcontrol flow statementsif
,while
,iterate
.Example
The following is a simple example of Karel syntax (a ";" indicates that another instruction follows). BEGINNING-OF-PROGRAM DEFINE turnright AS BEGIN turnleft; turnleft; turnleft END BEGINNING-OF-EXECUTION ITERATE 3 TIMES turnright; move; turnoff END-OF-EXECUTION END-OF-PROGRAM
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, German and Czech.A direct Spanish translation of Karel is used as half the credit needed for selection into the [http://www.olimpiadadeinformatica.org.mx Mexican Olympiad in Informatics] .
The principles of Karel were updated to the
object-oriented programming paradigm in a new programming language calledKarel++ . 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 thePascal programming language .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.See also
Karel++ - object oriented Karel environmentLogo programming language - another educational programming environmentGuido van Robot - A tool based on Karel the Robot for learning PythonExternal links
* [http://mormegil.wz.cz/prog/karel/prog_doc.htm Karel syntax]
* [http://csis.pace.edu/~bergin/karel.html Karel++]
* [http://xkarel.sourceforge.net/ xKarel]
Wikimedia Foundation. 2010.