Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
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. 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. 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 est la base du langage ; la plupart des fonctionnalités se trouvant dans IoServer et IoDesktop. Elle peut être utilisée indépendamment ou en tant que langage embarqué dans un plus grand projet. IoServer apporte de nombreuses fonctionnalités par rapport à la conception d'applications serveurs telles que les applications Web. 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 dans tout 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.
Anastasia Ailamaki, Georgios Psaropoulos
Martin Odersky, Nicolas Alexander Stucki
Rachid Guerraoui, Naama Ben David