Karel (langage de programmation) - Karel (programming language)

Karel le robot
NikiExample.jpg
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 ifet whileavec des requêtes d'environnement, et en utilisant la iterateconstruction.

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

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