En poursuivant votre navigation sur ce site, vous acceptez nos CGU et l'utilisation de cookies afin de réaliser des statistiques d'audiences et vous proposer une navigation optimale, la possibilité de partager des contenus sur des réseaux sociaux ainsi que des services et offres adaptés à vos centres d'intérêts.
Pour en savoir plus et paramétrer les cookies...

Humeur : « Trop de langages tuent la programmation »

Humeur : « Trop de langages tuent la programmation »
 

Inscrivez-vous à la Newsletter BFM Business

Newsletter BFM Business

A voir aussi

Votre opinion

Postez un commentaire

7 opinions
  • cathy666666666
    cathy666666666     

    de fait, c'est bien une question d'immaturite de faire appel a une version tres mal comprise du darwinisme pour justifier la "diversité" des langages et des systemes, de parler de creativite (ah chouette, j'ai cree mon langage ! tadaaa !), de brandir le spectre du totalitarisme (ah, un seul langage pour tout le monde, et tout le monde en rang !)
    et etc...

    C'est bien d'une immaturité culturelle qu'il s'agit, d'un probleme d'identite de l'homo informaticus, et non pas un probleme technique.

    Sans compter, bien sur, le syndrome de l'armee mexicaine : plus il y a de niches, plus il y a de places de gourous, de chef, de conducator, et de place pour les anathèmes, les guerres de religions, les debats a n'en plus finir, les niches pour editeurs d'outils, les rayonnages de livres dans les librairies specialisees, avec le prestige et l'ego qui va avec etc...

    mais en attendant, quand l'informatique est un moyen et qu'on doit s'en servir pour accomplir une tache industrielle bien precise (au lieu d'etre un joujou), cette cacophonie est un veritable "pain in the ass" comme disent les americains, et un gaspillage considerable d'argent et d'energie

  • cathy666666666
    cathy666666666     

    dire que "Si un seul langage avait suffi, les informaticiens devraient tous utiliser ADA actuellement, ce qui n'est pas du tout le cas. Donc, un seul langage n'est pas adapté au besoin "
    est une faute de raisonnement (bien trop classique) : cela presuppose en effet que ada ait ete un langage "parfait" dans son domaine, tant dans son contenu que dans son developpement et sa diffusion. Or il ne l'est pas, loin s'en faut.

    C'est l'erreur classique du "ce qui est devait etre", du "il doit forcement y avoir une raison de fond quelque part" etc...

    Le fait est qu'on a besoin que d'un seul langage et non pas de cent mille,tout comme on n'a besoin que d'un seul format de prise electrique ou d'ecartement de rails de chemins de fer. Charge a ce langage d'etre assez souple et evolutif pour faire face a tous les problèmes (ce que n'avait pas ete ADA, qui lors de son début, par exemple, etait tellement rigide qu'il ne pouvait pas lire des fichiers textes avec des lettres accentuées !). Mais on n'a pas besoin d'avoir N syntaxes differentes de defintions de blocs, de definition de fonctions, d'opérateurs logiques etc... , pas besoin d'avoir N IDE differents, tous incomplets (tellement les efforts de developpement sont eparpilles)

    On sait le prix enorme qu'il faut payer a cause de cette tour de babel, et une grande part des innovations en informatique (et du travail des informaticiens) concernent de pres ou de loin, la gestion des ces problèmes de compatilité

    Aujourd'hui un UML unifié, mais qui continue a evoluer, a remplace la tripotée de langages de conception, et le monde informatique s'en n'est trouve que mieux. Il faut faire la meme chose avec les langages, mais avec une approche pragmatique au contraire du dogmatisme de ADA

    Et il s'agit bien d'une question de maturité et non pas de technique : il faut que les informaticiens cessent un peu de revasser a une "creativite" mal comprise et mal placee. De plus, les differents domaines d'utilisation (ce qui est le pretexte habituel pour justifier la multiplicite) depend bien plus de l'implementation du langage que de sa syntaxe elle meme : tout comme dans l'exemple d'uml, on pourrait faire un langage unique contenant toutes les bonnes idées, qui ne sont pas si nombreuses en fait (robustesse, lisibilite, productivite, facilite d'apprentissage, souplesse, modele objet, contrats, aspects...), en se laissant la possibilite de faire evoluer la norme (tout comme il y a eu un uml 1 et un uml 2)

    Il est temps qu'on normalise une fois pour toute, par exemple, la syntaxe des operations logiques d'un langage procedural : ca ne change absolument rien aux problemes a traiter par le langage, ca ne fait que faire ch... le monde a tout point de vue (apprentissage, gestion, etc...)

  • Zero zero
    Zero zero     

    Ah ne plus avoir à choisir ! Tout serait plus simple. Impossible de se tromper. Il y aurait bien quelques esprits chagrins pour le regretter, mais heureusement quelques belles plumes sauraient les convaincre de rejoindre le troupeau.

    Un même langage pour tout le monde. Sans aucun doute une belle avancée pour l'informatique et l'humanité. Comme si chaque langage ne véhiculait pas sa propre représentation du monde.

  • pat_a_a
    pat_a_a     

    Ma contribution initiale n'a pas été assez claire.
    Je voulais montrer que :
    - Si un seul langage avait suffi, les informaticiens devraient tous utiliser ADA actuellement, ce qui n'est pas du tout le cas. Donc, un seul langage n'est pas adapté au besoin ;
    - Si le "meilleur" langage devait émerger, ce ne serait pas le C ou ses descendants (C++, C#, Java, Javascript) car ils ne sont pas assez lisibles ;
    - Le choix des langages par les développeurs ou les décideurs est souvent pragmatique : langage déjà connu, base installée, gratuité ou coût des outils, et ceci bien souvent à l'encontre de la qualité du résultat.

    Ma préférence personnelle n'est pas à la multiplicité des langages, une petite dizaine me semble largement suffisant pour couvrir les différents domaines, mais je dois bien constater que les critères de pérennité et de maintenabilité passent souvent en dernier.

    Dans les années 80, j'ai participé à un projet qui permettait de vérifier automatiquement les anomalies d'un programme écrit en Pascal (ou tout autre langage à la syntaxe régulière, donc pas le C).
    J'en étais tellement enthousiaste que j'étais sûr que tous les informaticiens utiliseraient des langages permettant d'utiliser ces outils de vérification. Seuls quelques travaux académiques ont continué dans cette voie.

    Les rêves son nécessaires, c'est même pour cela que tant de nouveaux langages apparaissent car presque chaque créateurs croit que son nouveau langage sera la panacée universelle !

    Alors, il faut rêver, pour créer, mais il faut être aussi pragmatique. Comme Steve Jobs, par exemple...

    Un dernier exemple pour la route :
    Les formules d'un tableau Excel sont aussi un langage de programmation.
    Une étude des années 1990 a montré que, sur un échantillon de plusieurs centaines de feuilles utilisées dans des banques et services de gestion, audités par des experts externes, plus de 90 % sont mathématiquement fausses, même si les résultats affichés sont exacts à plus de 95 % (les erreurs n'apparaissent que sur les valeurs limites, donc ne sont pas détectés ni corrigées).
    Qui aurait le courage d'interdire ce langage (les formules Excel) qui permet tant d'erreur ? Ou les macros VB, qui ont les mêmes soucis ?

    Cordialement

  • l'auteur
    l'auteur     

    "qui ne SONT pas encore interdites", bien sûr :)

  • l'auteur
    l'auteur     

    Oui, c'est vrai, je ne suis qu'un jeune blanc-bec face à la maturité des langages et de certains programmeurs (comme vous j'imagine) :)

    Il n'empêche que c'est avec les rêves que l'on avance. Et rêver est bien l'une des dernières choses qui ne soient pas encore interdite en ce bas-monde...

    Merci pour votre contribution en tout cas. Il y a comme vous des partisans de la multiplicité des langages à la rédaction: http://pro.01net.com/editorial/510793/la-proliferation-des-langages-un-mal-necessaire/

    Amicalement

  • pat_a_a
    pat_a_a     

    Manque de maturité du métier ou de l'auteur ?
    ADA a été créé spécifiquement dans le but de n'avoir plus qu'un seul langage, avec l'insuccés éclatant que l'on connait, malgré toute l'énergie dépensée.

    Quel langage garder :
    - Modula-3, le plus cohérent, avec un fort typage, mais peu diffusé ?
    - C, qui n'est qu'un assembleur portable, à la syntaxe faite pour être écrite et non relue ?
    - les langages reprenant la syntaxe du C, comme Java, Javascript, C#, Objective-C ou autres, qui ne sont pas bien plus lisibles ?

    Je crains que les besoins de programmation soient trop divers pour se contenter d'un seul langage.

    Après l'utilisation en production de plus d'une dizaine de langages différents, mon préféré reste le Pascal (ou ADA) pour sa facilité d'abstraction et sa lisibilité.

Votre réponse
Postez un commentaire