Points essentiels à retenir
- Le PDG de Nvidia avance que l’IA surpassera la programmation humaine, rendant l’enseignement de cette dernière superflu.
- Cependant, l’IA n’est pas infaillible ; une supervision humaine demeure essentielle pour peaufiner et améliorer la qualité du code.
- De surcroît, les développeurs possèdent des compétences en résolution de problèmes et une adaptabilité qui font défaut à l’IA, tandis que la capacité à intégrer les retours des utilisateurs et à suivre l’évolution technologique l’emporte sur l’efficacité de l’IA.
Le dirigeant de Nvidia a suggéré qu’il serait inutile d’apprendre la programmation aux enfants, étant donné que l’IA se chargera de la majeure partie du travail. Bien qu’il soit vrai que l’IA puisse devenir l’alliée précieuse du codeur, il reste primordial que les individus apprennent à programmer, quelle que soit la quantité de code produit par l’IA qu’ils utiliseront, et ce pour plusieurs raisons.
Qu’a affirmé le PDG de Nvidia concernant l’IA et la programmation ?
Lors du Sommet mondial des gouvernements de 2024 à Dubaï, Jensen Huang, PDG de Nvidia, a exprimé l’opinion qu’il n’y avait plus d’intérêt à former les individus au codage, car l’IA prendrait en charge l’ensemble de cette tâche dans un avenir proche :
Notre mission est de créer une technologie informatique si performante que personne n’aura besoin de programmer. Le langage de programmation deviendra le langage humain. Ainsi, chaque personne dans le monde sera un programmeur. C’est là le miracle de l’intelligence artificielle.
Bien que l’IA soit capable de générer des segments de code opérationnels, certains estiment qu’il n’est plus nécessaire d’assimiler les fondamentaux de la programmation pour créer des logiciels.
Quelle est l’efficacité de l’IA en matière de programmation ?
Avant d’analyser la déclaration de Jensen, il est crucial de comprendre ce qui l’a amené à cette conclusion.
Les modèles d’IA disponibles en ligne sont capables de vous assister dans la programmation. Des modèles généralistes comme ChatGPT peuvent y contribuer, mais vous pouvez également faire appel à des outils spécialisés tels que CodeGPT, spécifiquement conçu pour traiter les requêtes de programmation.
Denis Kuria/MakeUseOf
En général, ces modèles d’IA réussissent remarquablement bien à transformer des instructions en code. Leur principal avantage, auquel Jensen fait allusion, est qu’il n’est pas nécessaire d’avoir des connaissances en programmation pour produire du code avec l’IA. Il suffit d’exprimer votre besoin en langage naturel, de copier-coller les résultats et vous obtiendrez (idéalement) un code fonctionnel sans erreur qui répondra à votre demande.
Pourquoi Nvidia a tort de suggérer qu’il n’est plus nécessaire d’enseigner la programmation aux enfants
Gorodenkoff/Shutterstock
L’argument de Huang est pertinent et fondé sur des faits concrets. Toutefois, de nombreuses raisons justifient la nécessité de poursuivre l’apprentissage du codage.
1. Le code produit par l’IA nécessite toujours une expertise pour la détection d’erreurs
Le code généré par l’IA peut souvent s’exécuter sans problème apparent, mais il est loin d’être parfait. L’apprentissage du codage vous donne les compétences requises pour ajuster et optimiser le code produit par l’IA. Comme nous l’avons mentionné précédemment dans notre article sur CodeGPT :
En résumé : CodeGPT est capable de générer du code, mais il est essentiel d’être vigilant, car le résultat n’est pas toujours optimal. Le code obtenu peut contenir des erreurs et ne pas respecter les meilleures pratiques. Chaque fois que vous utilisez CodeGPT ou tout autre outil basé sur l’IA pour écrire du code, efforcez-vous de comprendre son fonctionnement. Évitez de vous contenter de copier-coller.
Il ne s’agit pas uniquement de corriger les erreurs ; il faut également veiller à ce que le code soit lisible par les humains et qu’il respecte les principes fondamentaux de programmation que tout développeur devrait connaître. Ajouter du code produit par l’IA sans discernement peut engendrer un amas de code difficile à déchiffrer ou, pire encore, des failles de sécurité dans votre logiciel, site web ou autre.
2. Les développeurs peuvent utiliser leur expérience pour résoudre les problèmes plus efficacement que l’IA
L’objectif ultime des développeurs est de résoudre un problème. Qu’ils créent une application pour leur usage personnel ou pour un client, ils doivent déterminer la meilleure façon de transformer un concept en une réalité concrète à l’aide de code.
Avec l’expérience acquise dans la création d’applications, les développeurs sont plus à même d’anticiper la manière dont un projet évoluera, de la conception initiale à un programme fonctionnel. Les chatbots d’IA ne possèdent pas ce niveau d’expérience qui leur permettrait d’apprendre des projets antérieurs et d’utiliser ces connaissances pour améliorer leurs performances à l’avenir.
3. Les développeurs sont plus aptes à améliorer le code pour répondre aux besoins des utilisateurs
Si vous développez un programme pour une tierce personne, il est fort probable qu’elle émettra des commentaires. Cela fait naturellement partie du processus d’échange qui assure que le client obtient le produit qu’il désire.
Si un humain a codé l’application, il est en mesure d’intégrer les retours et de proposer une version améliorée, poursuivant ainsi le processus jusqu’à satisfaction du client. Cependant, si le code est généré par l’IA, la seule option possible consiste à demander à l’IA d’apporter les modifications souhaitées en espérant qu’elle interprétera correctement la requête (sans introduire d’erreurs, en réécrivant les parties du code qui fonctionnaient déjà, ni en créant de failles de sécurité, etc.).
4. Les développeurs peuvent s’adapter plus rapidement à l’évolution technologique que l’IA
Les modèles d’IA tirent leurs connaissances de données préexistantes. Cela les rend très performants pour recréer des éléments qui existent déjà sur internet, mais moins compétents pour appréhender les dernières technologies et tendances.
Les développeurs sont en permanence informés des dernières avancées dans leur langage de programmation de prédilection et peuvent les implémenter dans leur code. Ils savent également quels langages sont les plus appropriés pour certaines tâches et peuvent modifier le langage utilisé si celui-ci devient obsolète.
5. Les développeurs peuvent répondre plus rapidement aux demandes de correctifs urgents que l’IA
Enfin, en cas de problème avec le code, il est nécessaire de faire appel à une personne ayant des compétences en programmation pour le corriger. Dans le cas d’une faille de sécurité de type « Zero Day », le temps presse ; le problème doit être identifié et résolu dans les plus brefs délais.
Que le code soit d’origine humaine ou généré par l’IA, il est susceptible de contenir des erreurs. Cependant, une personne qui comprend le code sera plus à même de localiser et de comprendre le problème. Une personne non initiée au codage ne saura même pas quelle requête formuler à l’IA.
La déclaration de Jensen Huang n’était pas dénuée de sens. L’IA permet à des personnes sans expérience en programmation de générer et d’utiliser du code. Néanmoins, si une personne souhaite créer quelque chose pour elle-même ou pour autrui, il est impératif de posséder des connaissances de base en programmation pour assurer le bon déroulement et l’efficacité du processus.