Voyons ce qui existe comme langages de développement pour l’IA

Une fois un ordinateur quantique disponible, les algorithmes et le réseau neuronal définit ; quels langages peut-on utiliser à ce jour ?

Les 6 principaux langages de programmation pour l’intelligence artificielle

Avec quels langages de programmation, les professionnels de l’intelligence artificielle développent-ils ?

Voici les 9 langages les plus couramment utilisés.

Python

Python est le préféré de tous les programmeurs IA, mais vous êtes-vous demandé pourquoi il occupe une place particulière dans l’IA et l’apprentissage machine ?
Eh bien, il est livré avec un grand nombre de bibliothèques intégrées. Pour certains langages, l’individu doit d’abord apprendre le langage. Cependant, ce n’est pas le cas de Python.

L’essentiel sur Python
Pour chaque projet d’IA, vous pouvez choisir les bibliothèques qui conviennent le mieux à votre projet (SciPy, NumPy, Pybrain, etc.).
Comme Python implique de nombreux algorithmes, il facilitera les tests et l’écriture de codes simples
Python est agnostique aux plateformes et il existe une grande communauté open source.

Java

Java est un langage complet et facile d’accès ; considéré comme l’un des meilleurs langages pour les projets d’IA par un grand nombre de professionnels.

R

R est un langage de programmation populaire pour l’analyse statistique, comprenez le big data. Auparavant, ce langage était le langage de programmation préféré des spécialistes de l’analyse de données. Cependant, le R a eu un impact considérable sur l’IA au cours des dernières années, puisque la science de la donnée et l’IA ont convergé.

L’essentiel sur R
Il est parfaitement adapté à la modélisation de l’IA. Pour les besoins de la visualisation, R est le plus performant et R a une communauté énorme ainsi que des partisans farouches. A noter que certaines des grandes entreprises comme Google utilisent R pour la modélisation, la visualisation et l’analyse de données.

L’essentiel sur Java
Par exemple, si l’on prend la programmation IA en Java, elle est généralement utilisée pour créer des modèles de machine learnig, de programmation génétique, de systèmes multi-robots, etc.
Le fait que Java soit orienté objet et qu’il possède une grande capacité d’évolution correspond parfaitement aux projets à grande échelle et donc à l’IA.

Prolog

Il s’agit d’un langage de programmation logique spécifiquement utilisé pour effectuer des traitements en langage naturel. Vous avez déjà entendu parler d’Eliza ? C’est l’un des chatbots qui ont été écrits et c’est ainsi que Prolog a vu le jour.

L’essentiel sur Prolog
Les points forts sont le back-tracking automatique, le pattern matching et la structuration des données sous forme d’arbre.

Lisp

Très utilisé par les ingénieurs qui cherchent à élargir leurs horizons dans le domaine de l’IA, Lisp est un langage beaucoup moins répandus ; c’est un peu « papi fait de la résistance ».
Inventé par John McCarthy (le père de l’IA en 1958), le Lisp est considéré comme l’un des plus anciens langages utilisés pour le développement de l’IA.

L’essentiel sur Lisp
Lisp dispose d’excellentes capacités de prototypage et permet la création dynamique d’objets plus récents. Le cycle de développement prévoit une évaluation interactive des expressions ainsi que la re-compilation des fonctions même lorsque le programme est encore en cours d’exécution. Avec les progrès réalisés ces dernières années, de nombreuses fonctionnalités de Lisp ont été transférées vers d’autres langues, ce qui a affecté le caractère unique de Lisp.

Julia

Julia est un langage de programmation de haut niveau et performant pour le calcul scientifique, avec une syntaxe familière aux utilisateurs d’autres environnements de développement similaires (MATLAB, R, Scilab, Python, etc.). Ce qui en fait un bon choix dans le monde mathématique de l’IA bien que ce ne soit pas très populaire en tant que choix de langage en ce moment. Les wrappers comme TensorFlow.jl et Mocha (fortement influencés par Caffe) offrent un bon support d’apprentissage profond.

Swift

Chris Lattner, créateur du compilateur LLVM et du langage de programmation Swift, a annoncé Swift pour TensorFlow. Swift pour TensorFlow permet d’importer des bibliothèques Python telles que NumPy et de les utiliser dans le code Swift presque comme avec n’importe quelle autre bibliothèque.

MATLAB

MATLAB rend les parties difficiles de l’apprentissage automatique faciles avec des applications « pointer-cliquer » pour former et comparer des modèles, des techniques avancées de traitement du signal et d’extraction de caractéristiques, sélection des fonctionnalités pour optimiser les performances d’un modèle, la possibilité d’utiliser le même code pour étendre le traitement aux big data et aux clusters, etc.

Petit aparté sur Python

Comme vu ci-dessus Python est un langage très populaire pour les développeurs ; mais il a un gros défaut : sa lenteur !

Ceci vient du fait que ce soit un langage interprété ; pour quelques lignes en mode commande ou un petit programme ce n’est pas significatif. Mais pour des programmes plus lourds avec beaucoup d’itération , cela devient vite rédhibitoire. En conséquence, Guido van Rossum, créateur de Python il y a 30 ans, a fait part de son ambition de le rendre deux fois plus rapide, en remédiant à l’une des principales faiblesses de Python par rapport à des langages comme le C++.

La rapidité du noyau Python (CPython) est l’une des raisons pour lesquelles d’autres implémentations ont vu le jour, comme Pyston.

Son manque de performance explique en partie pourquoi Python a gravité vers la science des données et l’apprentissage automatique, où de nombreuses charges de travail sont confiées aux GPU. L’autre raison de son essor dans ces domaines est la richesse des bibliothèques spécifiques, de NumPy, Keras au framework d’apprentissage automatique comme TensorFlow.

van Rossum a publié un document sur GitHub, celui ci détaille certaines de ses ambitions pour faire de Python un langage plus rapide, promettant de doubler sa vitesse dans Python 3.11 – l’une des trois branches de Python qui émergeront l’année prochaine dans une version pré-alpha.

Le créateur de Python a été embauché en novembre par Microsoft, le faisant sortir de sa retraite après un passage chez Dropbox.

Il explique qu’il « s’ennuyait à la maison pendant sa retraite » et qu’il a postulé pour un poste chez Microsoft. Il occupe désormais la position privilégiée d’ingénieur distingué chez Microsoft qui lui a « donné la liberté de choisir un projet » donc il explique qu’il a « choisi de revenir à ses racines« . D’après M. van Rossum, Microsoft a financé une petite équipe Python pour « prendre en charge l’amélioration des performances » du langage interprété. Il dispose d’une équipe de cinq développeurs principaux qui contribuent au développement de CPython, dont Brett Cannon, Steve Dower, Guido van Rossum, Eric Snow et Barry Warsaw – tous des vétérans de la communauté des développeurs principaux de Python.

Tous les développeurs attendent avec impatience les résultats de ces travaux.

 

De l’importance des bibliothèques

Un langage de développement c’est bien, mais il n’est pas nécessaire de réinventer la roue !

Il existe plusieurs bibliothèques de ressources disponibles ; je ne citerai que les deux seules que je connais un peu :

 

KERAS

Keras est l’une des excellentes bibliothèques Python pour l’apprentissage automatique. Il facilite l’expression des réseaux de neurones et fournit certains des meilleurs utilitaires pour la compilation de modèles, le traitement de jeux de données, la visualisation de graphiques, etc…Keras utilise Theano ou TensorFlow en arrière-plan et fournit des modèles portables utiles. Le meilleur de cette bibliothèque est qu’ il supporte presque tous les modèles de réseau de neurones – entièrement connecté, convolutionnel, pooling, récurrent, intégration, etc. Keras est actuellement utilisé par Netflix, Uber, Instacart, Square et bien d’autres .

 

Scikit-Learn

Scikit est l’une des bibliothèques Python les plus utiles pour travailler avec des données complexes. Associé à NumPy et SciPy, il comporte de nombreuses fonctionnalités utiles. Le point majeure est la fonctionnalité de validation croisée, qui permet désormais d’utiliser plus d’une métrique. D’autres méthodes de formation telles que la régression logistique et les voisins les plus proches ont également présent.
Scikit-Learn fournit de nombreux algorithmes pour la mise en œuvre de tâches standard d’apprentissage automatique et d’exploration de données, telles que la réduction de la dimensionnalité, la classification, la régression, la mise en cluster, etc.

Numpy

Numpy est une autre bibliothèque Python populaire pour les manipulations de données ; ce n’est directement une bibliothèque pour l’IA. C’est facile à utiliser, interactif et assez intuitif. Cela rend les implémentations mathématiques complexes très simples. Numpy peut être utilisé pour exprimer des images, des ondes sonores et d’autres flux bruts binaires sous la forme d’un tableau de nombres réels à N dimensions.Cela facilite grandement le codage et aide à comprendre les concepts. Les bibliothèques populaires telles que TensorFlow utilisent Numpy en interne pour effectuer plusieurs opérations sur Tensors. L’interface de tableau est la fonctionnalité la plus mise en évidence de Numpy.

PyTorch :

Un ensemble de bibliothèques pour travailler avec des réseaux de neurones sur Android.

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

Cas Particulier : TensorFlow

TensorFlow est une bibliothèque open source de Python développée par Google en collaboration avec Brain Team. TensorFlow est utilisé pour écrire de nouveaux algorithmes qui impliquent un grand nombre d’opérations tenseur. Les réseaux de neurones pouvant être facilement exprimés sous forme de graphiques de calcul, ils peuvent être mis en œuvre sous la forme d’une série d’opérations sur les tenseurs utilisant TensorFlow. De plus, ces tenseurs sont des matrices à N dimensions qui représentent vos données.

Contrairement à Numpy et à d’autres bibliothèques, TensorFlow vous permet de visualiser facilement chaque partie du graphique, ce qui n’est pas le cas avec Numpy ou SciKit. Il est facile à former sur le processeur ainsi que sur le processeur graphique pour l’informatique distribuée. TensorFlow est utilisé dans presque toutes les applications Google pour l’apprentissage automatique.

Ponicode : une révolution industrielle du code informatique

Unit test in just a few clicks

Create, modify and visualize your unit tests in seconds and boost your code coverage with our AI-based test generation. Focus on what’s important: delivering great features to your users.
A VS Code extension for all your Javascript, Typescript and Python projects.

Créez, modifiez et visualisez vos tests unitaires en quelques secondes et améliorez la couverture de votre code grâce à notre génération de tests basée sur l’IA. Concentrez-vous sur l’essentiel : offrir des fonctionnalités exceptionnelles à vos utilisateurs.
Une extension VS Code pour tous vos projets Javascript, Typescript et Python.

Pour comprendre cette petite révolution ; allons sur le site Ponicode.

L’intelligence artificielle de Ponicode teste les différentes fonctions des programmes informatiques, pour décharger les développeurs de tâches fastidieuses et chronophages. La start-up parisienne vient de publier la version bêta d’une appli pour Visual Studio Code, un environnement de développement en open source proposé par Microsoft.

Précisons que Ponicode est une start-up française.

Comment disposer d’un Data Set ?

Pour l’apprentissage machine ou l’apprentissage profond, il est fondamental de disposer d’un ensemble de données cohérentes.

Il existe plusieurs sites pour répondre à ce besoin, en voici quelques exemples :

Bigfrost permet, grâce a son API, d’accéder à des jeux de données.

Generate diverse datasets for machine learning
A synthetic data API for AI developers

Alternative products to Bifrost Data Search

Voici quelques autres sites de collection d’images :

AI/ML Reads
AI/ML Reads
Apple Core ML
ML Kit (by Google)
Monitor ML
Gorp

Python : Comment créer son intelligence artificielle

Une vidéo de la maison StudioTV

Diffusée sur YouTube le 10 août 2019

Le collectif Confiance.ai lance un nouvel AMI à destination des start-up et PME innovantes

Après avoir lancé un premier AMI en 2021 invitant les start-ups deeptech et les PME à participer aux actions prioritaires de la stratégie nationale d’IA, le collectif Confiance.ai leur lance un nouvel Appel à Manifestation d’Intérêt les appelant à contribuer, grâce à leurs technologies, à la résolution de verrous technologiques et à l’élaboration d’un environnement de confiance visant à industrialiser l’intégration de l’intelligence artificielle dans les systèmes critiques et stratégiques (véhicule autonome, dispositifs médicaux, robotique, avionique…).  Les lauréats seront sélectionnés pour un démarrage des travaux en septembre 2023.

L’article complet : Le collectif Confiance.ai lance un nouvel AMI à destination des start-up et PME innovantes
Publié sur ActuIA Le 2 mars 2023, par Thierry Maubant

 

2021 Global DevSecOps Survey

GitLab : For the fourth year in a row, we asked DevOps teams to tell the truth about their practices and processes, their challenges and their careers.
GitLab :Pour la quatrième année consécutive, nous avons demandé aux équipes DevOps de dire la vérité sur leurs pratiques et processus, leurs défis et leurs carrières.

Le rapport complet est téléchargeable : Download the report

Cette enquête montre que le rythme des sorties de logiciels n’a fait que s’accélérer ces quatre dernière années et DevOps est la raison de cette accélération. Désormais, l’intelligence artificielle et le machine learning comme le Deep Learning commencent également à jouer un rôle dans cette accélération des sorties de code. L’enquête de GitLab, menée auprès de 4 300 développeurs et responsables, révèle que certaines entreprises publient du code 10 fois plus vite que lors des enquêtes précédentes. Presque toutes les personnes interrogées, 84 %, déclarent qu’elles publient du code plus rapidement qu’auparavant, et 57 % affirment que le code est publié deux fois plus vite, contre 35 % il y a un an. Près d’une personne sur cinq, soit 19 %, affirme que son code est publié 10 fois plus vite…

Checkmark icon

Single source of truth

Manage projects, not tools. With GitLab, you get an open DevOps platform delivered as a single application—one interface, one conversation thread, one data store, zero headaches.

En savoir plus …

Continuous everything

Bridge Dev and Ops once and for all. Our industry-leading CI/CD empowers all teams to work together efficiently. Powerful, scalable, end-to-end automation is possible with GitLab.

En savoir plus …

Secure icon

Real-time security

See everything that matters. Built-in everything brings automated security, code quality, and vulnerability management. With GitLab, tight governance and control never slow down DevOps speed.

En savoir plus …

Focus points :

In the midst of a global pandemic and a new way of working, teams got serious about what matters most, creating what amounts to a new DevOps maturity model. GitLab’s just-released 2021 Global DevSecOps Survey found sharp increases in automation, release cadences, continuous deployments, and security postures, as well as a growing reliance on cutting edge technologies, including artificial intelligence and machine learning. Nearly 4300 people shared their struggles and successes, and demonstrated a commitment to DevOps maturity like we’ve never seen before.

 

What does this new DevOps maturity model look like? Well for one thing, it looks like it’s working. We think the year over year growth statistics speak for themselves:

  • 60% of developers are releasing code 2x faster than before, thanks to DevOps – up 25% from (pre-pandemic) 2020.
  • 72% of security pros rated their organizations’ security efforts as “good” or “strong” – up 13% over 2020.
  • 56% of ops teams members said they are “fully” or mostly automated – up 10% from 2020.
  • Almost 25% of respondents claimed to have full test automation – up 13% from 2020.
  • 75% of teams are either using AI/ML or bots for test/code review, or they’re planning to – up 41% from 2020.
  • Last year dev, sec, and ops said they needed better communication and collaboration skills for their future careers. This year, after an intense period of enforced soft skills, their priorities have shifted dramatically to AI/ML (devs), subject matter expertise (sec), and advanced programming (ops).

Les points centraux :

Au milieu d’une pandémie mondiale et d’une nouvelle façon de travailler, les équipes sont devenues sérieuses sur ce qui compte le plus, créant ce qui revient à un nouveau modèle de maturité DevOps. L’enquête mondiale DevSecOps 2021 de GitLab, qui vient d’être publiée, a révélé une forte augmentation de l’automatisation, des cadences de publication, des déploiements continus et des postures de sécurité, ainsi qu’une dépendance croissante aux technologies de pointe, notamment l’intelligence artificielle et l’apprentissage automatique. Près de 4300 personnes ont partagé leurs luttes et leurs succès, et ont démontré un engagement envers la maturité DevOps comme nous n’en avons jamais vu auparavant.

À quoi ressemble ce nouveau modèle de maturité DevOps ? Tout d’abord, il semble qu’il fonctionne. Nous pensons que les statistiques de croissance d’année en année parlent d’elles-mêmes :

  • 60 % des développeurs publient du code deux fois plus vite qu’avant, grâce à DevOps, soit une augmentation de 25 % par rapport à 2020 (avant la pandémie).
  • 72 % des professionnels de la sécurité ont qualifié les efforts de sécurité de leur organisation de « bons » ou « forts » – en hausse de 13 % par rapport à 2020.
  • 56 % des membres des équipes d’exploitation ont déclaré être « entièrement » ou principalement automatisés – en hausse de 10 % par rapport à 2020.
  • Près de 25 % des répondants ont affirmé disposer d’une automatisation complète des tests – en hausse de 13 % par rapport à 2020.
  • 75 % des équipes utilisent l’IA/ML ou des bots pour la révision des tests/codes, ou prévoient de le faire – en hausse de 41 % par rapport à 2020.
  • L’année dernière, dev, sec et ops ont déclaré avoir besoin de meilleures compétences en communication et en collaboration pour leur future carrière. Cette année, après une période intense de renforcement des compétences générales, leurs priorités se sont déplacées de façon spectaculaire vers l’IA/ML (devs), l’expertise en la matière (sec) et la programmation avancée (ops).

L’IA sait déjà coder, mais elle est nulle en cybersécurité

Le potentiel de l’IA appliquée à la programmation est énorme; mais pour l’instant, l’humain ne peut pas encore lui faire confiance sur le terrain de la cybersécurité. 

Présentation

Dans le domaine du développement, par définition codifié à outrance, l’IA affiche un potentiel absolument délirant et extrêmement concret. Elle peut par exemple être utilisée pour rendre les suggestions des systèmes d’autocomplétion extrêmement pertinentes. C’est par exemple ce que fait le Copilot d’OpenAI.

D’autres variantes peuvent même générer des bouts de code fonctionnels à partir d’une simple indication en langage courant. Exactement comme les générateurs d’image de type DALL-E, mais pour du code informatique. C’est notamment le cas de Codex, un autre programme signé OpenAI.

Sans surprise, de très nombreux spécialistes y voient donc le futur de la programmation. Mais comme souvent avec le machine learning, il va falloir manœuvrer délicatement. Car la route qui nous mènera à cette révolution annoncée est parsemée d’ornières techniques, réglementaires et éthiques, et les premiers points de fiction commencent déjà à émerger.

Une béquille à double tranchant

Et récemment, une étude repérée par TechCrunch a encore prouvé que cet outil n’est pas une panacée. Dans leur papier, des chercheurs rattachés à l’Université de Stanford affirment que les développeurs qui travaillent avec des systèmes génératifs comme Copilot ont plus de chances d’introduire des vulnérabilités dans leurs programmes.

Pour parvenir à cette conclusion, les chercheurs ont recruté 47 développeurs aux profils très différents. Certains étaient n’avaient même pas encore complété leurs études, tandis que d’autres étaient des professionnels chevronnés avec une expérience considérable dans cette industrie.

Faire aveuglément confiance à l’IA est très risqué

Ces travaux ne portaient que sur un outil en particulier. Mais ces conclusions valent aussi pour tous les autres systèmes de ce genre. Et pour les auteurs de ces travaux, cela signifie qu’il va falloir redoubler de vigilance. Pas question de se reposer entièrement sur ces algorithmes avant qu’ils arrivent à maturité.

« Les développeurs qui les utilisent pour réaliser des tâches en dehors de leur propre champ d’expertise devraient être préoccupés », explique Neil Perry, doctorant à Stanford et co-auteur de l’étude dans une interview à TechCrunch. « Et ceux qui les utilisent pour accélérer des tâches qu’ils maîtrisent déjà doivent vérifier avec soin leurs productions et la façon dont elles s’intègrent au projet global », martèle-t-il.

Si ces vulnérabilités ont tendance à apparaître, c’est que ces systèmes ne sont pas spécialisés dans la cybersécurité. Ce sont des développeurs plutôt généralistes. Ils sont nourris à partir de milliards de lignes de code disponibles en accès libre.

Extraits de l’article : L’IA sait déjà coder, mais elle est nulle en cybersécurité
Publié sur Le Journal du Geek par Antoine Gautherie le 30 décembre 2022

 

Ndlr: je voulais écrire un article sur ce sujet mais celui-ci est très bien tourné !

Même si les progrès sont très rapide, il ne faut pas oublier que les programmeurs humains (bizarre comme formulation, mais il faudra si faire) ont (encore) une vision bien plus large que les réseaux neuronaux !

Quelques vidéos pour continuer sur ce sujet

 

Another Boring Topic

VisiCalc: The First Electronic Spreadsheet

TanRu Nomad

Cette IA traduit votre code d’un langage de programmation à un autre en quelques secondes !

L’intelligence artificielle continue de nous étonner, cette fois avec sa capacité à traduire du code vers un autre langage de programmation.

 

Une quarantaine de langages sous le capot

C’est McCkay Wrigley qui nous fait découvrir ce petit bijou sur Twitter, baptisé tout simplement AI Code Translator. Riche d’une quarantaine de langages, comme C++, JavaScript, Python ou SQL, il bénéficie de l’apport de GPT-3.5 et même de GPT-4 pour permettre de passer d’un langage à un autre en ne faisant guère rien d’autre que jouer avec la souris.

Comme vous pouvez le constater, l’interface est très épurée et permet une utilisation extrêmement intuitive, qui n’est pas sans rappeler les traducteurs connus de tous tels que DeepL ou Google Translate. Il suffit de choisir le langage d’origine à gauche, celui vers lequel il sera traduit à droite, et de cliquer sur le bouton « Translate ».

Voilà ! Bientôt un outil indispensable dans les entreprises ?

Je n’ai pas encore vraiment tester cette application, mais je le ferai sous peu et cet article sera mis à jour.

Voilà, ChatGPT vient de déboguer mon code

ChatGPT peut non seulement écrire du code, mais aussi en lire. D’un côté, c’est très utile. D’autre part, c’est vraiment terrifiant. Exemples concluants et non concluants avec regex, formatage de tableau et debug.

Tests de ChatGPT dans le monde réel

Cette semaine, j’ai travaillé sur trois tâches de codage pour la maintenance d’un logiciel. Deux d’entre elles consistaient à corriger des bogues signalés par des utilisateurs. L’autre était un nouveau morceau de code pour ajouter une nouvelle fonctionnalité. Il s’agissait donc pour moi d’un véritable travail de programmation, une partie de mon travail habituel.

Cette fois-ci, c’était différent. J’essayais de faire du vrai travail, et j’ai décidé de voir si ChatGPT pouvait être un outil utile pour faire ce travail.

C’est une façon différente de voir ChatGPT. Les scénarios de test sont souvent un peu artificiels et simplistes. Le codage dans le monde réel consiste à retirer un ticket de support client de la pile et à travailler sur ce qui a fait que l’expérience de l’utilisateur s’est détériorée. Sur ce, examinons ces tâches et voyons comment ChatGPT s’est comporté.

Réécriture du code d’expression régulière

En programmation, nous devons trouver de nombreux pattern dans le code. Pour ce faire, nous utilisons une forme de mathématiques symboliques appelées expressions régulières, dite regex. J’écris des expressions régulières depuis des décennies et je n’aime toujours pas le faire. C’est fastidieux, source d’erreurs et souvent indéchiffrable.

Aussi, lorsqu’un rapport de bogue m’a signalé qu’une partie de mon code n’autorisait que les nombres entiers alors qu’il devrait autoriser les dollars et les cents (en d’autres termes, un certain nombre de chiffres, éventuellement suivis d’un point, puis, s’il y a un point, suivis de deux chiffres supplémentaires), j’ai su que je devrais utiliser le codage par expressions régulières.

Comme je trouve cela fastidieux et ennuyeux, j’ai décidé de demander de l’aide à ChatGPT. Voici ce que j’ai demandé :

regex-q

Et voici la réponse très bien présentée de l’IA :

regex-a

J’ai inséré le code de ChatGPT dans ma fonction et cela a fonctionné. Au lieu de 2 à 4 heures d’arrachage de cheveux, il m’a fallu environ cinq minutes pour trouver l’invite et obtenir une réponse de ChatGPT.

Reformatage d’un tableau

L’étape suivante était le reformatage d’un tableau (array). J’aime bien faire du code de tableau, mais c’est aussi fastidieux. J’ai donc essayé une fois de plus ChatGPT. Échec total.

J’ai probablement envoyé dix messages différents. Certaines réponses semblaient prometteuses, mais lorsque j’ai essayé d’exécuter le code, ça n’a pas marché. Certains codes ont planté. Certains codes ont généré des codes d’erreur. D’autres encore s’exécutaient, mais ne faisaient pas ce que je voulais.

Au bout d’une heure, j’ai abandonné et je suis revenu à ma technique habituelle, qui consiste à fouiller dans Github et StackExchange pour voir s’il existe des exemples de ce que j’essaie de faire, puis à écrire mon propre code.

La suite sur : Voilà, ChatGPT vient de déboguer mon code. Pour de vrai !
Publie sur ZDNet par David Gewirtz le 3 avril 2023 ; traduction depuis ZDNet US : Okay, so ChatGPT just debugged my code. For real

Lire également : ChatGPT va-t-il remplacer les développeurs informatiques ?
Publié sur Free-work le 12 décembre 2022

Bon à savoir

Il y a deux raisons pour lesquelles @ a été inclus dans les adresses e-mail.

Le premier, que c’était une icône peu utilisée. La seconde, qu’en latin, le symbole signifie « en », ce qui donne un sens aux adresses (par exemple, utilisateur (en) providerofmail.com).

L’IA qui déniche les meilleurs développeurs derrière le code

Cette application croise les données de GitHub et de LinkedIn et établit une sélection de développeurs à recruter en fonction de leur maitrise des langages ou leurs contributions aux projets open source. 

We’ve analyzed the programming source code of 60 million software developers from all over the world and scored them by 50,000 skills

 

La situation à ce jour

La pénurie de développeurs n’a jamais été aussi forte qu’en cette rentrée. En France, comme partout dans le monde, les recruteurs peinent à trouver des codeurs en Python ou des experts DevOps. Le marché de l’emploi manque cruellement de candidats tandis que les développeurs en poste sont tellement sollicités qu’ils préfèrent restés sous le radar des recruteurs.

La start-up californienne Prog.ai propose d’aller dénicher ces développeurs en veille plus ou moins active en allant sur leur propre terrain de jeu : GitHub. S’appuyant sur ChatGPT d’OpenAI, son IA cartographie en permanence les compétences qui se cachent derrière les lignes de code de la célèbre plateforme de dépôt pour déceler les meilleurs développeurs en fonction des langages de programmation, des bibliothèques utilisées ou de leurs contributions aux projets open source.

Prog.ai va ensuite croiser ces données avec celles du réseau social professionnel LinkedIn, également propriété de Microsoft, pour associer à chaque profil sa localisation, son parcours (titres, ancienneté, différents postes occupés), sa formation initiale et continue. Au total, la plateforme revendique une base de plus 60 millions d’experts en génie logiciel qu’il est possible de sélectionner au travers d’une multitude de critères.

Éviter les sollicitations non pertinentes

En fournissant le maximum d’informations sur les développeurs via Prog.ai, les recruteurs gagneront en pertinence dans leurs recherches afin d’améliorer l’expérience candidat.

Une fois les candidats sélectionnés, Prog.ai révèle leur adresse mail et leurs comptes LinkedIn, GitHub. Le recruteur peut exporter ces données dans un fichier au format CSV ou directement dans un logiciel de gestion des candidatures ou ATS (Applicant Tracking System). Prog.ai permet aussi de mener des campagnes de recrutement par mail en s’intégrant à la plateforme d’outbound recruiting de Lemlist. Last but not least, la société propose de personnaliser le contenu des messages envoyés afin d’optimiser le taux d’ouverture.

Search across 60 million candidate profiles by skills, location, seniority
level, current and past employment

Recherche parmi 60 millions de profils de candidats par compétences, localisation, niveau d’ancienneté, emploi actuel et passé.
niveau d’ancienneté, emploi actuel et passé

Prog.AI finds the best matches by analyzing programming source code of all potential candidates

 Prog.AI trouve les meilleures correspondances en analysant le code source de programmation de tous les candidats potentiels.

Reach out to candidates by email with our integrations or download a CSV file

Contactez les candidats par e-mail grâce à nos intégrations ou téléchargez un fichier CSV.

Search → Analyze Hire

Un mode de démonstration est disponible sir le site : Prog.ai

GitHub Copilot est un outil pour vous assister pendant que vous codez

GitHub Copilot est une aise précieuse pour le développeur,  il sait suggérer des éléments d’autocomplétion lorsque vous commencez à rédiger du code, mais également répondre à vos requêtes textuelles qui décrivent ce que vous souhaitez que le code réalise comme action.

Alimenté par un modèle d’IA générative conçu par GitHub, OpenAI et Microsoft, cet assistant IA est disponible en extension pour Visual Studio Code, Neovim, JetBrains, Azure Data Studio, et bien d’autres. GitHub Copilot comprend de nombreux langages de programmation, dont JavaScript qu’il maîtrise particulièrement bien, mais aussi C, C++, C#, PHP, Python, Ruby, etc.

Aller sur le site : GitHub Copilot

GitHub-Copilot2

Replit Ghostwiter permet la génération de code

Replit Ghostwiter permet la génération de code, sa complétion, sa transformation, son amélioration, son décryptage ou son débogage. La liste des langages de programmation pris en charge n’est pas négligeable : Bash, C, C++, C#, CSS, Go, PHP, JavaScript, Java, PHP, Perl, Python, Ruby… Et la liste ne cesse de croître !

Vous pourrez rapidement utiliser différents frameworks, API et langages, car Replit Ghostwriter propose un IDE en ligne. L’outil est ainsi particulièrement adapté aux codeurs en herbe, qui souhaitent s’initier à la programmation grâce au soutien et aux explications de l’intelligence artificielle.

Aller sur le site : Replit Ghostwriter

Replit-Ghostwriter

Meta a lancé son modèle de langage open source : Code Llama

Basé sur son grand modèle de langage Llama 2, Code Llama est spécialement conçu pour la programmation et le développement : il permet la génération de code et la production en langage naturel, en réponse à des requêtes en code ou en langage naturel.

Sa flexibilité le rend adaptable à de nombreux langages de programmation, comme Python, C++, Java, PHP, C# ou encore Bash. D’ailleurs, Meta propose son outil en plusieurs versions spécifiques, dont une dédiée à Python et une autre affinée pour comprendre et générer des réponses en langage naturel à partir d’instructions.

À noter que Code Llama est gratuit pour la recherche et l’usage commercial.

Code Llama Meta AI langage naturel