La session du 8 juillet montrera qu'Ada est une arme redoutable pour fabriquer un logiciel libre, et que c'est une arme que l'on peut mettre entre toutes les mains. Alors qu'une majorité des logiciels libres sont toujours écrit en C, le thème des langages de haut niveau offre à la communauté du libre l'occasion de se pencher sur des langages manipulant des concepts plus proches de l'utilisateur, et permettant des développement plus rapides, plus fiables, plus lisibles, plus évolutifs, etc.
Dans ce panel, Ada présente un ensemble de qualités exceptionnelles :
- sémantique de haut niveau, proposant des traits puissants introuvables ailleurs,
- conçu pour le développement de logiciels complexes, avec potentiellement de nombreux développeurs et sur de longues durées : cela ne concernait que quelques industries il y a 30 ans, c'est maintenant commun dans les logiciels libres.
- libre, vraiment libre : normalisé et évoluant dans le cadre de l'ISO, indépendant de tout grand éditeur, et pas sous l'influence d'un gourou fondateur.
- disposant d'un environnement de développement libre de grande qualité, en particulier d'un très bon compilateur.
Les présentations du 8 juillet illustreront à la fois la puissance d'Ada, sa libre disponibilité quel que soit l'OS, et sa facilité d'apprentissage. Martin et Xavier, 13 ans, nous en feront une belle démonstration.
Voici l'agenda :
- 13h, Lionel Draghi : ouverture
- 13h10, Ludovic Brenta : présentation du langage
- 14h05, Jean-Pierre Rosen (Adalog) : Ada, un langage de choix pour les logiciels libres
- 14h45, Thomas Quinot (ACT-Europe) : le rôle d'ACT-Europe dans l'utilisation de GNAT pour le logiciel libre
- 15h20, Samuel Tardieu : Ada, langage ouvert : utilisation d'Ada en robotique avec d'autres langages, comme Forth, Erlang, etc.
- 16h15, Thomas Quinot (ACT-Europe) : PolyOrb, l'intergiciel schizophrène, exemple d'un projet innovant en Ada, issu de la recherche et aujourd'hui industrialisé toujours sous licence libre
- 16h50, Stéphane Rivière :
- présentation de AIDE (Ada Instant Development Environment), le CD Ada libre pour Windows
- Martin et Xavier nous expliqueront comment ils apprennent à programmer en Ada avec AIDE
- 17h30, Ludovic Brenta : Ada dans Debian
# A noter que :
Posté par Brice Carpentier . Évalué à 10.
- Ada95 dispose d'un modèle orienté objet très complet (mais assez perturbant pour qui est habitué à Java ou C++)
- Beaucoup de reproches faits à Ada portent en fait sur la norme Ada83
- Ada2005 arrive à grand pas (peut-être en parleront-il pendant les RMLL)
Bref, encore une raison de plus pour que je sois dégouté de ne pas aller aux reumeuleuleux cette année.
Just my 2¢
[^] # Re: A noter que :
Posté par Seneque Xavier . Évalué à 2.
ça va apporter quoi de neuf en gros ?
[^] # Re: A noter que :
Posté par niavlys . Évalué à 2.
plus d'infos:
http://www.gnat.com/ada_2005.php(...)
[^] # Re: A noter que :
Posté par Lionel Draghi (site web personnel) . Évalué à 1.
présentation faite par Pascal Leroy (IBM/ex Rational) qui dirige le travail.
(Avis perso : des avancées très sympa ont également lieu dans le tasking).
[^] # Re: A noter que :
Posté par Ramso . Évalué à -5.
Bah il arrivera en... 2005 ! :p
# des liens pour ada?
Posté par pouille . Évalué à 4.
[^] # Re: des liens pour ada?
Posté par Jean-Yves LENHOF (site web personnel) . Évalué à 10.
http://perso.wanadoo.fr/adalog/adaweb.htm(...)
http://www.adaic.org/(...)
http://directory.google.com/Top/Computers/Programming/Languages/Ada(...)
http://www.adaworld.com/(...)
http://home.earthlink.net/%7Ejrcarter010/pragmarc.htm(...)
[^] # Re: des liens pour ada?
Posté par enicolas . Évalué à 5.
> niveau source sur tous les OS, une simple compilation est nécessaire....
C'est (sans doute) vrai pour du code de calcul, mais pour des applications
générales, encore faut-t-il que les librairies (bindings) existent sur tous les
environnements.
Et c'est là à mon avis que réside le problème d'Ada (et d'Eiffel d'ailleurs) : le
manque de communauté -> manque de librairies. Impossible à ma connaissance
de faire une application graphique portable en Ada avec un look & feel correct.
En C++ il y a l'embarras du choix (GTK ou QT, voire WxWindows avec un look
un peu moins beau).
En Java, c'est natif avec Swing ou encore mieux avec SWT.
En .Net, il n'y a que GTK pour le moment, mais c'est mieux que rien.
Donc portable en théorie oui, en pratique non tant qu'il n'y a pas un SWT version Ada !
[^] # Re: des liens pour ada?
Posté par Brice Carpentier . Évalué à 2.
A creuser, surtout que les bindings gtk pour Ada sont vraiment à la traine. (2.2 et ne compilant pas avec gtk-2.4)
[^] # Re: des liens pour ada?
Posté par teddyber . Évalué à 2.
j'ai développé une appli avec sous linux lors d'un de mes stages. mon tuteur (JP Rosen d'ailleurs qui est le conférencier) a compilé l'appli le matin dans le train en allant à ma soutenance sur son portable Windows : pas un warning, pas une erreur de compil', ça a tourné direct.
Donc certes Ada n'est pas prévu à l'origine pour developper de l'appli graphique mais il sait le faire et il le fait bien :o)
# Mono, Ada, ...
Posté par Aurélien Bompard (site web personnel) . Évalué à -2.
Personne pour faire une news sur SmallTalk en disant qu'il rox ? ;)
[^] # Re: Mono, Ada, ...
Posté par maston28 . Évalué à 6.
Posté par Lionel Draghi. Modéré le samedi 03 juillet à 09:34.
- 13h, Lionel Draghi : ouverture
[^] # Re: Mono, Ada, ...
Posté par imr . Évalué à 7.
Alors que l'autre se servait d'un sujet sur mono pour y glisser un couplet anti java, ce qui était le bât qui blessait.
# Humour ou facilité d'apprentissage ?
Posté par Antoine . Évalué à 2.
Je veux bien croire qu'il y a des gamins de 13 ans qui fassent de l'Ada, moi à 16 ans je faisais de l'assembleur, mais je ne pense pas qu'on puisse en déduire qu'Ada et l'assembleur soient suffisamment simples et abordables pour les débutants.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par gnumdk (site web personnel) . Évalué à 10.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Orphis . Évalué à 8.
Bon après pour tout vous dire, je ne fais pas parti de ces étudiants là, je préfère quand même le C/C++ pour certaines raisons que j'ai pas besoin d'expliquer ici, c'est un choix personnel et on ne va pas discuter des goûts et des couleurs. Mais pour ceux qui veulent commencer à programmer, l'Ada est un très bon début et bien meilleur que le C à mon avis. Le professeur Daniel Feneuille de l'IUT d'Aix-en-Provence qui a enseigné l'Ada est parti en retraite en septembre 2003 mais il ne laisse pas l'Ada sombrer dans l'oubli avec son départ. Il a réalisé pour ses cours des documents consultables sur le net ( http://libre.act-europe.fr/french_courses/(...) ) et qui peuvent initier certains à la programmation.
L'Ada est vraiment un langage très plaisant, peut être un peu trop verbeux mais agréable à programmer et qui offre de nombreuses possibilités. Je pense que c'est un langage bien que mal vu par certains puriste qui ne demande qu'à être mis sur le devant de la scène pour égaler certains des plus grands.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Frederick Ros . Évalué à 4.
Lisp est un tres bon lanage pour apprendre a programmer ... et on peut pas dire qu'il ait un typage fort ...
Certains pensent meme (et j'en suis) que l'assembleur (OK, un vrai, pas du x86 ;) est meme tres bien pour ca: http://savannah.nongnu.org/projects/pgubook(...)
Pour en revenir a Ada, j'ai eu a l'apprendre moi aussi .. et j'ai meme eu a le pratiquer dan smon environnement professionnel ... et c'etait pas triste: probleme de compilos et outils (on a meme du demander a ACT de le porter, sur Winblows la version utiliser n'avait qu'un debugger approximatif et necessitait de debugger en assembleur), probleme de "mixage" avec d'autres langages (en gros: un thread executait une fonction C++, qui appelait du code ADA, qui lancait des timers (ecrits en C++), appelant une fonction ADA a leurs reveil ...
Le gros pb qui a conduit a l'elimination progressive d'ADA etait surtout un pb de resources: il devenait dur de trouver des devs qui voulaient faire de l'Ada :(
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Olivier Guerrier . Évalué à 10.
Je ne connais pas Ada, mais rigidité et typage strict, je trouve que ça va bien avec l'apprentissage de la programmation. Faut voir les dégats que font des langages comme PHP sur ceux qui l'utilisent pour découvrir la programmation..
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Christophe Renard . Évalué à 9.
D'autre languages comme Python, Ruby, Perl, Scheme, Smalltalk ... (liste evidemment non exhaustive) ont un systeme de types flexible et n'ont pas les memes defauts.
Par contre ADA (ADA83), j'ai eu le "plaisir" de me le voir enseigner y'a quelques années. Ca comprenait plein de fonctions destinées à une bonne organisation des projets logiciels, les premiers templates, types avec contraintes, et pas mal de fonctions tres modernes.
Le language est un peut verbeux à mon gout (pas trés éloigné du Pascal de Delphi en fait), mais franchement ce qui etait insupportable etait la verbosité des messages et la lenteur du compilo.... (ok cette remarque s'applique au C++ et ses templates maintenant) .
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Antoine . Évalué à 1.
Problème de compréhension. Ces fonctionnalités fournissent peut-être un apprentissage de bonne qualité, mais certainement pas un apprentissage facile. Cf. le titre de ce thread, et les mots employés dans l'article.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Pierre Jarillon (site web personnel) . Évalué à 4.
Je préfère aussi les langages fortements typés. Le résultat est beacoup plus propre et compréhensible.
Quand, il y a plus de 20ans, en Fortran, j'ai pu utiliser "implicit none" je l'ai mis ou fait mettre dans tous les programmes que je gérais. Chaque variable était définie avec son type et son usage (en commentaire).
Cette pratique peut sembler coûteuse, mais elle est rentable dès que le programme fait plus d'une centaine de lignes.
L'une des raisons qui avaient conduit à la création d'ADA était la perte d'une sonde spatiale à cause d'un programme en Fortran et variavles implicites.
Il y avait une boucle:
Ce qui se lit : faire une boucle jusqu'à l'étiquette 100 pour i variant de 1 à 1000.
Le problème, c'est que la virgule a été remplacée par un point. Le compilateur a compris :
c'est à dire qu'il a créé un rééel en double précision (commence par D) et lui a affecté la valeur 1.1 ...
La sonde spatiale a été définitivement perdue, le coût de l'erreur s'évalue en milliards de dollars.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Frederick Ros . Évalué à 3.
L'histoire qu'on m'avait compte etait un peu differente:
Le DoD d'apercevant en 1975/76 qu'un peu plus de 450 langages etaient utilises pour les programmes du gouvernement et que cela coutait bcp d'argent en entretien/formation/..etc.. decida de lancer la creation d'un langage de haut niveau, permettant d'ecrire un code sur leauel on pouvait compter...etc...
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Benoît Bailleux (Mastodon) . Évalué à 3.
NB : le nom de ADA provient de celui d'Ada Byron, fille du poète Lord Byron et considérée comme la première "programmeuse" ([2] à l'aide de la machine analytique de Charles Babbage).
--
[1] http://www.cs.fit.edu/~ryan/ada/ada-hist.html(...)
[2] http://mapage.noos.fr/fholvoet/ada_lovelace.htm(...)
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Frederick Ros . Évalué à 1.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par zeiram . Évalué à 1.
Tout à fait.... c'est bien pour ça que le nom du langage s'écrit Ada et surtout pas ADA.... c'est n'est pas un acronyme, mais un prénom.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par jigso . Évalué à 4.
C'est quand même dommage qu'Ada ne compilait pas le C...
</contrepétrie>
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par grezty . Évalué à 2.
C'est de la que l'Ada tire son surnom "le langage vert".
Le DoD pour faire un choix impartial et ne pas favoriser un langage national a donne des codes a chacun. Et Ada a eu le code "Vert".
Je suppose que c'est pour ca que quand j'ai fait de l'Ada toute l'interface etait verte. Sur un Terminal monochrome, ca aurait pas choque, mais la.. on pouvait pas le louper.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Pierre . Évalué à 4.
Euh... si je me souviens bien, le VHDL est derive de l'ADA. donc c'est normal que les 2 soient pareillement rigides.
Perso, moi je trouve que c'est plus formateur d'apprendre en bidouillant les pointeurs. Apres, on a tout le temps d'aller vers le haut niveau.
AMHA a 12 13 ans, on a pas assez de math dans les jambes pour aprehender sainement les concepts de l'ADA.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par MystikShadows . Évalué à 8.
Les pointeurs c'est utile, mais a quel point dans un language qui a la force de s'en passer? Il faut pas comparer l'apprentissage de Ada avec l'apprentissage de C ou C++. Ada est beaucoup plus qu'un simple language de programmation, Ada est presqu;une science en lui même. Une méthode si l'on veut accompagner de syntaxe avancées pour supporter toute la méthode (les méthodes a vrai dire). Sa faiblesse, bon c'est un peu plus long a apprendre que le C, peut etre mais ca vaut certainement le petit effort de plus. Ada est en effet simple a apprendre (malgré les dires et rumeurs) la methode et l'organisation du code dans les differents modules n'est pas si compliquer que ca en principe. N'importe quel programmeur digne de se nom ne devrait avoir aucune extrème difficultés a apprendre le Ada.
Ada m'a convaincu, ca ne fait pas si longtemps que ca que j'ai apprit le Ada et j'ai tellement aimer ca, que j'ai créer un site web sur le language dans le but de le promouvoir et avoir les outils et references disponible pour son apprentissage. :-). Il est en anglais mais lentement, la version française arrive :-).
Pardonner mes erreurs d'accentuations, mon clavier américains me force a me rappeler de tous les codes ASCII pour les accents et bon il est tard et je ne les ai pas tous tapper :-).
MystikShadows
Stéphane Richard
srichard@adaworld.com
Webmaster "Ada World" http://www.adaworld.com(...)
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par scand1sk (site web personnel) . Évalué à 6.
Tiens, en passant, l'Ada est capable de gérer des "pointeurs" (en fait ce sont plutôt des références sur des variables, ce qui revient en théorie au même, modulo la gestion de la mémoire et ses effets de bord), mais sa grande force à mon avis c'est surtout l'implémentation du multithread, franchement exemplaire.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Philip Marlowe . Évalué à 2.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par reno . Évalué à 0.
Certes, mais de la a bidouiller les pointeurs pour autant..
Si tu veux former au maximum, c'est clair qu'il faut aussi du bas niveau (assembleur, C), mais si le but est le plaisir immédiat (ce qu'il devrait être AMHA pour débuter): je dirais Python ou Java..
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Lionel Draghi (site web personnel) . Évalué à 6.
La facilité d'apprentissage est bien ce que je voulais mettre en avant. Commencer en Ada, c'est écrire une procédure avec une syntaxe Pascalienne :
Pas de quoi surchauffer.
Je donne deux illustration :
- sur mon projet (une ligne de produit d'un demi-million de ligne de code chez Thales Communications), nous intégrons des gars qui ne connaissent pas Ada avec un cout d'apprentissage du langage réel, mais anecdotique à coté de celui du domaine (qu'il a de toute façon). En fait, nous avons été les premiers surpris de celà. Le langage est lisible et sécurisant, donc les gars rentrent dedans progressivement, sans rendre le produit instable.
- autre exemple dans l'éducation (que je cite de mémoire). Il me semble que c'est Michael Feldmann de la Georges Washington University qui concluait ses cours d'informatique par la réalisation d'un projet (un système de gestion de trains et d'aiguillage). Il laissait le choix du langage aux groupes d'élèves. Ceux qui choisissait Ada finissait plus souvent leur projet que les autres. Et en particulier, aucun groupe ayant choisit C n'a jamais atteind les objectifs.
Le témoignage est quelque part sur le web.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par djano . Évalué à 5.
Bon je vous fais part de ce que jai appris:
Je fais mon stage chez un fabricant de satellites (je fais un lien avec les posts un peu plus haut sur le DoD).
Il développaient leur logiciel bord (logiciel embarque pilotant le satellite) en Ada. Et bien pour les futurs satelittes, ils vont passer au C!!!
Alors pourquoi ce retour en arrière (pour tout ceux qui disent que l'inverse va devenir la norme) ? He bien pour plusieurs raisons:
- c'est eux qui se maintennaient leur noyau temps réel. Devenu trop gros, trop lourd à gérer, ils ne s'en sortaient plus (ca coute cher en cette periode de vache maigre pour l'industrie spatiale mondiale). VxWorks (pour ne pas le citer) est un noyau temps réel qu'ils achetent et qu'ils n'ont pas a maintenir -> C deja ca de gagne.
- il y a une forte disponibilité de logiciels en C. il y a plein de logiciels (y compris libres) bien à utiliser :
gcc notamment.
- ils faisaient des choses exotiques pour lesquelles ils etaient obliges de desactiver certaines contraintes (qui normalement sont bien a utiliser) du langage. D'ou, l'avantage de Ada pour le typage devenait parfois une contrainte.
Maintenant, le desavantage, c'est qu'ils doivent renforcer les procedures de controle du code :
- standard de codage,
- verificateurs de "scope" pour les variables,
- verificateurs de respect de ces regles de codage,
- verification des metriques du logiciel,
- ...
et faire tres attention a ce que programment les programmeurs (lapalisse aurait pas fait mieux)! Il est facile de faire des connries avec les raccourcis de programmation du C :
if(x=...),
+=, -=,
etc..
Enfin, je tiens a preciser que si Ada est si sur et facile a verifier c'est parce que Ada dispose d'une forme interne normalisee (par forme interne, j'entends le modele de donnees decrivant le langage). Ce n'est pas le cas du C et cela ne sera jamais.
Alors quand on dit que Ada c'est l'avenir, je reste songeur!!
Mais je suis pres a croire que c'est tres bien. D'ailleurs je vais jeter un oeil dessus (en plus de l'objective caml, ca va commencer a beaucoup!!).
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Alain Bret . Évalué à 2.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par djano . Évalué à 2.
J'en ai beaucoup entendu parler dans la boite et la section ou je suis (qualite)!!
A Toulouse vers Labege, route des cosmonautes!!
Est-ce que je me trompes?!?
PS:
Effectivement, on m'avait egalement parle de RTEMS.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Alain Bret . Évalué à 1.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par SaintGermain . Évalué à 1.
Pour info je crois qu'une réflexion est engagée pour progressivement abandonner l'Ada dans les programmes de vol des lanceurs (commerciaux comme Ariane 5 ou militaire comme le M51) au profit du C.
Certains vont dire que c'est une hérésie, d'autres que c'est une réalité économique...
[^] # Quand on veut tuer son chien, on dit qu'il a la rage!
Posté par Lionel Draghi (site web personnel) . Évalué à 3.
Et il y a des environnement Ada de grande qualité pour le développement temps réel (certains sont même multi langage) comme ceux de Green Hills, DDCI, et même celui d'ACT sous GPL.
Voyons les choses avec sincérité : le plus souvent, Ada est abandonné parce que personne ne se pose de question de coût global, qu'on a déja plein de problèmes a régler, et donc on va vers la facilité. Tout cela sur fond d'inconscience de la part énorme du cout logiciel, en particulier dans le spacial ou il n'y a pas de série. J'ai entendu ces témoignages à de multiple reprise.
Jusqu'à l'absurde dans le cas de Dassault Aviation : ils maintenaient leurs propres outils Ada, compilateur inclus. Evidemment le coût était énorme. Pour le Rafale, au lieu d'abandonner la maintenance de leurs outils, ils ont abandonné Ada. Et pour être bien sur que ce soit une catastrophe économique, ils ont remplacé Ada par C++.
Et si je parle d'absurdité, c'est parce que parallèlement, ils n'ont pas eu peur du coût énorme de développement d'un calculateur avec un hard propriétaire.
Les choses peuvent être très simple : Ada est le seul langage qui vienne avec un éxecutif temps-réel. Dans le spacial ou l'avionique, c'est tout bénef, car je n'ai LE PLUS SOUVENT pas besoin d'OS. Je n'ai pas a payer de license Lynx/VxWorks ou tout ce que tu veux.
Je ne vais pas parler des solutions sur étagères de Aonix/ACT/DDCI/GreenHills/etc. Prenons tout de suite le cas le pire : mon hard est maison, et je n'ai pas de compilo Ada :
1 - j'ai vécu ça chez Matra Défense. L'adaptation de l'executif du compilo à notre hard tenait en deux dizaines de lignes d'assembleurs (adaptation de la gestion des IT et du timer). Le cout de ce source est négligeable en regard du projet. Après, on avait tout Ada de dispo sur notre cible, en particulier tout le tasking.
2 - si tu choisi C, tu aura de toute façon le cout d'adaptation de VxWorks ou autre. Et ce sera pire.
Elle est ou la réalité économique, dans tout ça?
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Philip Marlowe . Évalué à 1.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par fmaz fmaz . Évalué à 3.
implicite et d'autres jouyeusetés?
Franchement le typage FORT, ça devrait être la norme.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par Frederick Ros . Évalué à 3.
[^] # Re: Humour ou facilité d'apprentissage ?
Posté par HappyCrow . Évalué à 2.
CaML en style purement fonctionnel (bon, je sais,
je devrais dire objective CaML, mais je ne l'ai
pas pratiqué alors que CaML si)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.