Scol
Standard Cryo OnLine Language ou SCOL est un langage de haut niveau, interprété, typé (typage fort et statique, inférence de types)[1], asynchrone et essentiellement fonctionnel créé[2] par la société Cryo-Interactive en 1995. La mémoire est gérée par un ramasse-miettes. Il est écrit en C et en C++ avec quelques portions spécifiques en assembleur.
Scol | |
Date de première version | 1996 |
---|---|
Paradigmes | fonctionnel |
Auteur | Sylvain Huet |
Développeurs | communautaire |
Typage | Fort, statique |
Influencé par | C, Caml |
Système d'exploitation | Multi-plate-forme |
Licence | Scol license (BSD-like) |
Site web | www.scolring.org |
Fonctionnement
Le code source, sous forme de fichiers de type texte portant historiquement l'extension .pkg (package) ou sous forme de chaîne de caractères en mémoire, est lu du premier vers le dernier octet. Toutes les fonctions et variables doivent être déclarées avant d'être utilisées sous peine d'échec de la compilation. Le compilateur inclus dans le plugin génère alors un byte-code volatil avant l'exécution finale.
Chaque exécution génère une machine virtuelle liée à la première machine virtuelle créée et encore active sur le système hôte. Cette machine primaire, encore nommée scol engine, contient entre autres l'environnement minimal (toutes les APIs Scol chargées et valides) qui sera ainsi disponible pour chaque machine secondaire.
Une machine virtuelle Scol peut être liée ou peut communiquer (toujours de façon asynchrone) avec une ou plusieurs autres machines, locales ou distantes[3].
Un simple plugin multilangue, libre et gratuit est nécessaire pour ouvrir, voir, tester, créer toutes les applications écrites en Scol.
Historique
Il a été créé par Sylvain Huet au sein de la filiale Cryo-Networks, d'abord sous forme d'un prototype nommé magma avant d'être publiquement diffusé durant l'année 1998. Différentes formules étaient alors commercialisées selon les usages désirées et surtout le nombre de connexions simultanées supportées. Des applications (Cryonics, Emaginer, SCS, ...) et des jeux en ligne (Fog, ...) furent commercialisées jusque fin 2002. Après la faillite de la société, Sylvain Huet a récupéré les droits complets. Il le libère pour en faire un projet libre (licence de type BSD) en [4]. Toutes les versions postérieures à la 4.5 (MS Windows) et 4.0 (GNU/Linux) sont sous licence ouverte. Son développement se poursuit depuis grâce à une communauté de passionnés. Le langage est multi-plateforme, le compilateur existe pour Windows, Linux et MacOS (non X) sous des versions différentes.
Des outils sont créés et/ou maintenus afin d'aider les concepteurs dans leurs projets. Notamment, la création de sites internet en 3D est très facilité grâce au logiciel SCS (Site Constructor Set, logiciel libre écrit en Scol) qui offre une création grâce à de simples manipulations à la souris.
Particularités
Scol est essentiellement utilisé pour concevoir des applications réseau interactive, et plus particulièrement en 3D. Depuis 2009, le moteur 3d a été réécrit et s'appuie sur Ogre3D[5]. L'ancien moteur, dit legacy, est toujours inclus pour garder la compatibilité avec des applications plus anciennes. Toutefois, le nouveau moteur, dit SO3Engine est plus puissant et apporte de grandes nouveautés (meilleur support OpenGL, shaders, multi-passe, nombreux effets). La société I-maginer participe majoritairement à ce moteur mais d'autres développeurs contribuent à mettre à jour et à étendre le langage[6] - [7].
Actuellement, l'application la plus en vue est Openspace3d : une plateforme de développement 3d temps réel.
Ses points forts
- ses capacités réseaux totalement intégrées et transparentes pour l'utilisateur comme pour le développeur ;
- son fort potentiel interactif.
Ses points faibles
- sa confidentialité ;
- la version Linux est disponible en version bêta uniquement et la version MacOS X est non à jour.
Références
- Réplications Distribuées pour la Définition des Interactions de Jeux Massivement MultiJoueurs, par Anne-Gwenn Bosser, 2005, Paris VII, p95
- Qu'est-ce-que le langage Scol « Copie archivée » (version du 22 juillet 2018 sur Internet Archive)
- Tutoriel Scol, par Sylvain Huet
- Manifeste pour le passage de Scol en opensource
- Article sur le site du Scolring
- Liste des projets actifs
- Développeurs actifs
Voir aussi
Liens externes
- www.scol-technologies.org : Association Scol Technologies (fermé) voir l'archive d'archive.org
- Scolring : site officiel avec informations, aides, tutoriaux, forum et annuaires.
- Irizone : site personnel très fourni : applications, tutoriaux et documentations, codes sources et programmation.