Table des matières
1. Côté positif : l'IA simplifie le travail de développement
1. Mettez fin au travail fastidieux
2. Remodeler le processus de développement du framework
3. Les développeurs « généralistes » vont augmenter
4. La révolution des tests logiciels
5. L'ère des développeurs pour tous
2. Côté négatif : pollution du code, dégradation de la technologie
1. Risque de surtests
2. Dégradation des compétences de développement
3. Les outils de programmation de l'IA fonctionnent mal
3. La question la plus importante : l'IA remplacera-t-elle les développeurs de logiciels ?
Maison Périphériques technologiques IA L'« ère Devin AI » de la programmation, les joies et les soucis des développeurs de logiciels

L'« ère Devin AI » de la programmation, les joies et les soucis des développeurs de logiciels

Apr 11, 2024 pm 05:10 PM
python 框架 ai 开发

编程的“Devin AI 时代”,软件开发者的喜与忧

Auteur | Keith Pitt

Compilé | Yifeng

Produit | 51CTO Technology Stack (WeChat ID : blog51cto)

L'auteur de cet article, Keith Pitt, est le fondateur et PDG d'une société de développement de logiciels Buildkite. En 2013, il a fondé la société avec un autre ingénieur logiciel, Tim Lucas, pour fournir une plate-forme d'intégration continue et de livraison continue (CI/CD) pour l'industrie technologique. Elle a récemment reçu le soutien de OneVentures et AirTree, co-dirigé 21 millions de dollars dans la série B. financement.

Vétéran de la programmation depuis 20 ans et PDG d'une entreprise au service des développeurs de logiciels, Keith Pitt donne ses premières réflexions sur la production d'une intelligence artificielle intelligente et d'outils de programmation d'IA qui permettront à la plupart des compétences en développement de logiciels de défier les prévisions de timing avec un niveau instinctif de scepticisme.

Il a déclaré dans l'article : « Même si j'ai encore quelques doutes, mon expérience d'interaction avec l'IA générative dans mon travail de développement quotidien m'a incité à élargir mes horizons et à commencer à réfléchir à ce que je pense être possible. façons Changer le développement de logiciels a à la fois des côtés positifs et négatifs. »

1. Côté positif : l'IA simplifie le travail de développement

1. Mettez fin au travail fastidieux

Les développeurs se concentrent sur des détails tels que la grammaire et la ponctuation. et ces emplois peuvent (et devraient) disparaître. Les développeurs n'ont plus besoin de fouiller dans des manuels ou de rassembler des extraits de code issus d'échanges de code, mais plutôt d'obtenir des réponses de code parfaitement formatées en décrivant le résultat souhaité. Les grands modèles de langage (LLM) peuvent également inspecter le code existant à la recherche de fautes de frappe, d'erreurs de ponctuation et d'autres détails susceptibles de causer des maux de tête aux développeurs.

2. Remodeler le processus de développement du framework

Lors du développement à l'aide de frameworks logiciels tels que Spring, Express.js et Django, les outils de programmation d'IA résument les parties communes du développement logiciel, définissent des directives cohérentes et fournissent des fonctions communes. améliorer considérablement la productivité. L'IA générée démontrera la valeur de leurs outils en créant du code passe-partout, en automatisant les tâches répétitives et en suggérant des optimisations de code.

L'IA peut également aider à personnaliser les composants du framework pour des projets spécifiques.

3. Les développeurs « généralistes » vont augmenter

L'expertise de nombreux développeurs réside dans leur maîtrise d'un langage de programmation spécifique. Lorsque l’IA pourra générer du code dans n’importe quel langage, maîtriser Python ou Ruby ne sera plus aussi important. De même, les tâches liées aux compétences professionnelles du back-end, telles que les tests et l’optimisation du code, seront rapidement transférées vers des modèles d’IA génératifs.

Les compétences les plus précieuses seront celles pour lesquelles l'IA n'est pas douée, comme la création d'interfaces utilisateur attrayantes, la traduction des besoins des utilisateurs en documentation et l'invention de nouvelles façons de soutenir les clients. Les « poètes » du logiciel, ou les personnes qui imaginent de grandes idées que le code peut rendre possibles, occuperont le devant de la scène.

4. La révolution des tests logiciels

L'IA générative est naturellement adaptée aux tests logiciels. Les développeurs écrivent le code et l'IA peut créer le nombre de scripts de test souhaité. Une récente enquête d'IDC a révélé que l'assurance qualité des logiciels et les tests de sécurité sont les avantages les plus attendus de la programmation de l'IA, dépassant de loin les autres options. Cela perturbera les pratiques d’intégration/déploiement continu DevOps et poussera de nombreux experts en tests à trouver de nouveaux domaines de travail.

5. L'ère des développeurs pour tous

Les outils de développement low-code/no-code actuels sont déjà très bons, et l'IA générative les poussera vers de nouveaux sommets. Même si les outils low-code/no-code sont hautement automatisés, ils nécessitent toujours que les utilisateurs reconstituent un flux de travail sur un tableau blanc, puis le transforment en logiciel.

À l'avenir, ils pourront donner au modèle un croquis de flux de travail dessiné à la main et obtenir le code nécessaire en quelques secondes.

2. Côté négatif : pollution du code, dégradation de la technologie

Bien que l'IA soit pleine de promesses, elle ne doit pas être considérée comme omnipotente.

1. Risque de surtests

Étant donné que le modèle peut générer des tests rapidement, nous pouvons exécuter plus de tests que nécessaire. Le surtest est un problème courant dans le développement de logiciels, en particulier dans les organisations qui mesurent les performances en fonction du nombre de tests générés par une équipe. Exécuter trop de tests en double ou inutiles peut ralentir un projet et créer des goulots d'étranglement plus tard dans le processus.

Cependant, lorsque l'IA pourra recommander quand supprimer les tests, nous verrons une énorme libération pour les développeurs - cette vision de l'IA générative me rend enthousiasmé pour l'avenir.

2. Dégradation des compétences de développement

«Je choisis toujours une personne paresseuse pour faire un travail difficile car elle trouvera un moyen facile de le faire», cette citation est souvent attribuée à tort à Bill ·Gates a déclaré. Bien que l’origine de cette phrase ne soit pas claire, la phrase elle-même contient une certaine vérité : les paresseux recherchent toujours des raccourcis pour éviter de travailler dur, et l’IA offre une excellente solution.

L'IA générative crée une dépendance pour les développeurs paresseux et peut conduire à la création de code volumineux, inefficace et peu performant. Ce qui est encore plus effrayant, c’est que les outils de programmation d’IA peuvent étouffer les innovations dont les excellents développeurs sont fiers. Étant donné que les codes d’IA générative sont basés sur des modèles et des données existants, cela peut limiter davantage le potentiel d’innovation des développeurs qui ne veulent pas sortir de leur « zone de confort ».

3. Les outils de programmation de l'IA fonctionnent mal

La qualité de l'IA générative dépend des données utilisées pour entraîner le modèle.

Des données de mauvaise qualité, des raccourcis de formation et une mauvaise ingénierie des astuces peuvent entraîner un code généré par l'IA qui ne répond pas aux normes de qualité, comporte des bogues ou ne fait pas le travail. Cela peut amener les organisations à perdre confiance dans la qualité des outils de programmation d’IA et à passer à côté de leurs avantages potentiels.

3. La question la plus importante : l'IA remplacera-t-elle les développeurs de logiciels ?

Bien que certains experts en quête d’attention aient fait des affirmations similaires, il n’existe aucun précédent historique pour étayer une telle conclusion. Les progrès technologiques (des langages de haut niveau aux frameworks orientés objet) ont régulièrement augmenté la productivité des développeurs, mais la demande ne fait qu'augmenter.

L'IA générative peut saper le marché des compétences de base en codage bas de gamme, mais l'impact le plus important sera de pousser l'ensemble du secteur en haut de la chaîne de valeur pour faire ce pour quoi les LLM ne sont actuellement pas bons : innover.

N'oubliez pas que les modèles d'IA générative sont formés sur la base de ce qui est connu, et non sur ce qui est inconnu et attend d'être créé. Je ne m'attends pas à ce que les machines conçoivent une interface utilisateur révolutionnaire ou proposent un Uber de si tôt.

Cependant, il peut être difficile pour les développeurs de rencontrer une telle explosion de productivité dans leur carrière. Plutôt que d’essayer de combattre la machine comme je l’ai fait quand j’étais plus jeune, les développeurs devraient simplement suivre le courant et surfer sur la vague. La programmation de l’IA libérera les gens de nombreuses tâches fastidieuses, qui devraient être passionnantes pour tout le monde. Le risque de disparition de certaines tâches de travail devrait être transformé en une incitation à apprendre et à agir : les développeurs de qualité, capables de traduire les besoins de l'entreprise en logiciels élégants et performants, seront toujours très demandés.

Pour en savoir plus sur l'AIGC, veuillez visiter :

Communauté 51CTO AI.x

https://www.51cto.com/aigc/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Comprendre les propriétés acides: les piliers d'une base de données fiable Comprendre les propriétés acides: les piliers d'une base de données fiable Apr 08, 2025 pm 06:33 PM

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh

Master SQL Limit Clause: Contrôlez le nombre de lignes dans une requête Master SQL Limit Clause: Contrôlez le nombre de lignes dans une requête Apr 08, 2025 pm 07:00 PM

Clause SQLLIMIT: Contrôlez le nombre de lignes dans les résultats de la requête. La clause limite dans SQL est utilisée pour limiter le nombre de lignes renvoyées par la requête. Ceci est très utile lors du traitement de grands ensembles de données, des affichages paginés et des données de test, et peut améliorer efficacement l'efficacité de la requête. Syntaxe de base de la syntaxe: selectColumn1, Column2, ... FromTable_NamelimitNumber_Of_Rows; Number_OF_ROWS: Spécifiez le nombre de lignes renvoyées. Syntaxe avec décalage: selectColumn1, Column2, ... FromTable_Namelimitoffset, numéro_of_rows; décalage: sauter

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Dans quelle mesure le mot de passe de Navicat est-il sécurisé? Dans quelle mesure le mot de passe de Navicat est-il sécurisé? Apr 08, 2025 pm 09:24 PM

La sécurité du mot de passe de Navicat repose sur la combinaison de cryptage symétrique, de force de mot de passe et de mesures de sécurité. Des mesures spécifiques incluent: l'utilisation de connexions SSL (à condition que le serveur de base de données prenne en charge et configure correctement le certificat), à la mise à jour régulièrement de NAVICAT, en utilisant des méthodes plus sécurisées (telles que les tunnels SSH), en restreignant les droits d'accès et, surtout, à ne jamais enregistrer de mots de passe.

MySQL peut-il se connecter au serveur SQL MySQL peut-il se connecter au serveur SQL Apr 08, 2025 pm 05:54 PM

Non, MySQL ne peut pas se connecter directement à SQL Server. Mais vous pouvez utiliser les méthodes suivantes pour implémenter l'interaction des données: utilisez Middleware: Exporter les données de MySQL au format intermédiaire, puis importez-les sur SQL Server via Middleware. Utilisation de Database Linker: Business Tools fournit une interface plus conviviale et des fonctionnalités avancées, essentiellement encore implémentées via Middleware.

Navicat se connecte au code et à la solution d'erreur de base de données Navicat se connecte au code et à la solution d'erreur de base de données Apr 08, 2025 pm 11:06 PM

Erreurs et solutions courantes Lors de la connexion aux bases de données: nom d'utilisateur ou mot de passe (erreur 1045) Blocs de pare-feu Connexion (erreur 2003) Délai de connexion (erreur 10060) Impossible d'utiliser la connexion à socket (erreur 1042) Erreur de connexion SSL (erreur 10055) Trop de connexions Résultat de l'hôte étant bloqué (erreur 1129)

See all articles