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

Actualités Discussion :

Une étude de MIT ambitionne de remplacer les lignes de codes par le langage naturel

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 441
    Points : 197 509
    Points
    197 509
    Par défaut Une étude de MIT ambitionne de remplacer les lignes de codes par le langage naturel
    Une étude de MIT ambitionne de remplacer les lignes de codes par le langage naturel,
    vers la fin des langages de programmation ?

    L'apprentissage d'un langage de programmation peut parfois être long et pénible. Pour y remédier, les chercheurs du laboratoire de science informatique et d'intelligence artificielle (CSAIL) du MIT se sont penchés sur la question de savoir s'il était possible d'écrire des programmes en langage naturel, dans le cas d'espèce en anglais.

    Les résultats de ces recherches ont conduit à l'implémentation d'un système qui traduit la description d'une tâche en anglais standard en regex (un motif qui décrit un ensemble de chaînes de caractères possibles selon une syntaxe précise) afin que le programme puisse interpréter exactement la tâche qui lui est assignée.

    Les chercheurs ont donné au système des spécifications de texte pour différents formats de fichiers. Lesdites spécifications ont été écrites en langage naturel et le système a appris automatiquement comment l'interpréter et le convertir en langage de programmation afin que l'ordinateur puisse lire correctement les données contenues dans les différents formats de fichiers.

    Dans ses démonstrations, le CSAIL a donné la description suivante en langage naturel « mot de trois lettres commençant par X ». Le système a renvoyé la regex suivante « \bX[A-Za-z]{2}\b ».

    Le système est capable d'interpréter des spécifications de textes bien plus longues et compliquées pour les convertir en regex.


    Pour Luke Zettlemoyer, un assistant professeur au département des sciences informatique et de l'ingénierie à l'Université Washington, « il s'agit d'une première étape importante qui permettra aux utilisateurs de tous les jours de programmer sans aucune connaissance en langage de programmation. »

    Le système ne permettra pas encore aux personnes qui n'ont jamais écrit de ligne de codes de faire tout d'un coup des programmes sophistiqués puisqu'il est encore limité et à ses débuts. La discipline gagnant en maturité, il sera probablement possible d'écrire des programmes entiers avec le langage naturel.

    Source : recherche MIT (au format PDF)

    Et vous ?

    Que pensez-vous de cette initiative ? Les langages de programmation sont-ils en danger ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif

    Profil pro
    Grand Timonier des Chats
    Inscrit en
    Décembre 2011
    Messages
    879
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Grand Timonier des Chats

    Informations forums :
    Inscription : Décembre 2011
    Messages : 879
    Points : 3 302
    Points
    3 302
    Par défaut
    Un nouveau language de cinquième génération? Tous ceux qui ont été lancés dans le années 80 on échoués. Après, à voir les progrès dans le traitement des données non-structurée de cette dernière decennie (Watson, par exemple) c'est probablement possible, mais pour l'instant je pense que ce ne serait pas rentable.

  3. #3
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut
    Super on pourra fabriquer des programmeurs productifs qui n'auront aucune idée de ce qui se passe derrière ! Si il s'agit de faire que madame michu puisse programmer un truc sans trop se fouler pourquoi pas, mais j'ai peur des déviations que ça pourrait entrainer dans le monde pro.

    [mode troll hardcore = on]
    Finalement, ce serait juste la suite logique des langages managés... Un peu comme du java mais en pire quoi...
    [mode troll hardcore = off]

  4. #4
    Membre régulier Avatar de a_me
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    à mon avis, on cherche trop à faciliter les choses, le monde est devenu aveuglé par l'avancement et le développement, et la notion de développement et progression perd tout son sens.
    --- Silence of the Bones ---

  5. #5
    Membre confirmé Avatar de CHbox
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 107
    Points : 540
    Points
    540
    Par défaut
    J'y vois une forte utilité au sein de programmes de gestion qui propose à l'utilisateur de définir des règles simples, typiquement un des outils de mon client consiste à checker la liste des utilisateurs de l'Active Directory, ils peuvent définir des règles simples pour certains champs via des regex (typiquement vérifier le format d'un nom ou d'un numéro de téléphone) et les règles trop complexes sont définit dans le code, si on leur proposait ce système ça serait très pratique et bien plus facile d'accès.

    Au delà de ça je ne pense pas que ça mette en danger les langages de prog, il faudrait une rigueur énorme pour définir son code correctement, ce qui est loin d'être à la portée de tout le monde (là c'est plus un problème de rigueur et de sérieux que de capacité), je pense que quelqu'un capable de définir un programme vraiment complexe avec des phrases n'aura aucun mal à le coder voir même ira plus vite à la coder qu'à réfléchir à la tournure de la phrase (il suffit de voir l'exemple proposé pour s'en rendre compte), les gens qui n'ont aucune notion de programmation ne sauront pas comment décrire un programme, même avec des phrases.

  6. #6
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par CHbox Voir le message
    (.../...)Au delà de ça je ne pense pas que ça mette en danger les langages de prog, il faudrait une rigueur énorme pour définir son code correctement, ce qui est loin d'être à la portée de tout le monde (là c'est plus un problème de rigueur et de sérieux que de capacité), je pense que quelqu'un capable de définir un programme vraiment complexe avec des phrases n'aura aucun mal à le coder voir même ira plus vite à la coder qu'à réfléchir à la tournure de la phrase (il suffit de voir l'exemple proposé pour s'en rendre compte), les gens qui n'ont aucune notion de programmation ne sauront pas comment décrire un programme, même avec des phrases.
    +1000. La tournure d'esprit sera toujours nécéssaire. Il s'agit, essentiellement, de soumettre son esprit à l'idée que la machine n'infère rien. des gens capables de mettre des spécifications du genre "on alimentera la zone regroupement pro avec le fichier associé" sans même prendre la peine de préciser d'autres détails(la spec finale faisait deux pages), ne tireront jamais rien d'un langage de ce genre.

    ça ne veut pas dire que c'est inutile. Spécialement pour les regex, il peut être utile de rendre ça un peu plus lisible. Je ne jette pas le concept, il faut voir ce qu'il donnera.

    Mais celui qui ne sait pas discipliner son esprit n'en tirera rien.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  7. #7
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Ça va bien amuser les gens et je pense ça permettra de ne pas donner tous les détails d'un programme, car franchement parfois, on conçoit un algorithme dans la tête et on aurait aimer l’implémenter tel qu'on le comprend sans pour autant détailler touts les petits truc routinières et parfois propres à un langage.

    Je dis ça parce parfois, lorsqu'on conçoit un algorithme ou un modèle mathématique qu'on transforme en algorithme, on aurait aimer décrire l’algorithme et hop code déjà. Car après avoir fait un travail lourd intellectuellement, ça fait chier d'aller encore détailler des truc de rien du tout pour arriver à du concret. Alors qu'on veut voir tout de suite le résultat.

    Un petit exemple: vérifier qu'un élément appartient un ensemble, pourrait se réduire en " vérifier que a fait partie de X" , sans être obligé de dire qu'il faut créer une variable booléenne b, l’initialiser à faux, faire une boucle for de i=1 au nombre d’élément de X, et parcourir élément par élément si a=X[i] affecter b à vrai et sortir de la boucle, après la fin de la boucle vérifier si b est vrai ou faux. Regardez toute cette histoire juste pour arriver un truc aussi simple que ça.

    Et surtout ça fatigue pour des algorithmes qui touchent beaucoup de données parfois complex, parfois des matrices de plusieurs dimensions.

    En tout cas comment débuguer et corriger un tel code, surtout si c'est une autre personne qui va le faire

  8. #8
    Invité
    Invité(e)
    Par défaut
    Du COBOL en gros ? LOL. Non sérieusement faut arrêter avec les titres racolleurs et très subjectifs.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ça dispenserait de l'apprentissage de la syntaxe du langage. Mais cette étape est vraiment négligeable dans l'apprentissage de la programmation.
    Ça ne nous dispensera pas de penser comme un ordinateur, sous forme d'algorithme.

    Par exemple vérifier qu'un élément appartient un ensemble, pourrait se réduire en " vérifier que la variable a appartient à l'ensemble X" , sans être obligé de dire, qu'il faut faire une boucle for de i=1 à nombreelement(X), et parcourir tous les éléments et vérifier élément par élément si a=X[i] et à chaque vérification si c'est vrai on sort de la boucle avec un vrai, et à la fin de la boucle on sort avec un faux. Regardez toute cette connerie pour arriver un truc aussi simple que ça.
    Ton langage n'a pas de fonction Contains() ?

  10. #10
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut
    La peur que j'évoquais plus haut, c'est la peur d'avoir une communauté de décideurs/managers dire que la programmation c'est facile si ils utilisent ce genre d'outils ... ce qui aura tendance à répandre ce genre d'outils au delà de l'usage initial prévu et donnera du code non maintenable avec des perfs horrible.

  11. #11
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Citation Envoyé par Gastiflex Voir le message

    Ton langage n'a pas de fonction Contains() ?
    Mon langage!!! hh, tu oublies que ton Contains() est développé lui aussi de cette manière que j'ai décris. Tu oublies aussi que ça dépend des langages, les langages objets ne sont pas comme les langages procédurales, et les noms de la fonction diffèrent d'un langage à un autre, et si la variable a à vérifier qu'il appartient à l'ensemble X n'est pas de type prédéfini mais une variable complexe, comme un objet, ou une structure,un tableau, tu sera obligé de définir ton propre égale (equals en java) l'opérateur = en C++, en C c'est tout autre chose, il faut faire en dur.

    C'est ça la question pourquoi être obligé de faire tous ces détails alors que nous tous on comprend logiquement ce que ça veut dire vérifier qu'un élément a appartient à un ensemble X, indépendamment de n'importe quel langage.

    La 2e chose pourquoi prendre juste un exemple que j'ai donné juste pour illustrer, alors qu'il y plusieurs instructions totalement différents que des fonctions déjà implementés n'existent pas.

  12. #12
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par Kaluza Voir le message
    La peur que j'évoquais plus haut, c'est la peur d'avoir une communauté de décideurs/managers dire que la programmation c'est facile si ils utilisent ce genre d'outils ... ce qui aura tendance à répandre ce genre d'outils au delà de l'usage initial prévu et donnera du code non maintenable avec des perfs horrible.
    ça rejoint ce que je voulais dire(et que j'ai sans doute mal dit, vu mon -1). On peut changer les langages, mais la logique sous-tendue, elle, doit être implacable. Qu'on utilise un langage concis(C) ou verbeux(COBOL, mais Flow-Matic était bien plus baveux encore), si derrière on est pas rigoureux, ça va donner n'importe quoi.

    Mais c'est le reproche qu'on fait souvent au VBA : il y a plein de code pourri parceque la barrière d'entrée est très basse. Pourtant, si on traine sur le forum idoine, on trouve des gens de très haut niveau. Qui font du code impeccable, performant, clair, concis, évolutif... Les gens sérieux feront toujours du code sérieux, je ne me fais pas de souci là-dessus. L'avantage du C, c'est que les gens pas sérieux n'essayent même pas.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Gastiflex Voir le message
    Ça dispenserait de l'apprentissage de la syntaxe du langage.
    A condition, vu que c'est en langage naturel, d'avoir assuré l'apprentissage de son langage .... Ce qui, au vu d'un cetain nombre de posts, blogs, et autres fautes dans les titres y compris de grands médias, n'est pas gagné
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Après on remplacera le même langage binaire des processeurs par un langage naturel je crois.
    Mais franchement je ne vois vraiment pas la révolution que ça va apporter.

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Le bug du futur est la faute d'orthographe, de grammaire ou de syntaxe alors...Mon dieu, l'informatique est plus que jamais en danger

    Il y en a plein qui ont des angoisses à se faire vu leurs qualités de scribes....

  16. #16
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Cela permettra aussi l'enterrement la phase de raffinement et de génération de code pour les méthodes formels. On code juste le modèle formel.

  17. #17
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    [semi-troll]
    Mouais... C'est juste pour éviter d'avoir à apprendre une nouvelle langue...
    Moi personnellement je parle le C couramment donc je ne vois absolument pas l'intérêt de ce langage.

    De mon point de vue c'est comparable à l'esperanto cette affaire...
    [/semi-troll]

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  18. #18
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Si on leur donne les besoin tels qu'ils nous sont exprimés en entrée, ça pourrait être marrant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Create a graphical user interface that will manage the users.
    Vas-y Mr le langage évolué, code-nous donc ça.

  19. #19
    Membre extrêmement actif

    Profil pro
    Grand Timonier des Chats
    Inscrit en
    Décembre 2011
    Messages
    879
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Grand Timonier des Chats

    Informations forums :
    Inscription : Décembre 2011
    Messages : 879
    Points : 3 302
    Points
    3 302
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Si on leur donne les besoin tels qu'ils nous sont exprimés en entrée, ça pourrait être marrant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Create a graphical user interface that will manage the users.
    Vas-y Mr le langage évolué, code-nous donc ça.
    Skynet gère très bien les utilisateurs. Bon, ils ne bougent plus trop ensuite, mais justement, cette stratégie permet de les gèrer facilement

  20. #20
    Membre averti
    Profil pro
    Responsable technique
    Inscrit en
    Février 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable technique

    Informations forums :
    Inscription : Février 2006
    Messages : 363
    Points : 353
    Points
    353
    Par défaut
    Arretez ce dev tout de suite. Comment on va gagner notre vie apres?

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/03/2008, 18h00
  2. remplacer les boutons du formulaire par une image
    Par HwRZxLc4 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 30/08/2007, 21h00
  3. Remplacer les liens dans Formview par des boutons
    Par lemagicien dans le forum ASP.NET
    Réponses: 1
    Dernier message: 29/08/2007, 22h33
  4. Réponses: 3
    Dernier message: 12/09/2006, 12h53
  5. Réponses: 4
    Dernier message: 25/07/2006, 17h37

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