Karel

Karel — учебный язык программирования, созданный в 1981 году Ричардом Паттисом в своей книге Karel The Robot: A Gentle Introduction to the Art of Programming. Паттис использовал этот язык на своих курсах в Стэнфордском университете. Язык назван в честь чешского писателя Карела Чапека, придумавшего слово «робот».

Karel
Класс языка язык программирования, процедурный язык программирования и учебный язык программирования
Появился в 1981[1]
Автор Richard E. Pattis[d][1]
Испытал влияние Паскаль, Карел Чапек[1] и робот[1]
Повлиял на Karel++, AgentSheets, Guido van Robot
 Медиафайлы на Викискладе

Принципы

Программа на языке Karel управляет простым роботом Карелом, который живет в клеточном мире, расчерченном сеткой из улиц — стриты (слева направо) и авеню (сверху вниз). Карел понимает пять базовых команд: move (робот перемещается на одну клетку вперед), turnLeft (робот поворачивает на 90° влево), putBeeper (робот кладет бипер — издающее сигналы устройство, пищалка — на текущую клетку), pickBeeper (робот подбирает пищалку с текущей клетки) и turnoff (робот выключает себя, программа завершается). Карел может выполнять логические запросы об окружающем мире: есть ли в текущей клетке пищалка, есть ли рядом с ним препятствия и в каком направлении он смотрит. Из пяти базовых команд программист может создавать составные инструкции, используя условные операторы if и while с запросами о мире и оператор iterate.

Варианты и потомки

Karel вдохновил несколько языков-клонов и похожих учебных языков программирования. Поскольку Karel предназначен для начинающих, которые могут не владеть английским, были созданы локализованные варианты с переведенными командами, в частности для чешского языка (Karel был довольно популярен в Чехословакии).

Идеи Karel-а были перенесены на объектно-ориентированное программирование в языке программирования под названием Karel++ . Karel++ концептуально основан на Karel-е, но использует совершенно другой синтаксис, аналогичный Java.

На языке REALbasic был создан образовательный проект rbKarel,[2] в котором пользователь пишет команды в среде RBScript, для реализации циклов и условных выражений используется синтаксис BASIC. Для экспериментов с Карелом предоставляется кроссплатформенный графический интерфейс, а так же пошаговый и речевой вывод.

В языке и среде, вдохновленной Karel-ом, под названием «Робот Эмиль»[3] используется трехмерный мир. Робот Эмиль предлагает большой набор объектов: стены, окна, вода, трава. Камеру можно свободно перемещать по трехмерному миру. Роботом можно управлять в интерактивном режиме с помощью кнопок в графическом интерфейсе пользователя или программно, на Karel-подобном языке программирования Эмиль. Программа бесплатна для школ, студентов и детей. Доступны версии на английском, чешском и словацком языках.

Проприетарный язык, который также называется Karel, используется для программирования роботов компании FANUC Robotics. Однако синтаксис FANUC Karel происходит из языка Паскаль.

Образовательная платформа CodeHS реализовала Karel в проекте «Пес Карел» на JavaScript. Так же как в оригинальном Karel-е, здесь представлен клеточный мир. Для решения задач по программированию пользователи используют и дополняют простой набор команд. Вместо пищалок пес Карел кладет и подбирает теннисные мячики.

См. также

  • RoboMind
  • RUR-PLE — среда для изучения Python, основанная на идеях Karel-а.
  • CodeHS — вводный курс по информатике с использованием Karel-а в JavaScript

Примечания

  1. Karel (programming language) // (unspecified title)
  2. Google Code Archive - Long-term storage for Google Code Project Hosting
  3. Архивированная копия (недоступная ссылка). Дата обращения: 15 сентября 2020. Архивировано 2 ноября 2010 года.

Дополнительная литература

  • 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.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.