Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology
Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered
You are not logged in.
Pages: 1
Bonjour,
Le SCS et OpenSpace3D sont les produits "phares" de Scol. Il existe également quelques autres applications. C'est maigre même si la poignée d'irréductibles abat beaucoup de boulots.
Pourtant, Scol évolue : de nombreuses mises à jour ont lieu, des corrections effectuées, de nouvelles fonctions ajoutées et, enfin, un nouveau moteur 3D, moderne et efficace.
Malgré tout Scol a du mal à attirer. Certes, la concurrence est rude : de nombreux autres langages et technos se sont aussi mis à intégrer la 3d. En contre-partie, le "public" possède, globalement, des capacités techniques bien plus importante qu'en 1998 lorsque Scol a été publiquement lancé (haut-débit, systèmes plus puissants, etc).
Scol souffre d'une comunication hasardeuse. Avons-nous un grand communicant dans cette noble assemblée ?
Scol souffre aussi de handicaps internes : certaines fonctions sont manquantes (même si elles sont de moins en moins nombreuses), la gestion des chaînes de caractères est, à mon sens, désastreuse car très lourde, il manque certains composants réseaux, il n'y a pas de logique de nommage des fonctions (ce qui donne une impression de langage hétéroclite et mal pensé), le mode multi-plateforme réel (au moins Windows - GNU / Linux - MacOS X) est encore utopique !...
À l'inverse, c'est un langage polyvalent, lisible syntaxiquement (hormis le problème de nommage évoqué plus haut mais qui n'est pas inhérent à la structure du langage), clair, de haut niveau avec un typage explicite qui oblige à un minimum de rigueur. C'est un langage fonctionnel. C'est de plus un langage interprété.
Je sais que le débat langage interprété versus langage compilé est un vieux débat jamais tranché. Pour ma part, je préfère, et de loin, les langages interprétés
Scol souffre encore d'un manque d'applications et de développeurs pour en créer. Plus il y aura d'applications diverses, plus de gens seront potentiellement intéressés. Il y a quelques mois, j'ai commencé à construire une série de tutoriaux pour apprendre le langage Scol. Je vais continuer. Mais il y a un écueil : apprendre à coder en Scol, c'est bien. Mais avec quoi coder ?
Tout programmeur vous le dira : les habitudes sont tenaces et chacun a son éditeur favori. Il n'y a rien de tel pour Scol, un désert absolu. C'est déjà rebutant d'apprendre un langage, certes plein de potentiels, mais totalement confidentiel. Mais si, de plus, il faut l'apprendre dans un environnement austère et terne, c'est encore pire !
Dans cet esprit, la création d'un éditeur spécifique serait contre-productif. C'est pourquoi j'ai préféré être pragmatique et réaliser ces différents outils venant se greffer à des éditeurs existants et largement utilisés par des développeurs.
Outre les objectifs exposés ci-dessus, dans la large communauté des utilisateurs de ces éditeurs, quelques uns seront peut-être intéressés / curieux vis à vis de Scol ... Bref, un moyen comme un autre de faire connaître Scol.
Voici ces éditeurs, totalement libres et gratuits, avec un lien vers les forums du Scolring, où je livre des informations supplémentaires :
Gedit (GNU / Linux, Windows et MacOS X) : http://www.scolring.org/forum/viewtopic.php?id=156
Bluefish (GNU / Linux et Windows) : http://www.scolring.org/forum/viewtopic.php?id=157
Emacs (GNU / Linux, Windows, Mac OS X et plein d'autres) : http://www.scolring.org/forum/viewtopic.php?id=158
Notepad++ (Windows uniquement) : http://www.scolring.org/forum/viewtopic.php?id=159
Si vous avez envie de programmer en Scol, progressivement, n'hésitez pas !
Si vous avez des idées et, plus encore, des compétences, notamment dans le domaine de la com' en général, n'hésitez pas
Offline
Salut !
Bonne réflexion en effet (promis je vais essayer notepad++)
j'avais commencé a regarder pour faire un plugin Eclipse (aussi très largement utilisé) mais je n'ai pas eu le temps de m'y pencher plus en avant car a la vue des documentations il faudrait y consacrer plusieurs jours de suite.
Eclipse étant un IDE multi langages il a d'autant plus sa place sur un pc de développeur
pour la gestion des strings j'ai prévu d'intégrer des fonctions de regexp pour faciliter les recherches et les remplacements
que proposerais tu d'autre pour faciliter leurs traitements ?
pour le réseau quels sont les composants manquants ?
Offline
Pour ma part, je me suis remis à la version Linux de la VM mais pffouu, c'est chaud d'autant que mes compétences en C/C++ sont tout de même limitées. Il faudrait au moins mettre à jour les fonctions GTK utilisées pour la 2d vers GTK 3 qui va prochainement sortir. Un certain nombre d'anciennes fonctions seront dépréciées puis non supportées. La 4.5 sera alors elle aussi totalement obsolète ... :'(
Les regex est une excellente chose, bravo !!
Pour les chaînes, faudrait revoir tout en profondeur, donc je doute fort que tu aies le temps pour. Mais pouvoir traiter les chaines comme étant simplement des listes de caractères serait un grand plus.
Sinon, pouvoir itérer : genre un readlines (faudrait peut-être aussi introduire une boucle for, je sais que Bob y avait songé un temps) plutôt que de voir utiliser les strextr / strbuild / lineextr, etc dans des boucles récursives.
Pour le réseau, une gestion mail (et non pas en tant que librairie Scol), le ssh, peut-être d'autres ?
L'intégration de contenu riches plus facile, via XML (voire HTML), même simplifié.
J'ai aussi regardé de ce côté : vois le principe de Glade par exemple pour construire des interfaces GTK. Tu peux utiliser deux voies pour créer ton interface GTK : via un fichier XML ou via un codeGTK classique. Les deux entrées sont parfaitement gérées par GTK. Ce ne devrait pas être fondamentalement complexe (sur le papier du moins) : ce sont des appels internes pour chaque objet aux fonctions déjà présentes avec les bons paramètres fournis par le fichier XML.
J'avais aussi pensé à un langage de type Logo pour la création d'interface ce qui pourrait être moins lourd qu'un éditeur graphique. Avec une moulinette derrière pour faire la conversion. J'ai toujours l'idée de noter. On verra...
Je te jette tout ça un peu en vrac
Quant à Eclipse, c'est du java, donc je peux rien faire pour toi !
Offline
pour la lecture des fichiers XML je ne suis pas sur qu'inclure une lib genre tinyXML apporterait grand chose
les fonctions resteraient assez bas niveau et gérer des hirarchies hein he bein ...
pour le moment la libxml en scol faite pour openspace semble assez efficace et les fonctions très haut niveau
pareil pour la lib 2D à l'époque de groupstation un éditeur avait été initié avec les définitions XML
de même la lib 2D en scol d'openspace était prévue pour évoluer facilement vers des définitions XML (mais pas eu le temps) avec une gestion de themes
pour GTK il serait même mieux de refaire une dll windows / linux / mac la lib 2D windows est plutôt rigide et la lib graphique ingérable sur des interfaces complexes
oups je me lève a 6h pour aller a Laval demain ....
Offline
Bonne Route Arkeon
tu dors toujours aussi peu semble t'il !
Effectivement, très bon commentaire de Iri.
Un des soucis majeur du scol est la communication.
Autre soucis, c'est l'absence d'éditeur dédié pour ce langage.
Personnellement, j'ai commencé à coder de l'HTML et PHP sur NotePad ++, que je juge excellent ... pour apprendre à programmer ou corriger rapidement une page.
Dernièrement, je suis passé au JAVA, le langage Objet. Et Là, pas le choix, il faut passer par un éditeur plus puissant comme Eclipse. J'ai travaillé sur sa dernière version 3.5 SR2.
Les langages objets s'imposent de plus en plus, et donc les éditeurs liés à ces langages également.
Iri parle des boucles For. Le scol ne permet pas d'en faire ?
J'ai utilisé de façon intensive les boucles for et for each en Java. Ces dernières se sont avérées particulièrement pratiques avec les listes d'objets.
for (personne p : listPersonne list )
{
// passage en revu de toutes les personnes de la liste
System.out.println(p.getName());}
Last edited by cyberfred (8-Apr-2010 00:28:34)
Kyle Macstone
Offline
Non, c'est un manque curieux mais il n'y a pas de boucle for en Scol. If et While sont présents, pour le reste, tu dois coder en fonction récursive.
Pour afficher dans la console, les éléments d'une liste :
fun ParcourirMaListe(liste)=
let liste -> [premier suivants] in
(
_fooId premier;
ParcourirMaListe suivants
);;
ParcourirMaListe 0 :: 1 :: 2 ::3 :: 4 :: nil;
ok, il y a la fonction _fooIList qui le fait directement mais c'est juste quand tu as une liste d'entiers ...
En Python, tu aurais quelque chose du genre :
for element in range(0, 5, 1):
print element
Tu peux utiliser for avec tout ce qui est itérable dont les chaines de caractères, les fichiers, et toutes sortes d'objets.
maChaine = "Scol est formidable !"
maChaine[2] vaut "o", maChaine[:-5] vaut "ble !", maChaine[4:7] vaut "est", etc
for caractere in maChaine[1:10]:
instructions
Sans compter les fonctions split, join, replace, ... ;-) Mais là c'est autre chose.
En revanche une boucle for serait intéressante mais pose de gros problème à intégrer si mes souvenirs sont bons ou alors à la limiter dans son contexte d'utilisation.
@Arkeon : j'avais codé une libxml et tu en as codé une encore meilleure ! Mais cela reste du Scol, donc bien plus lent en terme de traitement. Je ne parlais pas de traiter du XML comme n'importe quel XML, mais du XML reposant sur un contexte précis, à savoir la description des objets d'une interface graphique.
Au lieu de la coder à la main (ce qui me gène pas pour ma part, je préfère coder mes interfaces GTK généralement de cette façon) :
_CRwindow_channel 0 0 500 200 WN_NORMAL "Fenetre de test";
_CRtext ....
_CRbuttonBitmap ...
_CRlist
_CRbutton ...
etc ...
tu as un fichier XML qui décrit tous ces objets et
_CRinterface monFichierXML
et c'est tout. C'est le _CRinterface qui serait à intégrer dans la VM ;-)
L'avantage c'est que c'est portable et facilement maintenable par un non-programmeur.
L'inconvénient est qu'il faut un éditeur complet qui sache gérer l'ensemble.
Pour les lib 2d, à réfléchir notamment entre GTK et QT. Je connais peu QT. De ce que je connais, QT est un peu plus généraliste que GTK. GTK se concentre sur l'interface graphique, de façon claire et propre, en distinguant ce qui est graphique du reste. QT va offrir des composants externes liés aux composants graphiques, tels des comosants réseaux.
En parlant de ça, je sais plus si c'est avec toi que j'avais parlais de l'intégration de Webkit dans Scol afin de pouvoir afficher du Web dans une fenêtre Scol (gecko me semble moins pertinent à ce niveau).
Offline
A plancher niveau interface mais si l'on souhaite faire une définition XML autant le faire sur une nouvelle api
pour webkit on en avait effectivement déjà parlé (houais ! je vien de trouver les accents sur iPhone)
entre gecko et webkit il faut vraiment étudier le plus simple et le plus légé (webkit uniquement rendu je crois)
voilà réponse courte parceque 3 plombes sur le clavier de l'iPhone !
Offline
Pour une new api, oui
et à choisir une bibliothèque transversale, cela rendra la portabilité plus facile, d'une architecture à une autre.
gecko est plus lourd me semble-t-il. Déjà à définir ce qu'on veut faire ;-)
Et dors un peu ...
Offline
Pages: 1