Bonjour à tous,
Il y a deux ans, mon fils de 10 ans me posait la question suivante :
"Papa, c'est quoi ton métier ?!!?"
Heuuu..... lui répondis-je.
Un ans plus tard, dans le cadre de mes études au CNAM, j'ai due trouver un sujet de projet à réaliser sur Android.
L'idée à germé : et pourquoi pas écrire un petit langage de programmation "maison" (parce que c'est plus fun) et le présenté dans le cadre de ma soutenance.
Et voilà comment est née le programme Algoid.
Algoid pour Algorithmy for Android, est donc un petit IDE permettant d'intégrer un petit langage de programmation sur la plateforme.
Ce projet ce décompose en 3 couches :
- JASI - Java Abstract Syntax Interpreter - est un compilateur de parseur (là encore maison), une librairie visant à simplifier et à abstraire la complexité lié à la création d'un langage de programmation
- AL - Algoid Language - est le langage implémenté pour Algoid. Ce langage est un langage interprété multi paradigme : impératif, procédural, fonctionnel, récursif, objet, et aspect (quand on le dit comme ça, ça sonne bien à l’oreille !)
- Algoid - le petit IDE et l'environnement d'exécution qui permet de faire joujou avec tout ça.
J'ai développer les deux premières couches en J2SE et la dernière sur l'API 7 du JDK d'android.
Le but de cet outil est bien entendu l'apprentissage d'un langage de programmation au travers une application inspiré de Logo (la petite tortue que tous le monde connais).
L'IDE comporte à ce jours plusieurs fonctionnalités :
- La coloration syntaxique
- Le formatage syntaxique automatique
- Une aide en ligne au format HTML
- Un environnement d'exécution textuel
- Un environnement d'exécution graphique 2d
- Un mode de debuggage et un pas à pas, ainsi qu'une visualisation du scope en cours d'execution
- Un accès au logcat
- Un gestionnaire de fichier android
La suite en image, ce sera plus parlant.
Voici un petit exemple du fonctionnement du logiciel :
En haut l'IDE et en bas l'environnement graphique d’exécution.
L'aide en ligne interactive. Si on reste le doit longtemps appuyé sur un mot clé du code, ça selectionne automatiquement le mot clé dans l'aide.
Les bouts de codes de la doc s'insert automatiquement dans le source si on click dessus.
Un environnement d'execution textuel.
Le plein écran
L'accès complet au logcat concernant Algoid (filtré pour l'occasion)
L'explorateur de fichier
L'exemple du debugger (avec breakpoint et explorateur de scope)
Voilà....
Toutes les spécification du langage et de JASI sont dans le cahier des charges, je le posterai dés que j'ai un accès à mon FTP....
J'ai rendu mon projet (qui à été très mal rémunéré, mais c'est une autre histoire), et j'ai décidé de continuer le développement cette année. J'espère le publier sur le Google Play d'ici à Juin prochain, si les cours ne sont pas trop lourds.... enfin si on me laisse le temps (ce dont je doute, mais il faut être optimiste dans la vie ).
Merci d'avance de vos remarques....
Partager