Melvenn lance Cawen, un langage qui allie les performances du C à une puissance d'expression inédite
Melvenn annonce la naissance du langage Cawen, une nouvelle extension du C. Cette première version laisse déjà deviner les objectifs visés par les concepteurs du projet, Thomas Samain et Gwenaël Chailleu : performance, concision syntaxique et extensibilité. A la fois plus efficace à l'exécution et plus expressif, Cawen va à court terme se positionner en concurrent sérieux du C++.
Mais son ambition ne s'arrête pas là...
Un choix déterminant
Choisir un langage de programmation, c'est prendre l'une des décisions qui structurent le plus fortement la vie d'une application. C'est donner, dès le départ, une direction à ce que deviendront le niveau de service, les coûts de développement et de maintenance ou encore la politique de recrutement...
Heureusement, au-delà des sempiternelles querelles de chapelles, il existe des critères objectifs permettant d'orienter le choix du décideur : performance, expressivité, sûreté, consommation électrique, vitalité des communautés, patrimoine logiciel, polyvalence et bagage technique des développeurs... Sur tous ces points, les écarts entre langages de programmation sont immenses.
Un cahier des charges original
Tout développeur, tout chef de projet se prend un jour à rêver à ce que serait son langage idéal. Quand ce jour arriva pour Thomas Samain et Gwenaël Chailleu, ils l'imaginèrent :
- facilement et rapidement maîtrisable
- s'appuyant sur des communautés et des développements préexistants
- repoussant les limites de ce qu'il est possible d'exprimer à l'intérieur d'une syntaxe procédurale classique
- prenant le contre-pied de la tendance qui privilégie la simplification de l'usage au détriment de l'efficacité du service rendu
- donnant pleinement accès aux ressources de la machine
- ne procédant qu'aux traitements explicités par le développeur
- facilitant la mutualisation et la réutilisation du code
Premiers tests concluants
Les résultats d'un banc d'essai s'appuyant sur une étude de Google ont été récemment publiés. Ils montrent que Cawen permet d'implémenter plus concisément des logiciels nettement plus performants que le C++. Les traitements développés en Cawen s'y révèlent jusqu'à 118 fois plus rapides que ceux développés en C++, tout en consommant jusqu'à 25 fois moins de mémoire. Une seconde étude met également en évidence un écart saisissant en terme de consommation électrique avec une économie d'énergie pouvant atteindre 99% sur certains tests.
" Promouvoir une technologie innovante n'est jamais aisé " nous explique Thomas Samain. " La grande chance, dans notre domaine, c'est qu'il est relativement facile, quoique terriblement chronophage, de prouver ce que l'on avance ".
Des domaines d'application variés
Cawen apparaît parfaitement adapté aux environnements contraints (applications mobiles notamment) ou exigeants en termes de performances, ainsi qu'à la réécriture d'applications atteignant leurs limites. Mais son utilisation ne devrait pas se cantonner aux chasses gardées du C et du C++.
Le développement web est également en ligne de mire. " Avec Cawen, on peut d'ores et déjà produire du HTML en moins de signes qu'en PHP, par exemple... Tout en sollicitant infiniment moins les ressources de la machine " confirme Gwenaël Chailleu.
Par ailleurs, si le pré-compilateur de Cawen permet de générer du C clair et lisible, il peut également être envisagé comme un puissant processeur de macros et être utilisé en tant que tel.
Et s'il fallait définir la philosophie du langage ?
Pour Gwenaël Chailleu, " le développeur ne doit être limité ni vers le bas, c'est-à-dire dans son accès aux ressources de la machine, ni vers le haut, c'est-à-dire dans sa créativité et sa liberté de construire facilement des traitements souvent complexes et toujours sur mesure ". De son coté, Thomas Samain résume : " En renforçant la phase de précompilation, Cawen renoue avec les performances du C et ouvre de nouveaux horizons ".
Agenda 2013
Prochaine étapes : mise en ligne de nouveaux cas d'utilisation orientés métier (écriture/lecture de PDF, XML,etc...), rédaction du premier manuel d'utilisation, évolutions du langage, implication dans le mouvement de l'éco-conception. " Actuellement, nous achevons la réécriture du noyau Gnu M4 du pré-compilateur de Cawen... En Cawen, bien sûr ! " s'amuse Gwenaël Chailleu.
Parallèlement, Melvenn est à la recherche active de partenariats et de prospects : " Pour l'évolution et la promotion d'une solution innovante, aucune maquette ne vaudra jamais la réalisation d'un projet concret ".