Karel (langage de programmation) - Karel (programming language)
Paradigme | de procédure |
---|---|
Conçu par | Richard E. Pattis |
Première apparition | 1981 |
Dialectes | |
Quelques variantes linguistiques localisées | |
Influencé par | |
Pascal | |
Influencé | |
Karel++, AgentSheets , Guido van Robot |
Karel est un langage de programmation éducatif pour débutants, créé par Richard E. Pattis dans son livre Karel The Robot: A Gentle Introduction to the Art of Programming . Pattis a utilisé la langue dans ses cours à l'Université de Stanford , en Californie . La langue porte le nom de Karel Čapek , un écrivain tchèque qui a introduit le mot robot dans sa pièce RUR
Des principes
Un programme dans Karel est utilisé pour contrôler un simple robot nommé Karel qui vit dans un environnement composé d'une grille de rues (gauche-droite) et d'avenues (haut-bas). Karel comprend cinq instructions de base : move
(Karel se déplace d'une case dans la direction à laquelle il fait face), turnLeft
(Karel tourne de 90 ° vers la gauche), putBeeper
(Karel met un bip sur la case où il se tient), pickBeeper
(Karel lève un bip de la case il se tient debout) et turnoff
(Karel s'éteint, le programme se termine). Karel peut également effectuer des requêtes booléennes sur son environnement immédiat, en lui demandant s'il y a un signal sonore là où il se trouve, s'il y a des barrières à côté de lui et dans quelle direction il fait face. Un programmeur peut créer des instructions supplémentaires en les définissant en termes de cinq instructions de base, et en utilisant des instructions de flux de contrôle conditionnelles if
et while
avec des requêtes d'environnement, et en utilisant la iterate
construction.
Exemple
Voici un exemple simple de la syntaxe Karel :
BEGINNING-OF-PROGRAM DEFINE turnRight AS BEGIN turnLeft; turnLeft; turnLeft; END BEGINNING-OF-EXECUTION ITERATE 3 TIMES BEGIN turnRight; move END turnoff END-OF-EXECUTION END-OF-PROGRAM
Variantes et descendants
La langue a inspiré le développement de divers clones et langues éducatives similaires. La langue étant destinée aux débutants, des variantes localisées existent dans certaines langues, notamment le tchèque (le langage de programmation était assez populaire en Tchécoslovaquie ).
Les principes de Karel ont été mis à jour vers le paradigme de la programmation orientée objet dans un nouveau langage de programmation appelé Karel++ . Karel++ est conceptuellement basé sur Karel, mais utilise une syntaxe complètement nouvelle, similaire à Java .
Une implémentation REALbasic, rbKarel, fournit les commandes Karel de base dans un environnement RBScript avec la syntaxe BASIC utilisée pour les boucles et les conditions. Ce projet d'enseignement fournit une interface graphique multiplateforme pour les expériences de Karel, y compris une sortie en une seule étape et parlée.
Un langage et un environnement inspirés de Karel appelé Robot Emil utilise une vue 3D du monde du robot. Robot Emil propose une large palette d'objets pouvant être placés pour représenter les murs, les fenêtres (transparence), l'eau et l'herbe. La caméra peut être déplacée librement dans l'environnement 3D. Le robot peut être contrôlé de manière interactive avec des boutons dans l'interface graphique, ou par des programmes écrits dans le langage de programmation de type Karel d'Emil. L'auteur déclare que le programme est gratuit pour les écoles, les étudiants et les enfants. Des versions sont disponibles en anglais , tchèque et slovaque .
Un langage propriétaire également appelé Karel est utilisé pour programmer les robots de FANUC Robotics . Cependant, FANUC Karel est dérivé de Pascal .
Le langage a également été implémenté sous le nom de Karel the Dog en JavaScript par CodeHS . Semblable au langage d'origine, cette implémentation présente Karel dans un monde en grille. Les programmeurs utilisent et s'appuient sur le vocabulaire simple de commandes de Karel pour accomplir des tâches de programmation. Au lieu de mettre et de ramasser des bips, Karel le chien met et prend des balles de tennis.
Une version allemande de Karel s'appelle "Robot Karol".
Voir également
- Langage de programmation pédagogique
- RoboMind - Un environnement de programmation alternatif attrayant et éducatif
- RUR-PLE - un autre outil "apprendre Python" basé sur les idées de Karel
- CodeHS - enseignement d' introduction à l'informatique utilisant Karel en JavaScript
Lectures complémentaires
- Richard E. Pattis. Karel le robot : une introduction douce à l'art de la programmation . John Wiley & Sons, 1981. ISBN 0-471-59725-2 .
- Joseph Bergin, Mark Stehlik, Jim Roberts, Richard E. Pattis. Karel++ : Une introduction douce à l'art de la programmation orientée objet . John Wiley & Sons, 1996. ISBN 0-471-13809-6 .
Les références
Liens externes
- Syntaxe de Karel
- xKarel par R. Dostal et P. Abrahamczik (créé 1997)
- Karel de T. Mitchell (créé en 2000)
- Karel en minuscule-c par Lee Bradley (créé 2013)
- Karel pour iPad par CloudMakers (créé en 2014)
- Karel en JavaScript par CodeHS
- Karel en Perl 5 par E. Choroba (créé en 2016)
- Karel-3D en JavaScript et C++ (sk) (en) (de) (es) (créé 2017, 2018)
- Guido van Robot (GvR) - Karel en Python (créé en 2006, 2010)