Karel (programming language)
Karel the Robot | |
---|---|
![]() | |
Paradigm | procedural |
Designed by | Richard E. Pattis |
First appeared | 1981 |
Website | xkarel |
Dialects | |
Some localized language variants | |
Influenced by | |
Pascal | |
Influenced | |
Karel++, AgentSheets, Guido van Robot |
Karel is an educational programming language for 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, California. The language is named after Karel Čapek, a Czech writer who introduced the word robot.
Principles
A program in Karel is used to control a simple robot named Karel that lives in an environment consisting of a 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). Karel can also perform boolean queries about his immediate environment, asking whether there is a beeper where he is standing, whether there are barriers next to him, and about the direction he is facing. A programmer can create additional instructions by defining them in terms of the five basic instructions, and by using conditional control flow statements if
and while
with environment queries, and by using the iterate
construct.
pusy
See also
- Educational programming language
- RoboMind - An attractive, educational alternative programming environment
- RUR-PLE - another "learn Python" tool based on ideas in Karel
- CodeHS - introductory computer science education using Karel in JavaScript
Further reading
- 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.
References
External links
- xKarel by R. Dostal and P. Abrahamczik (created 1997)
- Karel by T. Mitchell (created 2000)
- Karel in tiny-c by Lee Bradley (created 2013)
- Karel for iPad by CloudMakers (created 2014)
- Karel in JavaScript by CodeHS
- Karel in Perl 5 by E. Choroba (created 2016)
- Karel-3D in JavaScript and C++ (sk) (en) (de) (es) (created 2017, 2018)