La programmation en C : au-delà du SDK
Posté le 16/07/2011 00:03
La plupart s'initie à la programmation grâce au Basic de leur chère petite calculatrice Casio. On découvre un nouveau monde où notre imagination prend forme, où toutes nos idées peuvent enfin se concrétiser. Cependant, ce langage, accessible à tous, affiche rapidement ses limites, et la faible puissance des calculatrices couplée à un interpréteur basic largement perfectible rendent certaines de nos idées les plus farfelues ou ambitieuses irréalisables...
Heureusement, il existe d'autres alternatives. Après avoir parlé du LUA le mois dernier, intéressons-nous maintenant au C, un autre langage très populaire offrant des performances et des possibilités bien plus poussées que le Basic ! Si vous ne le connaissez pas encore, je vous conseille de lire l'
excellent tutoriel sur le Site du Zéro.
La première chose qui devrait vous intriguer est que ce tutoriel soit conçu pour programmer sur l'ordinateur (et non sur la calculatrice). En effet, le C est un langage compilé alors que le Basic est un langage interprété. Et toute la différence se situe là ! L'avantage du Basic Casio est qu'une calculatrice sortie aujourd'hui pourra lire la plupart du temps des programmes conçus pour des modèles plus anciens. A l'inverse, un programme écrit en C est d'abord codé et compilé (la compilation est l'action de convertir le code "langage humain" en "langage machine") sur l'ordinateur puis le transférer sur la calculatrice. A noter que des recherches sont faites par les communautés Casio pour créer un éditeur-compilateur on-calc (sur la calculatrice).
Ainsi, le programme généré n'est compatible qu'avec certains modèles bien spécifiques (familles Graph 100 ou G75/85/95 ou CG-10/20). Pour qu'un programme codé sur G100 fonctionne sur la G85, il faut d'abord avoir les sources, puis le recompiler pour la G85. C'est autre chose que d'envoyer simplement le code (donc les sources) en Basic entre les calculatrices. Après un petit pavé car oui, je pourrais encore détailler d'avantage, voici quelques liens pour améliorer et faciliter votre initiation au C - au passage, je vous rappelle ce
lien pour apprendre ce langage.
L'avantage du C est que vous pouvez facilement inclure de nouvelles fonctions ou optimiser celles déjà existantes. Vous vous rendrez vite compte que Casio code comme des pieds car beaucoup de fonctions de la librairie standard (fxlib.h) sont optimisables. Dans ce domaine, il faut souligner le travail de Pierrotll qui a fourni de nombreuses librairies personnalisées (d'ailleurs, si tu pouvais toutes les mettre sur le site, je t'en serai reconnaissant
)
Toutes les librairies que je vais vous présenter ne fonctionnent que sur la famille G75/85/95, ces calculatrices étant à l'heure actuelle les plus adaptées pour débuter le C. Commençons par le plus important : le
SDK officiel.
- Maintenant, quelques librairies intéressantes :
MonochromeLib. Tracez rapidement et facilement des formes géométriques simples (rectangle, cercle, ellipse...) et jouer avec le noir et le blanc.
- Normalement, les écrans de cette famille sont monochromes, mais en jouant sur le temps qu'un pixel reste allumé, vous obtenez des nuances de gris :
Easy grayscales
- Mettons également en avant l'initiative d'Eiyeron qui souhaite créer une librairie avec une multitude de fonctions très utilisées :
Easy Coding
- Lors de la compilation, vous tomberez certainement sur des erreurs ce qui est tout à fait normal. Mais par moment, vous ne comprendrez pas ce message d'erreur. Reportez-vous à ce
topic qui vous apportera un premier éclaircissement.
Il existe de nombreuses autres librairies personnalisées, mais j'ai préféré mettre en avant celles qui ont été développées par les membres de la communauté de Planète-Casio. Nulle doute que les ressources s'enrichiront dans les années à venir offrant ainsi une bibliothèque conséquente à l'ensemble des programmeurs. Voici une petite synthèse des possibilités offertes par la machine que vous tenez entre vos mains. Bonne programmation et exprimez votre créativité !