카렐 (프로그래밍 언어)

카렐(Karel)은 리처드 E. 패티스가 자신의 책 Karel The Robot: A Gentle Introduction to the Art of Programming에서 만든, 초보자들을 위한 교육용 프로그래밍 언어이다. 패티스는 이 언어를 캘리포니아주 스탠퍼드 대학교의 자신의 수업에 사용하였다. 이 언어는 로봇(robot)이라는 단어를 선보인 체코의 작가 카렐 차페크의 이름을 따서 만들어진 것이다.

원리 
카렐로 만들어진 프로그램은 카렐(Karel)이라는 이름의 단순 로봇을 통제하기 위해 사용된다. 카렐은 5가지 기본 명령을 이해한다: move, turnLeft, putBeeper, pickBeeper, turnoff. 카렐은 자신의 환경에 관한 불리언 쿼리를 수행할 수도 있는데, 이를테면 자신이 서 있는 곳에 비퍼(beeper)가 있는지, 자신의 옆에 장애물이 있는지, 그가 마주하고 있는 방향은 어디인지를 알 수 있다. 5가지 명령으로 정의함으로써 프로그래머는 명령어를 정의하고 조건 제어 흐름문(if, while)과 iterate 구조체를 사용하여 추가적으로 작성할 수 있다.

같이 보기 
 RUR-PLE
 CodeHS

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

외부 링크 
 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)

교육용 프로그래밍 언어
절차적 프로그래밍 언어