Python >> Tutoriel Python >  >> Python

L'intelligence artificielle remplacera-t-elle les développeurs de logiciels ?

L'intelligence artificielle peut composer des chansons, peindre des images, aider à la thérapie du cancer, conduire des voitures et jouer à des jeux. Il commence également à écrire du code.

Cela signifie-t-il que les jours des programmeurs humains sont déjà comptés ? Le génie logiciel sera-t-il automatisé ?

Lorsque vous regardez les tests d'assistants personnels tels que Siri, Google Assistant ou Cortana, vous découvrirez que la demande la plus fréquente qu'ils entendent est probablement :

Raconte-moi une blague.

Est-ce vraiment tout ce que l'intelligence artificielle peut faire pour nous ? Pas du tout. Ses réalisations deviennent de plus en plus impressionnantes de jour en jour.

Donc, avant d'aborder la question du remplacement de l'intelligence artificielle par les développeurs de logiciels, explorons les réalisations de l'IA jusqu'à présent.

Que peut faire l'IA ?

L'IA peut battre les humains dans les jeux de société et les quiz

En 1997 à New York, l'ordinateur IBM Deep Blue remporte une partie d'échecs contre Garry Kasparov. C'était la première fois qu'une machine battait le champion du monde d'échecs dans des conditions de tournoi.

En 2011, un autre ordinateur IBM, Watson, a participé à l'émission de quiz télévisée "Jeopardy" pour affronter ses anciens gagnants. Watson devait écouter les questions et donner des réponses dans un langage humain naturel.

L'ordinateur n'était pas connecté à Internet.

Cependant, il a appris de 200 millions de pages de contenu structuré et non structuré qui occupaient quatre téraoctets de stockage sur disque. Watson a remporté le premier prix d'un million de dollars.

En mars 2016, AlphaGo, un programme informatique de Google DeepMind créé pour jouer au jeu de société Go, a battu Lee Sedol, le champion du monde. L'homme et la machine ont disputé un tournoi de cinq matchs à Séoul. Lee Sedol n'a gagné que le quatrième match.

L'IA peut faire des découvertes médicales

L'IA a déjà conduit à des percées dans le diagnostic médical.

Dans une expérience en 2013, l'intelligence artificielle a été chargée de détecter le cancer du sein. Un réseau de neurones a été formé pour trouver des signes de cancer à l'aide de dizaines de milliers d'images mammographiques de la maladie.

Mais le réseau de neurones a appris qu'il n'est pas si important de rechercher les tumeurs elles-mêmes, mais plutôt d'autres modifications du tissu qui ne se trouvent pas à proximité immédiate des cellules tumorales. Il s'agissait d'un développement nouveau et important dans la détection du cancer du sein.

L'IA peut composer des chansons

Magenta est un projet Google Brain, et son objectif est de déterminer si l'apprentissage automatique peut être utilisé pour créer de l'art et de la musique captivants, et comment nous devrions nous y prendre.

L'équipe qui a créé Magenta a utilisé TensorFlow, une bibliothèque de machine learning de Google. Écoutez la première chanson générée par ordinateur de Magenta, composée sans aucune assistance humaine.

L'IA peut peindre des images

En février 2016 à San Francisco, Google a vendu 29 peintures lors d'une vente aux enchères caritative. Tous ont été créés par l'intelligence artificielle de Google.

L'événement s'appelait "DeepDream :l'art des réseaux de neurones". Les peintures (chefs-d'œuvre, si vous me demandez) ont coûté plus de 8000 $, comme l'a rapporté le Wall Street Journal.

Et ce n'est pas tout ce que l'IA peut faire. Il peut également conduire sur des autoroutes, écrire des poèmes et bien plus encore.

Ce qu'il ne peut pas faire, c'est écrire du code. Ou peut-il ?

L'IA pour tous

En décembre 2015, Google a rendu publique la bibliothèque TensorFlow. Il s'agit désormais d'un logiciel open source pour l'apprentissage automatique.

Pourquoi Google a-t-il distribué gratuitement ce puissant logiciel ? Selon le prof. Christian Bauckhage du Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme, Allemagne (IAIS), vous pouvez trouver la réponse dans l'histoire de Google. Il y a environ 10 ans, Google a ouvert le système d'exploitation Android pour les smartphones. De nos jours, 85 % de tous les smartphones dans le monde fonctionnent sous Android.

"C'est ce qu'ils essaient de faire en ce moment. Dans 10 ans, l'idée est que 80 % de l'IA fonctionnera sur Google TensorFlow", prof. Bauckhage a déclaré lors de la conférence CeBIT en 2016.

Quelques semaines après la sortie de Google, Microsoft a ouvert son Computational Network Toolkit AI, un cadre d'apprentissage en profondeur désormais appelé Microsoft Cognitive Toolkit.

Après quelques semaines supplémentaires, Facebook a ouvert sa propre bibliothèque d'intelligence artificielle appelée Caffe2.

L'IA écrit du code

En 2015, Andrej Karpathy, un ancien étudiant au doctorat en informatique de Stanford, aujourd'hui directeur de l'IA chez Tesla, a utilisé les réseaux de neurones récurrents pour générer du code. Il a pris un référentiel Linux (tous les fichiers source et les fichiers d'en-tête), l'a combiné en un seul document géant (c'était plus de 400 Mo de code) et a formé le RNN avec ce code.

Il l'a laissé tourner toute la nuit. Le matin, il a eu ça :

Exemple de code généré par l'intelligence artificielle

Littéralement du jour au lendemain, le code généré par l'IA comprend des fonctions et des décorations de fonctions. Il avait des paramètres, des variables, des boucles et des retraits corrects. Les parenthèses ont été ouvertes puis fermées. Il y avait même des commentaires.

L'IA a bien sûr fait quelques erreurs. Dans certains cas, les variables n'ont pas été utilisées. Dans d'autres, des variables qui n'avaient pas été déclarées auparavant ont été utilisées. Mais Karpathy était satisfait du résultat.

"Le code a l'air vraiment très bien dans l'ensemble. Bien sûr, je ne pense pas que cela compile, mais lorsque vous faites défiler le code généré, cela ressemble beaucoup à une base de code C géante », a écrit Karpathy sur son blog.

Le projet est disponible sur GitHub. Il utilise la bibliothèque d'apprentissage en profondeur Torch7. Voici l'intégralité du fichier de sortie reçu par Karpathy.

DeepCoder

Des chercheurs de Microsoft et de l'université de Cambridge ont développé une intelligence artificielle capable d'écrire du code et l'ont appelée DeepCoder.

L'outil peut écrire du code de travail après une recherche dans une énorme base de données de code. Il essaie ensuite de faire le meilleur arrangement possible pour les fragments de code récoltés et améliore son efficacité au fil du temps.

Pourtant, cela ne signifie pas que l'IA vole du code, ou le copie-colle à partir d'un logiciel existant, ou recherche des solutions sur Internet. Les créateurs de DeepCoder s'attendent à ce qu'il participe à des concours de programmation dans un proche avenir.

Exemple de programme en langage spécifique au domaine (DSL) créé par DeepCoder

Selon Marc Brockschmidt de Microsoft Research, qui fait partie du projet, un tel système pourrait être très utile aux non-codeurs. Ils n'auraient qu'à décrire leur idée de programme et attendre que le système le crée.

"Nous pourrions finir par avoir un tel système dans les prochaines années. Mais pour l'instant, les capacités de DeepCoder sont limitées à des programmes composés de cinq lignes de code », a-t-il déclaré.

Vous pouvez trouver la documentation de DeepCoder ici.

Code Python créé par l'IA

Comme il s'agit d'un blog principalement axé sur Python, nous serions négligents si nous ne vous donnions pas au moins un exemple Python.

En juin 2016, un ingénieur français du surnom de BenjaminTD a publié un article de blog dans lequel il expliquait comment il "apprenait à une IA à écrire du code Python avec du code Python".

Il a utilisé la mémoire à long terme, l'une des architectures les plus populaires des réseaux de neurones récurrents. Il l'a alimenté avec beaucoup de code Python (utilisant des bibliothèques telles que Pandas, Numpy, Scipy, Django, Scikit-Learn, PyBrain, Lasagne, Rasterio). Le fichier combiné pesait 27 Mo.

L'IA a ensuite généré son propre code. Il définissait inits :

...en utilisant des expressions booléennes :

...et créer des tableaux :

Si vous regardez attentivement les tableaux, vous trouverez une erreur de syntaxe. Le code de Benjamin est loin d'être parfait. Mais l'ingénieur pense que ce n'est pas mal pour un réseau qui a dû tout apprendre en lisant des exemples de code.

"Surtout compte tenu du fait qu'il essaie seulement de deviner ce qui va suivre caractère par caractère", a-t-il expliqué dans son article de blog.

Diffblue :automatisation des tests unitaires

Diffblue, une société issue du département d'informatique de l'Université d'Oxford, a publié un outil qui permet aux développeurs d'exploiter la puissance de l'IA pour générer des tests unitaires pour le code.

L'écriture de tests unitaires est souvent considérée comme un mal nécessaire par les programmeurs, de sorte que le lancement du produit sera un répit bienvenu pour beaucoup d'entre eux. Ce sera également la première fois qu'un tel outil sera mis gratuitement à la disposition de toute la communauté sous le nom de Diffblue Playground ou Diffblue Cover.

Selon Peter Schrammel, CTO de Diffblue, l'accès aux outils de tests unitaires automatisés alimentés par l'IA était auparavant limité aux entreprises commerciales.

L'utilisation de l'IA par Diffblue lui permet d'imiter la façon dont les développeurs humains effectuent des tests pour s'assurer que leur code fonctionne correctement. De plus, l'outil ne prend que quelques secondes pour générer les tests et ne nécessite aucun effort supplémentaire de la part de l'utilisateur.

La technologie derrière Diffblue est une contribution significative à la communauté des développeurs car elle permet à quiconque, d'un étudiant en programmation en herbe à un professionnel hautement qualifié, de gagner du temps lors de la génération de tests et de s'appuyer sur l'IA- outil électrique pour faire tout le travail à leur place.

Terrain de jeu Diffblue

Complétion de code avec IntelliCode

Un autre outil qui tire parti de l'IA pour faciliter la vie des développeurs et augmenter leur productivité est Visual Studio IntelliCode de Microsoft.

Il s'agit de la version de nouvelle génération d'IntelliSense, l'outil de complétion de code très populaire. Il a été mis à disposition générale en mai 2019.

Alors qu'IntelliSense fournirait à l'utilisateur une liste alphabétique de recommandations, dont le défilement pourrait s'avérer gênant et fastidieux, IntelliCode recommande la méthode ou la fonction la plus probable en fonction de l'utilisation précédente du développeur. Plus il est utilisé, plus ses prédictions deviennent précises.

Pour qu'il fournisse efficacement aux développeurs des recommandations contextuelles, les créateurs d'IntelliCode ont "alimenté" l'outil avec le code de milliers de projets open source GitHub qui avaient au moins 100 étoiles.

Bien que l'utilisation de l'outil ne garantisse pas que le code sera sans erreur, il améliore l'expérience de codage et aide les développeurs à augmenter leur productivité.

GitHub Copilot :un assistant de code nouvelle génération

L'un des derniers outils qui prétend générer automatiquement du code à l'aide de l'IA, aidant les programmeurs à accélérer leur travail, est GitHub Copilot.

Décrite comme "Votre programmeur de paires d'IA", cette extension de Visual Studio Code a été formée sur des milliards de lignes de code public et fonctionne avec un certain nombre de frameworks et de langages. L'outil est alimenté par Codex, un nouveau système d'IA construit par OpenAI.

Selon ses créateurs, Copilot est suffisamment rapide pour être utilisé au fur et à mesure que vous tapez, vous permettant de parcourir rapidement des suggestions alternatives et de modifier manuellement le code suggéré. L'outil s'adapte également à vos modifications, « apprenant » progressivement à correspondre à votre style de codage et à vos préférences.

Bien que de nombreux avis recueillis par Copilot aient été positifs, il y a également eu des voix critiques.

La Free Software Foundation a qualifié l'outil d'"inacceptable et injuste" et a appelé à des livres blancs traitant des questions juridiques et philosophiques qu'il soulève.

Premièrement, Copilot nécessite l'exécution d'un logiciel qui n'est pas gratuit, tel que Visual Studio IDE de Microsoft ou l'éditeur de code Visual Studio. Deuxièmement, l'outil est un "service en tant que substitut de logiciel", ce qui signifie en pratique donner à quelqu'un le pouvoir sur votre propre informatique.

La Fondation a déclaré que l'utilisation par Copilot de logiciels sous licence libre a de graves implications pour la communauté du logiciel libre et que les extraits de code et autres éléments copiés à partir de référentiels hébergés sur GitHub pourraient entraîner une violation du droit d'auteur.

Le blog fast.ai a constaté que "le code écrit par Copilot n'est pas un très bon code" et qu'il est "généralement mal refactorisé et ne tire pas pleinement parti des solutions existantes".

La technologie est encore en avant-première. Selon l'auteur du blog, pour devenir un outil vraiment utile, il devrait "aller au-delà des modèles de langage, vers une solution plus holistique qui intègre les meilleures pratiques en matière d'interaction homme-machine, de génie logiciel, de test et de nombreuses autres disciplines".

Logiciel 2.0

En novembre 2017, Andrej Karpathy a publié un article de blog intitulé Software 2.0 dans lequel il affirmait qu'il y avait eu un changement fondamental de paradigme dans la façon dont les humains construisaient des logiciels.

Selon Karpathy, il existe une nouvelle tendance dans le développement de logiciels capable de faire avancer rapidement le processus, de minimiser l'implication humaine et d'améliorer notre capacité à résoudre les problèmes.

L'émergence du logiciel 2.0, selon Karpathy, signifie que les développeurs n'auront plus besoin d'écrire de code. Ils trouveront simplement les données pertinentes et les alimenteront dans des systèmes d'apprentissage automatique qui écriront ensuite le logiciel requis.

Une division du travail, a-t-il prédit, s'ensuivra :"les programmeurs 2.0 géreront, maintiendront, masseront, nettoieront et étiquetteront manuellement les ensembles de données", tandis que les programmeurs 1.0 "maintiendront les outils environnants, les analyses, les visualisations, les interfaces d'étiquetage, l'infrastructure et la formation". code.”

Selon Karpathy, le logiciel 2.0 sera écrit dans "un langage beaucoup plus abstrait et hostile à l'humain", et aucun humain n'y sera impliqué en tant que tel.

L'article de Karpathy a suscité de nombreuses critiques, certains experts se demandant si le génie logiciel, tel qu'il est pratiqué actuellement, deviendra effectivement redondant dans un avenir prévisible.

Au lieu d'être rendus obsolètes par l'intelligence artificielle, les développeurs humains sont plus susceptibles d'exploiter son potentiel pour réduire certaines tâches répétitives et chronophages et automatiser les processus.

Alors, l'IA remplacera-t-elle les programmeurs ?

La fiction hollywoodienne de l'IA supplantant les humains n'est pas encore devenue réalité. Nous sommes loin de 2001 :l'odyssée de l'espace -comme des scénarios d'IA voyous se retournant contre ses maîtres humains et tuant des équipages spatiaux.

Cela n'empêche pas les cinéastes d'utiliser généreusement le thème d'une rébellion de l'IA dans leurs œuvres.

Mais pouvons-nous être si sûrs que l'IA réelle peut être contrôlée ?

En 2016, Microsoft a lancé un bot Twitter appelé Tay. Il a été conçu pour imiter les modèles de langage d'une jeune fille américaine de 19 ans et pour apprendre en interagissant avec des utilisateurs humains de Twitter. Seulement 16 heures après son lancement, Microsoft a été contraint de fermer Tay car le bot a commencé à publier des tweets offensants.

Ce n'est pas le seul problème d'IA enregistré. Début 2017, Facebook a dû fermer ses bots, Bob et Alice. Ils ont été créés pour effectuer des conversations entre l'homme et l'ordinateur. Mais lorsque les bots ont été invités à se parler, ils ont commencé à communiquer d'une manière impossible à comprendre pour les gens.

Quelques mois plus tard, un chatbot chinois Baby Q a été éteint après avoir commencé à critiquer le Parti communiste chinois. Baby Q l'a qualifié de "régime politique corrompu et incompétent".

Alors, l'IA est-elle une menace ou une opportunité ? Elon Musk est connu pour son scepticisme à l'égard de la technologie. Son inquiétude est de savoir ce qui se passera lorsque la machine deviendra plus intelligente que l'humain.

"Même dans le scénario bénin, si l'IA est beaucoup plus intelligente qu'une personne, que faisons-nous ? Quel travail avons-nous ?" il a demandé.

Il ne fait aucun doute que les ordinateurs seront bien meilleurs en programmation dans un avenir proche qu'ils ne le sont actuellement. Ce qui nous amène à une conclusion assez effrayante.

"Ce n'est qu'une question de temps avant que les réseaux de neurones ne produisent du code utile. Les choses semblent donc sombres pour les informaticiens comme moi », prof. Bauckhage croit.

Mais l'avenir est-il vraiment si sombre ? Selon Armando Solar-Lezama du MIT, des outils comme DeepCoder ont le potentiel d'automatiser le développement de code, mais l'IA ne va pas supprimer les emplois des développeurs. Au lieu de cela, un système basé sur la synthèse de programmes peut être utilisé pour automatiser les parties fastidieuses du développement de code pendant que les développeurs se concentrent sur des tâches complexes.

Il existe déjà des startups qui utilisent l'automatisation pour créer des "logiciels intelligents". Dev9 est une société de développement de logiciels personnalisés basée à Seattle, axée sur Java et JavaScript. Dev9 rassemble des équipes qui utilisent l'intelligence artificielle pour développer des logiciels personnalisés, éliminant les processus ardus et réduisant considérablement les frais généraux manuels. Lorsqu'on a demandé à Will Iverson, son directeur de la technologie, si les programmeurs devaient s'inquiéter d'être remplacés par l'IA dans un proche avenir, il a répondu :

« Finalement, oui. Mais à ce moment-là, la société sera très habituée à faire face à ce genre de changement sociétal. Les millions de conducteurs rémunérés remplacés par des voitures autonomes auront depuis longtemps forcé nos systèmes politiques et économiques à trouver comment gérer ces transitions. Nous avons plaisanté dans le bureau en disant que le développement de logiciels serait l'une des dernières professions restantes. »

—Will Iverson, CTO chez Dev9

Indépendamment du fait que nos inquiétudes soient fondées ou non, le fait est que près d'un tiers des développeurs de logiciels craignent que l'intelligence artificielle ne finisse par leur prendre leur emploi. Dans une enquête d'Evans Data Corp., 550 programmeurs de logiciels ont été interrogés sur la chose la plus inquiétante de leur carrière. La réponse la plus fréquente (29 %) était :

"Moi et mes efforts de développement sont remplacés par l'intelligence artificielle."

Selon Janel Garvin, PDG d'Evans Data, la crainte de devenir obsolète en raison de la diffusion d'outils alimentés par l'IA "était également plus menaçante que de vieillir sans pension, d'être étouffé au travail par de mauvaises gestion, ou en voyant leurs compétences et leurs outils devenir inutiles.”

Il ne fait aucun doute que la technologie continuera à se développer et à devenir plus intelligente. Finalement, il pourrait devenir plus intelligent que les humains. Comment gérer une telle éventualité ? Stephen Hawking a également vu un réel danger que les ordinateurs développent l'intelligence. Mais il a aussi donné des conseils :

"Nous devons de toute urgence développer des connexions directes avec le cerveau afin que les ordinateurs puissent ajouter à l'intelligence humaine plutôt que de s'y opposer", a déclaré Hawking.

Rejoignez la discussion sur Twitter !

1. PyCharm

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

1. PyCharm

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

1. PyCharm

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

1. PyCharm

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

1. PyCharm

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

La liste que nous avons rassemblée est basée sur les avis des développeurs Python de STX Next (et il y en a plus de 150 !), ainsi que sur l'indice de popularité selon le Stack Overflow Developer Survey et le State of Developer Ecosystem by Jetbrains. Notez que les données du Stack Overflow Survey concernent les développeurs travaillant avec tous les langages de programmation, alors que ceux de Jetbrains et STX Next n'ont pris en compte que les avis des Pythonistas.

Quelle est la prochaine étape pour le développement de logiciels ?

Devriez-vous commencer à rechercher l'IA pour concrétiser vos spécifications logicielles ?

Probablement pas encore. Il faudra un certain temps avant que l'IA ne soit en mesure de créer un code réel, digne de la production, couvrant plus de quelques lignes.

Le développement de logiciels est une entreprise intrinsèquement complexe. Le processus de création de code à partir de zéro se compose d'un certain nombre d'éléments qui doivent se mélanger de manière transparente pour former un produit fonctionnel.

Bien que les progrès de l'IA aient été nombreux et de grande envergure, la technologie à elle seule n'est certainement pas suffisante pour remplacer les humains, et il ne semble pas qu'elle en sera capable de si tôt.

Même si les machines alimentées par l'IA peuvent être utilisées pour travailler en collaboration avec des humains pour produire du code, il faudra un certain temps avant qu'ils puissent apprendre à interpréter la valeur commerciale de chaque fonctionnalité et donner des conseils sur ce qu'il faut développer suivant.

Au lieu de se demander si les machines prendront le travail des développeurs, s'en tenir à des programmeurs et des concepteurs humains qui ont le savoir-faire et la créativité pour fournir des logiciels que vos utilisateurs adorent semble être une meilleure utilisation du temps.