IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

[Ada] Quel usage?


Sujet :

Ada

  1. #1
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 158
    Points
    158
    Par défaut [Ada] Quel usage?
    Bonjour

    J'aimerais connaitre un peu l'usage qu'ont les quelques personnes qui utilisent Ada ici.
    Personnellement, je l'utilise pour :
    • Traitement de signal
    • Réseau (http et bientôt sip)

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Moi je m'en sers uniquement parcequ'on en fait à la fac. Car quand je programme quelque chose en dehors de ce contexte je choisi généralement un autre langage (C/Bash/Perl/PHP ou autre).

    Mais il ne faut pas se voiler la face, il y a peu de gens qui utilisent réellement Ada. C'est d'ailleurs domage que ce langage n'ait pas eut le succès qu'il mérite. Peut-être est-il arrivé trop tard.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Fac + 1

    Par contre Ada à le succès qu'il mérite : il est utilisé là où on a besoin de lui.
    "Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 158
    Points
    158
    Par défaut
    Je ne suis pas d'accord, il n'a pas le succès qu'il mérite. C'est sa très grande rigueur qui lui permet d'être présent sur ses domaines de prédilection, mais c'est aussi elle qui l'empèche d'être plus utilisé.

    Dans mon boulot, je connais pas mal de projet en production qui ne compileraient même pas s'ils étaient écrits en Ada.

    Autre diffuculté, son approche différente des autres langages. Si vous regardez les classiques C++/Java/C#, vous pouvez garder à peu près la même logique en passant de l'un à l'autre. Mais en passant sur Ada...

  5. #5
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Celelibi
    [...] C'est d'ailleurs domage que ce langage n'ait pas eut le succès qu'il mérite. Peut-être est-il arrivé trop tard.
    Il y a une petite théorie bien répandu à ce sujet, qui me semble crédible : l'origine du projet étant un programme militaire américain, et les universitaires étant traditionelement anti-militariste, il y aurait comme une sorte d'allergie

    Perso, je suis antimilitariste (même si le mot ne veux rien dire en lui-même), et pourtant j'aime découvrire Ada.

    Un autre point. Ada est souvent mal présenté... et surtout ces avantages ne sont pas toujours bien présenté, même dans des ouvrage de la si renomé maison d'édition Masson. On y présente par exemple Ada, comme on y présente le C. On expose la syntax et la sémantique, sans plus.

    Il se trouve que j'ai justement découvert le C, à l'époque ou j'aurais put découvrire Ada. Mais en voyant le livre sur Ada de la même série que celui sur le C, j'ai eu le sentiment que Ada n'était qu'un puit de lourdeures inutiles. Alors que pourtant depuis toujours j'essayais de formaliser.

    J'ai redécouvert Ada, aprés avoir été trop déçue des conscéquence à long terme de l'utilisation du C, par exemple. Même si je n'ai malheureusement pas toujours le temps que je voudrais maintenant, je regrète de ne pas être partie tout de suite sur Ada.

    Ada devrait être présenté comme on présente le Pascal, et je dirai même qu'on devrai reprendre les cours sur Pascal, et les adapté à Ada, mais en restant à un niveau basique. Puis dans d'autres ouvrages, traité ce qui distingue Ada de Pascal. Ainsi Ada serait plus abordable, et on l'aurait en main comme on prend Pascal en main, mais on aurait en main quelque chose qui va bien plus loin, quite à en découvrire toute les caractéristique bien plus tard... l'essentiel étant de le mettre dans des mains qui seront de futurs mains heureuses.

    Citation Envoyé par Seb_de_Lille
    [...] Autre diffuculté, son approche différente des autres langages. Si vous regardez les classiques C++/Java/C#, vous pouvez garder à peu près la même logique en passant de l'un à l'autre. Mais en passant sur Ada...
    Beh, quand tu dis ça, tu dis bien vrai, et tu dis trop bien autre chose aussi : il n'y a aucune innovation, puisque effectivement, C++/Java/C#, c'est pour ainsi dire, la même tanbouille. Java est célèbre et fut bien accepté justement parce qu'il est comme le C++, et C# est célèbre et fut bien accepter justement parce qu'il est comme Java. C'est à dire que la résistance au changement est tel, que le seul moyen de faire accepter une nouveauté, c'est de faire une nouveauté qui soit le même chose qu'avant. C'est idiot, mais c'est comme ça.

    C'est vrai qu'en dehors de Pascal, Ada, Prolog, Lisp, Eiffel, et quelque autres... les vraie innovations conceptuelles sont rares.

    Et on sait déjà que le prochain language, pour être accepté, devra être lui-même un clone de C++/Java/C#/C/PHP
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Hibou57
    Il y a une petite théorie bien répandu à ce sujet, qui me semble crédible : l'origine du projet étant un programme militaire américain, et les universitaires étant traditionelement anti-militariste, il y aurait comme une sorte d'allergie
    Je dirai au contraire, heureusement qu'ADA était soutenu par le DOD américain, sinon il n'aurait sûrement pas survécu.

    Avis perso : ADA est moribond car il a été pendant trop longtemps réservé à des professionnels avec des compilos à des prix exhorbitants.
    Des compilos "pour le peuple" n'ont été disponibles que bien trop tard par rapport à des languages comme le C

    Si on considère en plus la pauvreté au niveau bibliothèques (il suffit de jeter un oeil sur le Web), là ADA prend encore quelques coups sur la tête.
    Enfin, ça ne peut que s'améliorer, d'ailleurs la prochaine version d'ADA intègrera en standard un équivalent de la STL C++ (à peu de chose près).

    ADA reste quand même un excellent language hein. ^^

    Je travaille personnellement dans le contrôle du traffic aérien depuis une dizaine d'années et donc en ADA.

  7. #7
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    Citation Envoyé par boubastyle
    Avis perso : ADA est moribond car il a été pendant trop longtemps réservé à des professionnels avec des compilos à des prix exhorbitants.
    Des compilos "pour le peuple" n'ont été disponibles que bien trop tard par rapport à des languages comme le C
    je confirme

    en 1989-90 la société ALSYS (issue de l'équipe GREEN
    qui a conçu le langage) a sorti un compilo MS-DOS (*) à 9000 fr
    alors que Borland sortait dans le même temps un environnement
    de développement complet TurboPascal à 1500f capable
    de fabriquer des applications professionnelles

    entre un compilo pauvre et cher et un autre riche et
    bon marché, le "peuple" a vite choisi

    il faut rappeller aussi que ADA (neveu de Pascal) a été conçu avant tout
    pour les applis temps-réel, epsillon par rapport aux
    applis de gestion

    (*) OS monotache donc traitement parallèle inopérant

  8. #8
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    C'est vrai que même maintenant encore, en dehors de GNAT, il n'y a rien, nada (hihihi). Et l'environnement AdaGide qui vient avec les distributions GNAT, est loin, trés loin d'arriver à la cheville de l'environnement TurboPascal même sous DOS (!).
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  9. #9
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Une chose encore : on souligne toujours les effets bénéfiques de Ada sur les gros projets (je n'en referai pas la liste ici). Ceci tend à créé une distance avec les petit(e) développeurs/ses.

    Car il faut bien dire que Ada est également bénéfique même pour les petits projets. Le code Ada est plus clair et plus compréhensible (typage fort, pas de macros, etc)... et la lisibilité bénéficie aussi aux petits projets sur lesquels on ne travail que le dimanche :p

    Je dirai même plus : c'est même trés bénéfique pour les petits projets, parce que comme on passe peu de temps sur les petits projets, on y revient fréquement aprés les avoir laissé en stand-by un certain temps. Avec un mauvais langage comme le C, il faut alors faire beaucoup d'efforts pour se remettre la structure du programme à l'esprit, sa sémantique, etc. Avec Ada, la compréhension étant plus aisée, il est plus facile d'avoir une activité épisodique sur un projet en Ada que sur une projet en C.

    Ada facilitant nettement la réutilisation, et les petit(e)s developpeurs/ses ayant besoin d'utiliser efficacement et utilement le temps passé sur leurs projets, Ada permet de ne pas gaspiller son petit bout de temps à sans-cesse réinventer le roue (par nécéssité de sans-cesse re-intégré, comme cela se passe avec le C).

    Donc Ada pour les petits projets : oui, et même O.U.I. Et si c'est oui pour les petits projets en Ada, alors c'est oui pour répandre Ada chez monsieur et madame Toulemonde (mais il faudrait que l'offre en compilateur suive - pour l'instant c'est le monopole exclusif - et si cette offre doit être payante, qu'elle soit accessible à tous-tes... genre... des compilateurs à 5€ ou 10€)

    Je ne sais pas si c'est permis, mais je ferais bien ce post en double.. un ici pour la réponse, et le reposter en nouveau topic, pour ouvrire la question de Ada pour les petits projets.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  10. #10
    Membre actif

    Inscrit en
    Juin 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 229
    Points : 223
    Points
    223
    Par défaut
    Perso, j'utilise ADA en CGI, pour des sites web, pour plusieurs raisons :

    Par rapport à PHP, c'est infiniment plus :
    rapide,
    sécurisé,
    fiable,
    réutilisable,
    etc...

    Et pourtant, la syntaxe ada est aussi simple à lire (voire plus simple ?) que celle du PHP.

    Naturellement, je me dirige vers ADA ...

    Pour ce qui est des sites web en ADA, il y a également AWS (Ada Web Server) qui est disponible, mais c'est assez complexe, et je préfère en rester aux CGI. Mais AWS est excellent !

    De plus, je programme une grande partie de mes composants réutilisables (paniers, galeries photos, etc...) avec des ADT, et l'implémentation de ces derniers est extremement pratique en ADA.

    Voila !

  11. #11
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par pedouille
    Perso, j'utilise ADA en CGI, pour des sites web
    Me too
    Mais j'ai toujours ce problème de ne pas pouvoir compiler sur mon serveur, parce que je ne peux pas y installer Gnat. Alors je n'ai trouver que Adatocpptranslator, qui converti les programmes Ada en C++ ... reste à faire les essais.

    -> voir installer Gnat sous Débian sans être root
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  12. #12
    Membre actif

    Inscrit en
    Juin 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 229
    Points : 223
    Points
    223
    Par défaut
    Je m'écarte du sujet mais :

    tu ne peux pas compiler en statique sur une plateforme analogue à celle du serveur ? Je pense que ca devrai passer, pourvu qu'il y ai le même processeur et le même système ... Sinon, je n'ai jamais tester le convertisseur Ada -> C++. A l'occasion, je jetterai un oeil !

    Merci pour le tuyau

  13. #13
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    No, no, ce n'est pas tout-à-fait hors-sujet... il s'agit bien d'un post sur les utilisations de Ada... alors on peut bien parler des moyens concret de le mettre en oeuvre selon ces circonstances.

    Voici le liens pour AdaToCppTranslator : http://adatoccpptranslator.free.fr/eg/index.html

    Pour le reste, je t'ai répondu en MP.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  14. #14
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par Hibou57
    Ada devrait être présenté comme on présente le Pascal, et je dirai même qu'on devrai reprendre les cours sur Pascal, et les adapté à Ada, mais en restant à un niveau basique. Puis dans d'autres ouvrages, traiter ce qui distingue Ada de Pascal. Ainsi Ada serait plus abordable, et on l'aurait en main comme on prend Pascal en main, mais on aurait en main quelque chose qui va bien plus loin, quite à en découvrir toute les caractéristique bien plus tard... l'essentiel étant de le mettre dans des mains qui seront de futures mains heureuses.
    Tu as tous les ingrédients pour faire un excellent article (en ajoutant la liste des compilateurs et où en trouver des gratuits, c'est parfait). Ca te dirait de devenir rédacteur?

    Le langage a l'air intéressant, mais les cours sur DVP sont un peu trop "verbeux" pour séduire rapidement le néophite. De plus, tu as une excellente idée d'article avec des exercices pas à pas sur le langage.


    Citation Envoyé par Hibou57
    Et on sait déjà que le prochain language, pour être accepté, devra être lui-même un clone de C++/Java/C#/C/PHP
    Comme on peut le constater, un langage devient rapidement populaire lorsque:
    1. il facilite la vie du développeur et permet un développement rapide, avec moins de contraintes (ce qui va à l'encontre d'ADA)
    2. il propose un certain nombre de modules prêts à l'emploi dans des domaines variés
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  15. #15
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par pcaboche
    [...]
    • il propose un certain nombre de modules prêts à l'emploi dans des domaines variés
    C'est tout à fait ça. J'avais fait un topos sur le sujet, mais comme c'est un autre forum, je ne peux bien sûr pas donner le liens.

    Effectivement, on juge souvent un langage sur ce qu'il permet de faire... Mais cela a deux sens totalements différents. Il y a les capacités du langage à permettre de créé des systèmes selon des paradigmes plus ou moins bons (sujet à débat), et il y a ce que permettent de faire les librairies qui l'accompagne. Mais les librairies, ce n'es pas le langage.

    Si Lisp a connu un certains succés, c'est parce que l'une de ses distributions venait avec une monstrueuse masse de bibliothèques. Idem pour C++.

    Un exemple parlant : un jour quelqu'un m'a dit sur cet autre forum forum « C#, c'est super, avec C#, j'ai put coder en trois lignes, un programme pour envoyer un mail à quelqu'un, en donnant le contenu du mail en argument ». Je lui ai répondu « mais on peut ça avec n'importe quel langage, on en fait autant avec C ou Pascal, pourvu qu'on ai dans une librairie un méthode send_mail, ou quelque chose du genre ».

    La question d'un langage c'est « comment on fait les choses, et comment elles vivent par la suite »

    Ca montre à quel point certaines personnes mélangent tout. Parce que « purée », on ne juge pas un langage sur ses librairies. Et on pourrait même d'ailleurs penser à faire des librairies universelles, potentielement interfaçables avec n'importe quel langage, comme ça l'affaire serait enfin réglée une bonne fois pour toutes (c'est d'ailleur justement un peu ce que fait WindowsScriptHost - une collection de librairies unique, accessible à travers plusieurs langages).

    Et de plus, quand on disait que la plupart des langages n'apportent pas d'innovations, on pourrait en dire autant des bibliothèques, qui reviennent toujours avec la même forme. Parce que si les gens veulent toujours un langage qui ressemble au C, ils veuleent également toujours des bibliothèques qui ressemble à celles du C.

    Et pour ce qui est de l'argument que le langage perçu comme idéal est celui qui ne laisse le sentiment d'aucune contraintes... tout à fait d'accord. Et il n'y a pas que chez les hobbistes.. loin de là, même chez les professionels. Si les logiciels et les os bouffent toujours plus de resources, pour n'en faire finalement pas beaucoup plus qu'avant, c'est pas par hazard ...

    Bon, pour répondre à la question du topic, je dirai qu'on utilise Ada quand on a besoin de rigueure. Et là rigueure, on peut en avoir besoin pour le petit bout de programme qui renvoie un simple page web, aussi bien que pour la grosse base de données distribuée.

    Il n'y a pas de domaine reservé à Ada. Ce langage à été cantoné, par les faits, mais ce n'est pas sa nature qui l'indiquait. Non, Adada n'est pas reservé au gros devellopement. D'ailleurs par exemple, Gnat, qui peut servire à un usage industriel, s'intalle facilement sur mon vieux P133, alors que .NET qui est souvent utilisé pour du bricolage, n'y tiendrais jamais.

    On utilise Ada quand on ne fait pas l'autruche, et quand on préfère connaître la vérité sur les erreurs potentiel d'un programme. Un langage qui laisse tout passé, c'est bien... mais tout laissé passer, ça veut bien dire ce que ça veut dire. Ada, c'est la démarche opposé à la politique de l'autruche. Ada c'est l'outil de la démarche responsable. Et ça s'applique à qui le veut, ça n'est pas une question de catégorie d'application. Quelqu'un(e) de sensé pourra vouloir écrire une petite application en Ada, parce qu'il/elle aura l'esprit censé (rien à voir avec le type d'application), tout autant qu'un(e) irresponsable pourra coder une application critique en VB. C'est une question de démarche et d'état d'esprit... (la question du domaine d'application n'a rien à y faire).



    (je me répète, je sais, pardon ....... je vais essayer de promettre que c'est la dernière du genre ).
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  16. #16
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 102
    Points : 156
    Points
    156
    Par défaut
    ADA, j'ai bossé pendant bien des années avec ce langage et sur différents projets, beaucoup dans le temps réel embarqué puisque c'était son domaine de prédilection, d'autres en tant que serveurs.

    Bon, honnêtement, après toutes ces années je dis que ce langage n'est pas adapté à un environnement industriel.
    Il faut beaucoup de temps pour maîtriser ce langage et du temps, on en a de moins en moins quand on réalise un projet.

    Ce langage est si riche qu'il existe autant de chapelles de programmation qu'il existe de programmeurs : on ne trouvera que très rarement 2 fois les mêmes façons de concevoir ou de mettre en oeuvre un principe de conception. J'ai connu un jour un codeur qui avait mis 20 fonctions getId dans un paquetage, la différence se faisait par la surcharge : allez relire un tel code ( même fort bien documenté ) !!!
    A ce niveau, je préfère 100 fois le C : il existe des règles universelles en C et on n'est pas trop dépaysé quand on arrive sur un projet en C. Bon, j'ai aussi vu des grosses $$$*# en C qui rendaient le code illisible mais j'en ai vu beaucoup plus en ADA.
    On pourrait passer beaucoup de chose en revue : essayez de faire un simple cast... Essayez aussi d'expliquer à un débutant que ce code (simple) ne compile pas et pourquoi il ne compile pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    package p1 is
       type Montype is Integer range 0..50;
     function "+"(a : Montype;b:Montype) return p1;
    end p1;
     
    with p1;
    package p is
       type monType is new p1.Montype;
    end p;
     
    with p;
    procedure x is
    a : p.Montype := 0;
    b : p.Montype := 1;
    c : p.Montype := 0;
     
    begin
       c := a + b ;
    end ;
    Bien sûr, vous êtes libres de ne pas utiliser les types dérivés mais ils existent alors pourquoi s'en priver?

    Enfin, quand vous lui aurez expliqué pourquoi, demandez lui alors quel code est éxecuté lors de 'c := a + b; '

    Mais il y a encore mieux en ADA95 : j'hésite entre la gestion des pointeurs ou la défintion des classes... Là, je m'incline car je ne sais pas ce qui est passé dans la tête des concepteurs d'ADA95 pour produire quelque chose d'aussi monstrueusement compliqué et d'aussi lourd et d'aussi illisible...

    Pour ma part, c'est un langage qui a été conçu à une époque où le maître mot était "ne vous concentrez pas sur le bas niveau, le compilateur s'en occupe"... J'ai vu un nombre incalculable de projets exploser le budget à cause des problèmes de performance : ben oui, on a codé, on a "abstrait" sans se poser trop de questions sur ce que faisait le compilo et au final, pouf, il faut augmenter la puissance de la machine pour tenir les perfs.
    Il est vrai que vous pouvez facilement définir des structures de données "pesant" plusieurs méga octets sans vous en rendre compte. ( ex. : Il suffit de définir un type privé dans un paquetage générique dont la taille est fonction d'un paramètre de généricité, style tableau non contraint : ça peut passer, et puis à un moment ça va péter...) Comme le passage des arguments dans une procédure se fait par valeur, vous voyez d'ici le problème.
    J'ai passé aussi beaucoup de temps à comprendre pourquoi une exception pouvait être levé dans un code aussi simple que "c := a + b ;" alors que tout était correct.

    Alors, oui, c'est un beau langage, avec plein de choses mais beaocup trop lourd, et lorsqu'on arrive en fin de projet et que ça ne tient pas les perfs, il faut passer du temps à tout réoptimiser.

    A tel point d'ailleurs, que dans certaines applis critiques, à une époque, certains personnes avaient interdit l'utilisation de 90 % des fonctionnalités d'ADA!!

    En conclusion, je ne soutiens pas du tout ce langage et j'aimerais bien qu'il finisse par disparaître comme les dinosaures l'ont fait en leur temps !

  17. #17
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 158
    Points
    158
    Par défaut
    Le problème que tu évoques n'est pas propre à Ada. Une appli mal conçue déconnera quelque soit le langage utilisé. Un langage n'est jamais une solution à un problème de performance!

  18. #18
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    Pour ma part, c'est un langage qui a été conçu à une époque où le maître mot était "ne vous concentrez pas sur le bas niveau, le compilateur s'en occupe"
    sur cet aspect, vous avez raison. C'était un argument de "vente"
    --------------
    ADA en effectuant plein de vérification au niveau compilation,
    a apporté une fausse sécurité :

    on croyait qu'on allait, grâce à ADA, transformer un
    mauvais programmeur en un bon. Un bon programmeur C fera
    du code plus lisible qu'un mauvais programmeur ADA

    pas plus qu'un LEICA transforme un mauvais photographe
    en un bon

    un excellent outil n'est jamais une solution dans les mains d'un
    incapable, cela devient un problème de plus

  19. #19
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 158
    Points
    158
    Par défaut
    un excellent outil n'est jamais une solution dans les mains d'un
    incapable, cela devient un problème de plus
    Tout à fait d'accord.

  20. #20
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par hedes
    Bon, honnêtement, après toutes ces années je dis que ce langage n'est pas adapté à un environnement industriel.
    Il faut beaucoup de temps pour maîtriser ce langage et du temps, on en a de moins en moins quand on réalise un projet.
    Oo
    Ada est probablement le language le plus adapté à l'industrie, donc là je ne suis pas.
    Il est utilisé depuis des lustres dans ces domaines et j'ai rarement vu de suicides ... on a pas dû croiser du tout les mêmes gens .....

    Ce langage est si riche qu'il existe autant de chapelles de programmation qu'il existe de programmeurs : on ne trouvera que très rarement 2 fois les mêmes façons de concevoir ou de mettre en oeuvre un principe de conception.
    Tout comme en C ... entre ceux qui utilisent allègrement l'arithmétique de pointeurs et ceux qui essaient de coder des choses proprement ...
    Ce que tu dis n'a aucun sens, quel que soit le language, deux codeurs ne feront pas les choses de la même façon.

    J'ai connu un jour un codeur qui avait mis 20 fonctions getId dans un paquetage, la différence se faisait par la surcharge : allez relire un tel code ( même fort bien documenté ) !!!
    Quelle est la difficulté là-dedans? Je préfère des packages comme cela plutôt que des fonctions baptisées getIdOfDataX.
    Si le typage est clair, le nom de la fonction n'a pas besoin d'expliciter la source de l'info, mais seulement son rôle, donc pas de redondance inutile ... Maintenant, chacun ses goûts.

    A ce niveau, je préfère 100 fois le C : il existe des règles universelles en C et on n'est pas trop dépaysé quand on arrive sur un projet en C. Bon, j'ai aussi vu des grosses $$$*# en C qui rendaient le code illisible mais j'en ai vu beaucoup plus en ADA.
    Désolé, j'ai failli m'etouffer, des règles universelles en C???
    Oui, il y en a .... beaucoup.
    Le C est tellement universel que pendant longtemps, il était très difficile d'avoir un compilo qui couvrent l'ANSI, que du bonheur.
    Quand on commence comme cela, j'ai du mal à voir comment les règles de programmation peuvent être universelles ....
    Quoique Einstein a bien parlé de l'existence d'univers parallèles, ça doit être ça. ;)

    On pourrait passer beaucoup de chose en revue : essayez de faire un simple cast... Essayez aussi d'expliquer à un débutant que ce code (simple) ne compile pas et pourquoi il ne compile pas :
    Dans un cadre industriel, je préfère largement maîtriser les opérateurs utilisés plutôt que de compter sur des casts implicites qui mène à la cata comme en C.
    Combien de gens ai-je vu avoir des comportements erratiques à cause d'un passage signed -> unsigned qu'ils n'avaient pas vu ... dommage .....
    Bien sûr, vous êtes libres de ne pas utiliser les types dérivés mais ils existent alors pourquoi s'en priver?
    Je ne m'en prive pas.
    Partout où j'ai travaillé, aucune utilisation des types standards n'était faite (ou on les a enlevés).

    Alors, oui, c'est un beau langage, avec plein de choses mais beaocup trop lourd, et lorsqu'on arrive en fin de projet et que ça ne tient pas les perfs, il faut passer du temps à tout réoptimiser.
    Si tu essaies de me faire gober qu'en C tu ne t'arraches pas les cheveux de temps en temps en optimisation, je vais sûrement mourir de rire .....
    Ce n'est pas une question d'ADA, mais une question de bases générales en algorithmie et en structures de données.
    Maintenant, en ce qui concerne la lourdeur des compilos, c'était vrai à une époque, mais on en est sorti depuis ... Il est fini le temps ou l'on devait systématiquement shunter les traitements d'exception pour éviter des pertes de perf.

    A tel point d'ailleurs, que dans certaines applis critiques, à une époque, certains personnes avaient interdit l'utilisation de 90 % des fonctionnalités d'ADA!!
    Oui, et maintenant? Elle est là la vraie question. :)
    En conclusion, je ne soutiens pas du tout ce langage et j'aimerais bien qu'il finisse par disparaître comme les dinosaures l'ont fait en leur temps :P !
    Oui, le C c'est forcément mieux pour de l'industriel, c'est bien connu.... Et ça n'est clairement pas un dinosaure..... :o)

    Désolé si le ton déplaît, mais le tien était pas mal non plus. ^^

Discussions similaires

  1. [Matériel] Quel Mac possédez-vous, et pour quel usage ?
    Par kOrt3x dans le forum Apple
    Réponses: 140
    Dernier message: 10/04/2021, 22h56
  2. Perl scripting ;) Quel usage de perl ?
    Par djibril dans le forum Langage
    Réponses: 58
    Dernier message: 26/05/2009, 15h15
  3. Quel usage faites vous de Python (2004 - 2008) ?
    Par Guigui_ dans le forum Général Python
    Réponses: 130
    Dernier message: 04/12/2008, 00h59
  4. Quel usage faite vous de zope?
    Par Extra-Nitro dans le forum Zope
    Réponses: 3
    Dernier message: 13/09/2006, 11h23
  5. Quels usages faites vous de Linux ?
    Par Hibou57 dans le forum Applications et environnements graphiques
    Réponses: 22
    Dernier message: 05/04/2006, 04h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo