Project

General

Profile

Actions

Comment développer le langage

Objectif : généralités

STATUT : COMPLET
Version : 1.0
Auteur : iri (initialement diffusé sur http://www.irizone.net)
Date : Novembre 2010
Licence du tutoriel : GNU FDL v1.3
Licence du code source : GNU/GPL v3

Développer le langage

Pour ajouter des fonctionnalités à Scol, il est nécessaire de connaître les bases
du C et/ou du C++. Si ce n'est pas le cas, vous devriez les acquérir avant de passer
à cette réalisation. Pour cela, vous trouverez de bons didacticiels sur des sites
tels que http://www.siteduzero.com ou http://www.developpez.net. N'hésitez pas
à poser toutes vos questions sur leurs forums (mais après avoir pris la peine
d'étudier leurs tutoriaux sous peine de vous faire logiquement rembarrer !).

Il n'existes pas de limites théoriques aux ajouts de fonctionnalités. Si vous avez
les compétences suffisantes, vous pourrez mettre à jour le kernel si nécessaire.
Cependant, si vous souhaitez faire profiter l'ensemble de la communauté de vos
travaux, n'oubliez pas de vous connaître sur le Scolring.
Choisissez dès le départ une licence pour votre future bibliothèque. Celle-ci devra
être compatible avec la licence de Scol qui est de type BSD-like (BSD-modifiée) et GNU LGPL 2.1.
Des informations complémentaires pourront être trouvées sur Veni Vidi Libri. À moins de
vouloir ne pas diffuser / publier, n'omettez pas cette étape.

Enfin, il vous faut quelques outils, a minima un compilateur et un IDE (Environnement
de Développement Integré). A priori, vous devez déjà avoir les votres, configurés
à vos goûts et besoins. À titre informatif, voici ceux que j'utilise (et par conséquent,
je préconise) :

  • Compilateur : GNU GCC (et donc MingW sous MS Windows);
  • IDE : Code::Blocks car il est libre et multi plateformes et tout aussi complet
    que ses homologues payants et privateurs.

Un mot sur Visual Studio : il est très utilisé (d'ailleurs par la plupart des
développeurs actuels du langage). Il a cependant plusieurs gros défaut :

  • Il n'est pas libre;
  • il est cher (à moins de le cracker mais ce n'est ni légalement ni éthiquement
    acceptable);
  • il ajoute par défaut un certain nombre de bibliothèques spécifiques à Microsoft
    qui ne sont pas reconnues par des outils tiers (essayez de compiler avec MingW
    un simple projet réalisé avec Visual Studio, vous verrez !);
  • ces bibliothèques ne sont pas portables sur d'autres environnements;
  • ces bibliothèques peuvent prendre beaucoup plus de ressources à l'exécution;
  • ces bibliothèques ne sont généralement pas normalisées;
  • l'exécutable est parfois plus lourd (notamment à cause de l'inclusion de ces
    bibliothèques mais les options de compilation ne sont pas toujours comatibles /
    comparables avec celles de GCC par exemple);
  • les projets eux-même ne sont pas portables (C::B peut les importer mais les
    résultats ne sont pas toujours satisfaisants).

Cependant, il est parfois très difficile de se passer de ces bibliothèques, notamment
lors des accès au système d'exploitation. Elles sont le plus souvent disponibles
(ou portées) vers les autres IDE.

Si nécessaire, un mémo pour l'installation et l'utilisation de Code::Blocks est
disponible : Compilation et code--blocks.

Bon code.

Updated by iri about 11 years ago · 1 revisions