Scol

Un article de Wikipédia, l'encyclopédie libre.

Scol
Date de première version 1996
Paradigmes fonctionnel
Auteur Sylvain Huet
Développeurs communautaire
Dernière version 6.0.3 ()
Version en développement 6.5.0
Typage Fort, statique
Influencé par C, Caml
Système d'exploitation Multi-plate-forme
Licence Scol license (BSD-like)
Site web redmine.openspace3d.com

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.

Fonctionnement[modifier | modifier le code]

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[modifier | modifier le code]

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és 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ée 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[modifier | modifier le code]

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[modifier | modifier le code]

  • 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[modifier | modifier le code]

Références[modifier | modifier le code]

  1. Réplications Distribuées pour la Définition des Interactions de Jeux Massivement MultiJoueurs, par Anne-Gwenn Bosser, 2005, Paris VII, p95
  2. Qu'est-ce-que le langage Scol « Copie archivée » (version du sur Internet Archive)
  3. Tutoriel Scol, par Sylvain Huet
  4. Manifeste pour le passage de Scol en opensource
  5. Article sur le site du Scolring
  6. Liste des projets actifs
  7. Développeurs actifs

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

  • www.scol-technologies.org : Association Scol Technologies (fermé) voir l'archive d'archive.org
  • Scolring : site officiel avec informations, aides, tutoriels, forum et annuaires.
  • Irizone : site personnel très fourni : applications, tutoriels et documentations, codes sources et programmation.