+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    février 2017
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2017
    Messages : 193
    Points : 6 088
    Points
    6 088

    Par défaut IA : Codota, une extension pour EDI, facilite la programmation centrée sur l'exemple

    IA : Codota, une extension pour EDI, facilite la programmation centrée sur l'exemple
    Avec Java et bientôt d'autres langages

    La startup israélienne Codota vient d’obtenir 2 millions de dollars de capitaux de démarrage de Khosla Ventures et d’autres investisseurs, dont l’université Technion d’où est issu le Prof. Eran Yahav, l’un de ses fondateurs. Dror Weiss, le cofondateur de la startup est d’avis que les développeurs passent 20 % de leur temps à la recherche de code. C’est donc pour leur simplifier la vie que la startup met à leur disposition une intelligence artificielle destinée à proposer du code en temps réel.

    Dans sa version actuelle, l’outil est proposé comme une extension à Eclipse (Mars au minimum), IntelliJ 14 (au minimum) et Android Studio, des environnements de développement intégrés que l’on retrouve sur les systèmes d’exploitation Windows, Linux et macOS. Les utilisateurs de l’EDI NetBeans devront probablement patienter encore un peu.

    Codota est disponible en deux versions. Celle disponible gratuitement en téléchargement permet de mettre l’intelligence artificielle à contribution pour proposer le code le plus adapté à la résolution d’un problème donné sur Internet, notamment sur des plateformes à forte notoriété comme GitHub et StackOverflow, et le proposer au développeur.

    Concrètement, au fur et à mesure que la tâche de développement évolue, l’outil propose des morceaux de code tirés de contenu en ligne qui résolvent le même problème sans nécessairement être codés selon l’approche adoptée par le développeur. « Plus nécessaire de chercher à réinventer la roue tout le temps. Avec cet outil vous arrêtez de rechercher le code, c’est lui qui vient à vous », déclare Dror Weiss.

    Petite précision cependant, les résultats retournés par cette version dérivent uniquement des capacités d’apprentissage du code disponible sur ces plateformes en ligne. Les développeurs intéressés par la possibilité d’utiliser l’outil pour qu’il fasse des propositions sur la base de l’apprentissage de leur propre code devront faire l’acquisition de la version payante.

    Cette version de l’outil prend uniquement Java en charge pour le moment. D’autres langages de l’univers du développement seront bientôt proposés aux utilisateurs. Il constituera donc sur le long terme une belle alternative à des outils existants comme Bing Code Search, une extension à Visual Studio qui permet à des développeurs de rechercher des exemples à partir de Bing ou Codex, une base de connaissance de bonnes pratiques de codage en langage Ruby.

    « Nous travaillons à ce que Codota soit l’assistant idéal du développeur dans les tâches qui lui incombent », déclare le Prof. Eran Yahav, à la suite duquel Vinod Khosla, fondateur de Sun Microsystems et de Khosla Ventures déclare : « L’intelligence artificielle aura un impact sur tous les aspects de la vie moderne et le développement logiciel ne sera pas en reste. Il y a énormément de quoi tirer profit de tous les importants dépôts de code actuellement disponibles en ligne. »


    Sources : Codota, Globes

    Et vous ?

    Que pensez-vous de cet outil ?

    Voir aussi :

    Bing s'invite dans Visual Studio, Bing Code Search permet de trouver et exploiter des extraits de code dans l'EDI
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre régulier
    Homme Profil pro
    Etudiant Communiste
    Inscrit en
    juin 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Etudiant Communiste

    Informations forums :
    Inscription : juin 2017
    Messages : 25
    Points : 92
    Points
    92

    Par défaut

    Ca promet d'être très intéressant : Gain de productivité, c'est pour ca que les entreprises vont payer pour, mais le développeur n'est pas en reste, il va pouvoir bénéficier d'une aide non négligeable puisque son code sera optimisé presque en direct, ce qui lui permettra d'intervenir sur des sujets plus complexes (et potentiellement plus intéressant)..

    J'ai vraiment hâte de voir ça appliqué à d'autres langages !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    août 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 119
    Points : 331
    Points
    331

    Par défaut

    Je vois la phase de codage comme deux tâches distinctes :
    - intégrer l'exploitation de tierces bibliothèques
    - concevoir les algorithmes et l'architecture qui font la plus-value de son propre logiciel

    La seconde tâche est ce qui fait la plus-value du produit logiciel. Je la considère donc hors de propos de cette IA.
    Parfois même, cette tâche peut être réduit à sa plus simple expression comme lorsque toutes les bib faisant la fonction existent, et qu'il ne reste plus qu'à les caréner/carrosser dans une belle IHM (un navigateur internet de base ou un client bittorrent, par exemple).

    Donc, ce que j'en comprends c'est que cette IA sera capable de fournir une aide à l'intégration de tierces bib.

    C'est très séduisant sur le papier lorsqu'on pense au temps que l'on perd à intégrer l'exploitation d'API dans son code.

    Mais je crains que ce soit reculer pour mieux sauter parce que j'imagine que cela ne va pas aller sans bug d'intégration : l'IA n'est pas parfaite. Il va bien falloir comprendre ce que l'IA a produit et donc perdre du temps à s'approprier ce qu'a écrit l'IA. Et si la façon d'écrire ce code ne correspond à rien d'humainement concevable ?

    J'imagine donc que cela doit être vu comme une aide à double tranchant : il se peut que cela fasse gagner du temps comme en faire perdre selon les circonstances.

  4. #4
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 418
    Points : 3 798
    Points
    3 798

    Par défaut

    salut

    bien au contraire cela ne vas pas optimiser le code mais plutôt avoir une multitude de copier\coller
    et donc de se retrouver avec énormément de méthode similaire que l'on aurais pu factoriser
    ... j'avoue que le "developpeur" utilisant ceci ne seras qu'un simple utilisateur de brique preconstruit
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  5. #5
    Membre éprouvé
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 768
    Points : 933
    Points
    933

    Par défaut

    A priori très intéressant. En effet je ne compte plus le nombre de fois où je me suis dit "Ah mais j'ai déjà fait un truc comme ça il y a un bout de temps où j'ai fichu ce code?". Ou encore "Sur quel site j'ai vu cet algorithme pour faire ça" et de passer un certain temps à faire des fouilles archéologiques
    Je pense que je vais l'essayer et voir ce que ça donne.
    Il y a des jours où j'éprouve une haine profonde envers microsoft
    Venez vous défouler ici ou c'est amusant
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  6. #6
    Expert confirmé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    novembre 2011
    Messages
    1 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 1 819
    Points : 5 747
    Points
    5 747
    Billets dans le blog
    2

    Par défaut

    Quid des licences ?

    Non parce que si j'ai bien compris, ce n'est pas l'IA qui produit le code, elle se contente d'afficher des bouts de codes retrouvés sur les sites cités, sur la base de la distance avec le code du programmeur local (j'imagine par comparaison de mots clés, mais peu importe, là n'est pas mon sujet). Du coup, c'est comme copier coller du code sur le net. Sauf que ce dernier ne se fait pas n'importe comment : les licences ça existe. Et si on prend un bout de code d'une lib sous GPL, c'est l'ensemble de notre code qui doit passer sous GPL, sinon on prend le risque du procès (à tout du moins de devoir revoir son code pour remplacer les buts de code copiés sans réfléchir). Je n'ai pas de doute que pour du très ponctuel, ça rentre dans le fair use américain. Mais là on parle d'un outil intégré qui tourne en continu, et donc d'un changement de pratique de fond où les copies qu'on faisait manuellement, qui étaient ponctuelles du fait du temps que ça prend pour les trouver, deviennent de vrais pratiques de codage à part entière. Je n'ai aucun doute qu'on finirait par voir un début de classe où on nous suggère d'implémenter une méthode comme ceci ou comme cela, puis de suggérer de manière très efficace les méthodes suivantes, sans se rendre compte qu'on vient de recopier une classe entière d'une autre lib. Celui qui prendra ces habitudes se retrouvera au final à recopier plus de code venant de libs qu'il ne connaît pas, plutôt que de chercher et intégrer les libs en question comme un dév compétent devrait le faire. Des suggestions de lib me semblent plus intéressantes que des suggestions de code : si l'IA est capable de retrouver le code, c'est que le code existe déjà, faut pas l'oublier.

    En résumé, ce genre d'outil favorise la réinvention de la roue au dépend de l'intégration de lib, en plus d'augmenter les risques de non respect des licences. Autant je suis tout à fait pour cette réinvention pour parfaire son expertise du code, mais cela se passe par le reconception, et non par la copie, de façon justement à augmenter la maîtrise du développeur. En dehors de ce contexte, je ne peux pas conseiller. Je vois donc cet outil surtout comme un n-ième piège de la productivité à tout prix.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/05/2014, 12h50
  2. Android++ : une extension pour développer des applications Android
    Par Stéphane le calme dans le forum Visual Studio
    Réponses: 10
    Dernier message: 31/01/2014, 23h41
  3. [File][JFileChooser]Ajouter une extension pour "Save as
    Par leminipouce dans le forum AWT/SWING
    Réponses: 10
    Dernier message: 27/01/2006, 15h45
  4. creer une extension pour exchange
    Par simoryl dans le forum C++
    Réponses: 2
    Dernier message: 23/03/2005, 11h47

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