Io (langage)

Io (langage)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Io.

Io est un langage de programmation pur objet basé sur les prototypes et distribué sous licence BSD. Il a été créé en 2002 par Steve Dekorte.

Sommaire

Présentation

Lorsque Steve Dekorte imagina son langage, il le voulait léger, simple, multi-plateforme et facile à embarquer dans un autre programme. C'est ainsi qu'est né Io (dont le nom doit refléter sa simplicité).

Il s'inspire de différents langages tout en tirant parti de leurs qualités respectives :

  • Smalltalk : toutes les valeurs sont des objets ;
  • Self ;
  • NewtonScript ;
  • Act1 : héritage différentiel des prototypes, acteurs et promesses de réponse pour la concurrence entre tâches ;
  • LISP : le code est un environnement d'exécution basé sur un arbre accessible en lecture et en écriture ;
  • LUA : léger et pouvant être embarqué.

Io est un langage de script disposant de plusieurs extensions dans divers domaines tels que le chiffrement des données, la programmation réseau, le graphisme ou encore les bases de données.

Machines virtuelles

Io se décline sous trois machines virtuelles ce qui lui apporte une grande portabilité puisque celui-ci (comme tout langage interprété) peut être exécuté sous n'importe quelle architecture pour autant que la machine virtuelle soit disponible pour celle-ci.

IoVM

IoVM est la base du langage ; la plupart des fonctionnalités se trouvant dans IoServer et IoDesktop. Elle peut être utilisé indépendamment ou en tant que langage embarqué dans un plus grand projet.

IoServer

IoServer apporte de nombreuses fonctionnalités par rapport à la conception d'applications serveurs telles que les applications Web.

IoDesktop

Et enfin, IoDesktop, se veut être une solution de développement multimédia. Il est donc possible par son intermédiaire d'exploiter des images, OpenGL et tout ce qui est en rapport avec le multimédia.

Ces trois machines virtuelles permettent aux scripts Io de fonctionner de manière identique peu importe le système. Elles sont actuellement disponibles sous Mac OS X, Linux, BSD, Irix, Win32 et Symbian. Cependant, écrites en C ANSI, elles peuvent être facilement portées sur de nombreuses autres plates-formes.

Caractéristiques du langage

  • Basé sur les prototypes : héritage réalisé par le clonage des objets et la maintenance d'un lien dynamique entre le clone et l'original.
  • Pur objet : toutes les entités manipulés par Io dérivent du même prototype Object.
  • ramasse-miettes : les objets sont automatiquement alloués et supprimés.
  • Types dynamiques : Bien que Io possède une notion de types, les variables n'ont pas de types définit de même que les opérations sur les prototypes. Il existe cependant des méthodes permettant de vérifier le type d'un objet.
  • Fortement typé : toutes les interactions se font à l'aide de messages vers les objets. On n'accède jamais à la mémoire directement.
  • Interprété : le code source produit n'est pas compilé vers un bytecode mais plutôt converti vers une représentation dans la mémoire.
  • Le code est une donnée : les blocks de code sont réinjectés dans les objets et peuvent être modifier et créés dynamiquement.
  • Réfléchi : conséquence de la réinjection du code, il est possible d'investir les propriétés de chaque objet (de même pour le code source) lors de l'exécution.
  • Dynamique : puisque le code est une donnée, il est possible de changer un programme logique durant son exécution. Il est aussi possible de changer dynamiquement les attributs et les opérations sur un objet durant l'exécution. Combiné avec les prototypes, Io autorise la modification dynamique d'une classe d'objets.

Exemples de code

Io est un langage qui se veut simple et puissant. Voici quelques exemples de code.

Commentaires

 //Les commentaires C++ peuvent être utilisés
 # tout comme ceux des scripts bash
 /* ou encore les commentaires
 sur plusieurs lignes */

Bonjour tout le monde

La ligne de code suivante fera apparaître le message Bonjour tout le monde ! à l'écran.

 "Bonjour tout le monde !" println

Compter les moutons

 for(i, 1, 100,
      mouton := block(i,
      if(i == 1, return "1 mouton")
      return "" .. i .. " moutons"
 )

Pour plus d'exemples, vous pouvez visiter la page d'exemples sur le site officiel.

Voir aussi

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Io (langage) de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • langage — [ lɑ̃gaʒ ] n. m. • v. 1160; lengatge v. 980; de langue I ♦ 1 ♦ Fonction d expression de la pensée et de communication entre les hommes, mise en œuvre au moyen d un système de signes vocaux (parole) et éventuellement de signes graphiques… …   Encyclopédie Universelle

  • LANGAGE (PHILOSOPHIES DU) — L’intérêt pour la langue est un trait dominant de la philosophie contemporaine. Non que nos contemporains soient les premiers à découvrir le langage. Celui ci a toujours été à la place d’honneur dans la philosophie, tant il est vrai que la… …   Encyclopédie Universelle

  • Langage De Programmation — Un langage de programmation est un langage informatique, permettant à un être humain d écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le code source subit ensuite une transformation ou une évaluation dans une… …   Wikipédia en Français

  • Langage Humain — Le langage est la faculté de mettre en œuvre un système de signes linguistiques (qui constituent la langue) permettant la communication et l expression de la pensée, ce qui est privatif des humains, et des sentiments, ce qui est commun aux… …   Wikipédia en Français

  • Langage oral — Langage humain Le langage est la faculté de mettre en œuvre un système de signes linguistiques (qui constituent la langue) permettant la communication et l expression de la pensée, ce qui est privatif des humains, et des sentiments, ce qui est… …   Wikipédia en Français

  • Langage quotidien — Langage humain Le langage est la faculté de mettre en œuvre un système de signes linguistiques (qui constituent la langue) permettant la communication et l expression de la pensée, ce qui est privatif des humains, et des sentiments, ce qui est… …   Wikipédia en Français

  • Langage traditionnel — Langage humain Le langage est la faculté de mettre en œuvre un système de signes linguistiques (qui constituent la langue) permettant la communication et l expression de la pensée, ce qui est privatif des humains, et des sentiments, ce qui est… …   Wikipédia en Français

  • Langage Formel — Dans de nombreux contextes (scientifique, légal, etc.), on désigne par langage formel un mode d expression plus formalisé et plus précis (les deux n allant pas nécessairement de pair) que le langage de tous les jours (voir langage naturel). En… …   Wikipédia en Français

  • Langage sms — « Bonjour, ça va ? » écrit en langage SMS. Manifeste contre le langage SMS …   Wikipédia en Français

  • Langage texto — Langage SMS « Bonjour, ça va ? » écrit en langage SMS. Manifeste contre le langage SMS …   Wikipédia en Français

  • Langage Des Fleurs — Un bouquet savamment composé porte un message. Le don de fleurs existe dans la plupart des civilisations, qu il constitue un cadeau ou un acte religieux. Dans certaines cultures, on accorde aux fleurs une symbolique particulière, en donnant à… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”