Maison >Périphériques technologiques >Industrie informatique >Pourquoi écrire des logiciels précieux est toujours difficile

Pourquoi écrire des logiciels précieux est toujours difficile

DDD
DDDavant
2023-11-01 10:36:15969parcourir

Je m’intéresse à la façon dont l’intelligence artificielle va changer l’industrie de la programmation dans les décennies à venir, mais je critique toute prédiction à court terme remplie de battage médiatique. L’IA ne peut pas créer des logiciels qui seront encore utiles dans des décennies. Cela reste un problème vraiment difficile à résoudre. Cela nous aide à être plus efficaces, mais cela ne donne pas de bons résultats en termes d'efficacité.

Pour être plus précis, l’intelligence artificielle est un travail peu fiable. L’efficacité consiste à construire ce qui est juste, quelque chose qui est dans notre bien en tant qu’êtres humains et qui ne nous nuit pas. Les voitures autonomes sont conçues pour éviter de heurter d’autres véhicules ou piétons, mais leur fiabilité est, au mieux, marginale. Les mesures de sécurité sont relativement faciles à définir mais extrêmement difficiles à mettre en œuvre. Et, à mesure que le nombre de voitures autonomes continue d’augmenter, certains seront chaque jour confrontés à une décision de vie ou de mort. Les machines doivent porter des jugements en une fraction de seconde pour déterminer ce qui est le mieux pour les autres humains. Cela voudrait dire que les besoins de plusieurs sont plus importants que ceux d’un seul. Lorsqu’il s’agit de décisions de vie ou de mort comme celles-ci, nous devons être fermement aux commandes et façonner l’avenir que nous souhaitons.

L'IA actuelle fait un bien meilleur travail pour améliorer l'efficacité. Il peut remplacer différentes options, peser leurs avantages et inconvénients relatifs et suggérer une combinaison de solutions optimales. Mais à mesure que l’IA devient plus intelligente, nous ne devrions plus lui faire confiance pour traiter des sujets controversés qui nécessitent du jugement. Parce que les choses pourraient devenir effrayantes. Le célèbre fabricant de trombones de Nick Bostrom est une expérience de pensée intéressante qui contient une mise en garde importante : l'IA optimisera en fonction de vos instructions. S'il s'agissait de fabriquer des trombones, et qu'il avait un pouvoir infini et un altruisme infini, cela dépouillerait la galaxie entière de son métal pour en faire des articles de papeterie encore plus inutiles.

Même si une IA devient consciente d'elle-même, qu'elle ait ou non un agenda sombre, elle restera extraterrestre, par définition (cela se reflète dans le mot « intelligence artificielle »). Isaac Asimov a prédit que les créations humaines autonomes devraient avoir des mesures de sécurité intégrées. Ses Trois lois de la robotique ont précédé de trois ans le premier ordinateur électronique au monde, ENIAC. Mais il n'aurait pas pu prédire que le génie maléfique ajouterait quelques exceptions personnelles à la règle "ne pas nuire" via une mise à jour sournoise du micrologiciel, tout comme dans le premier film RoboCop.

Arrêtons de faire des prédictions pessimistes sur l’intelligence artificielle. Ce que je prédis (et je ne suis investi dans aucune partie prenante majeure), c'est que l'art de la programmation se transformera en l'art d'exprimer clairement et sans ambiguïté vos besoins. Les développeurs deviendront des analystes commerciaux experts en IA, habitués à parler à l’IA dans le langage de programmation de haut niveau ultime (c’est-à-dire l’anglais). L’IA créera toujours des logiciels qui fonctionnent, et si nous avons de la chance, ils pourront même être utiles.

Un logiciel fonctionnel n'est pas suffisant

Est-ce bizarre que le Manifeste Agile appelle à un logiciel fonctionnel ? Comme si un logiciel défectueux était un remplacement acceptable ! Est-ce trop demander que le code généré par l’invite soit également utile et précieux ? Oui, c'est probablement trop demander. Il existe un écart énorme entre les logiciels qui fonctionnent et les logiciels qui ont de la valeur, car la valeur est intangible et imprévisible. Même un logiciel parfait peut perdre de sa pertinence sans que ce soit de votre faute, d'une manière qu'aucune mise à niveau ne peut corriger. Voici quelques exemples.

Ce n’est pas la première fois que je mentionne le projet oublié du système d’exploitation Chandler. Le livre de Scott Rosenberg de 2007, Dreaming in Code, raconte magnifiquement le chemin cahoteux qui a mené à Chandler 1.0. C'est un avertissement durable : même avec les meilleures intentions, une équipe de développeurs dévoués et de généreux sponsors, le succès n'est pas nécessairement garanti.

Chandler s'efforce d'être une alternative gratuite à Microsoft Outlook et Exchange. Il promet une expérience utilisateur complètement différente et révolutionnera la façon dont nous traitons les messages, les points de l'agenda et les listes de tâches. Il le fera via une application de bureau et communiquera via un protocole peer-to-peer. Le pouvoir au peuple !

Mais l'équipe a commis trop d'erreurs dans sa feuille de route d'architecture. Comme Icare, ils volaient trop près du soleil. Le monde les a rattrapés. Les capacités accrues du navigateur font des applications de bureau basées sur Python un mauvais choix.

Obsolescence inattendue de GWT

Parfois, même un excellent outil devient obsolète parce que son argument de vente unique d'origine n'est plus attrayant. Google Web Toolkit (GWT) a fait une forte affirmation en 2006. À l’époque, les ordinateurs de bureau étaient suffisamment puissants pour prendre en charge les navigateurs comme plates-formes d’applications. Vous pouvez remplir votre déclaration de revenus sans installer de logiciel. Mais il y avait à l’époque des problèmes de compatibilité avec les navigateurs, notamment pour les fonctionnalités avancées comme le glisser-déposer ou le double-clic. GWT vous permet d'écrire du code back-end et front-end dans le même projet et d'utiliser des objets partagés pour le transfert et la validation des données, puis de les déployer dans une seule archive Web. GWT compile Java en JavaScript et vous pouvez même utiliser votre serveur de développement local pour déboguer le code Java côté client. J'ai apprécié et j'ai gagné de l'argent grâce à ça.

Mais la compilation du code GWT prend beaucoup de temps. Les fournisseurs de navigateurs ont progressivement résolu les problèmes de compatibilité. Les plateformes frontales comme Angular et React évoluent rapidement. Construire des front-ends devient une carrière sérieuse, et ces développeurs ne semblent pas rejeter JavaScript en tant que plate-forme de programmation. GWT a perdu de sa pertinence et il est impossible pour l'intelligence artificielle de prévoir ou de résoudre ce problème. Le problème n’est pas le code, c’est son inadéquation avec le monde qui l’entoure.

S'en tenir au codage

Bien sûr, rien de tout cela ne devrait vous empêcher d'écrire du code. Les logiciels sérieux n’ont pas besoin d’être commercialement valables ni d’avoir une réelle valeur. Je parle de logiciels open source amateurs. J'ai écrit des logiciels dont je suis fier, mais ils n'avaient pas de plan d'affaires, de feuille de route ou toute autre motivation autre que ma propre éducation et mon plaisir. C'était efficace pour m'apprendre de nouveaux concepts, mais le produit lui-même ne m'intéressait pas. Il existe de nombreux projets de ce type sur GitHub. Je ne veux offenser personne. Je parle juste d'une expérience personnelle. Il n'y a rien de mal à programmer en soi, mais c'est comme jouer dans un groupe qui ne jouera jamais devant un public : c'est difficile de s'y tenir.

Résumé

L'intelligence artificielle aura un impact significatif sur l'industrie de la programmation dans les décennies à venir. Mais cela ne remplacera pas les développeurs humains. Au lieu de cela, cela nous permettra de créer des logiciels plus efficaces et plus précieux. Mais nous devons être conscients des limites de l’IA et veiller à ce qu’elle soit utilisée pour le bien plutôt que pour le mal.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer