Nouveau: ADA 2012, des raisons du choix

Avec la nouvelle mouture d’ADA 2012, nous avons une nouvelle implémentation qui sans remettre en cause les bases solides de ce langage apporte des nouveautés bienvenues et en phase avec les nouvelles technologies. On notera d’ailleurs que loin des versions 3,4,5 etc. de PHP on est déjà installé dans la stabilité avec ADA.

Pourquoi ADA plutôt que Erlang, PHP, Python, Perl, Java, C, C++ ou même Visual Basic ?

ADA n’est pas un langage simple, il est nécessaire d’avoir une vraie formation et de maitriser des concepts comme l’analyse orientée objet (notez que c’est l’analyse qui est orienté objet, avant même la programmation). Mais aussi la mise en place de tâches et surtout une vision très claire du typage des variables.

En fait ADA, est un peu aux autres langages ce que Linux est à Windows: vous devez comprendre et maitriser ce que vous faites. Et c’est justement là l’intérêt de l’histoire, maitrisant mieux cet outil la production de programme est de meilleure qualité. ADA n’est pas un langage trivial.

Privilégiant la sureté d’exécution il est très rapide à l’éxecution, parce qu’il est justement bien défini et accessoirement parce que c’est un langage compilé. Ce qui n’est pas le cas de PHP par exemple. De plus, il tirera nettement profit des processeurs multi-tâche justement grâce à son système de tâche.

Si au premier abord Erlang est un langage séduisant (gestion multi-tâches, etc.) il n’utilise pas un typage fort, de même Python. Ce qui pourrait passer pour une qualité est en fait la porte ouverte à trop de permissivité en terme de type de variable.

ADA impose un typage très strict, ce qui permet de toujours savoir ce qui est traité même quand le code est écrit à plusieurs personnes.

Par rapport, à C et C++, il présente l’intérêt de mieux protéger la mémoire et donc de ne pas se retrouver avec des erreurs de mémoire, par exemple, très difficile à débugguer. Par ailleurs le code à lire est moins cryptique que le C/C++ ou Erlang.

Quelques différences pour la lecture du code par rapport aux langages habituels :

“pragma” qui donne des directive au compilateur

“:=” est le symbole de l’affectation équivalent à “=” en PHP par exemple

“=” égalité ( “/=” non-égalité) dans d’autres langage on aura “==” et “!=”

Pour écrire un nombre en base 16 on aura “16#01CA#”, en base 2 “2#0101#”

Pour mettre en commentaire en fin de ligne (un commentaire est toujours en fin de ligne) on commence le commentaire par “–”

Les types, une des contraintes/raisons de l’adoption d’ADA est la rigueur de la typologie, en voici un exemple:

en PYTHON, vous n’avez pas besoin de déclarer une variable à priori, en ADA c’est obligatoire.

en PYTHON, vous pouvez affecter à une variable n’importe qu’elle autre de n’importe quel autre type (par exemple: bouteille=”vin”; peu être suivi par bouteille=20; sans que cela pose de problème) en ADA ce n’est pas possible d’écrire cela. Et de manière encore plus restrictive si vous déclarer un type de variable dans un espace de 5 à 20 vous ne pourrez pas assigner le contenu d’une variable déclarée de 10 à 30. Exemple:

Taille : Integer range 40 .. 330;

Poids : Integer range 30 .. 230;

On ne peut écrire (car Taille et Poids sont en fait de deux types différents ):

Taille := Poids ;

Les nouveauté de ADA 2012

ADA 2012 n’est pas encore, à l’heure où j’écris ces lignes, officiellement disponible. Néanmoins, il existe de la documentation que vous pouvez trouver en allant sur la page de la définition. Mais j’ai aussi trouvé un excellent article sur le sujet. Et puis je vois conseil une entreprise française je ne sais pas s’il en existe d’autre qui forme sur le sujet.

  • LinkedIn
  • MySpace
  • Viadeo
  • Yahoo Bookmarks
  • Facebook
  • Ping
  • Twitter
  • Blogger Post
  • Windows Live Favorites
  • Jamespot
  • Technorati Favorites
  • Yoolink
  • Google Bookmarks
  • Share/Save/Bookmark
This entry was posted in Développement and tagged , , , , , , , , . Bookmark the permalink.

Comments are closed.