23 points par xguru 2023-03-17 | 1 commentaires | Partager sur WhatsApp
  • On a demandé à GPT-4 une théorie unifiée du développement logiciel, ce qui a permis d’en extraire 10 principes directeurs (Tenets), ainsi que des exemples concrets
  • Si l’on créait un langage de programmation à partir de cette idée, à quoi ressemblerait sa syntaxe ?
  • Ce langage, baptisé directement par GPT-4 "TenetLang", combine une syntaxe de type Python avec des fonctionnalités issues des langages fonctionnels et orientés objet
    • Une portée fondée sur l’indentation, similaire à Python
    • Un typage fort grâce à l’inférence de types de TypeScript et Kotlin
    • Des fonctions de première classe et des closures proches de JavaScript
    • Des structures de données immuables par défaut, avec option mutable
    • Une syntaxe lambda concise pour les fonctions anonymes
    • Le pattern matching et la déstructuration de Haskell et Rust
    • La prise en charge native de la concurrence avec async/await et des threads légers
    • Une FFI (Foreign Function Interface) pour l’interopérabilité avec d’autres langages
  • Et si on l’améliorait pour l’adapter au calcul distribué ?
    • Prise en charge d’une communication asynchrone et non bloquante grâce à des acteurs légers de type Erlang et Akka, ainsi qu’à des algorithmes intégrés de transmission de messages
    • Bibliothèque ou framework intégré prenant en charge des protocoles RPC populaires comme gRPC et Apache Thrift
    • Sérialisation et désérialisation via des formats comme JSON, BSON et Protocol Buffers
    • Prise en charge de structures de données distribuées comme les tables de hachage distribuées (DHTs) ou des bases de données distribuées, pour le partage et la manipulation entre plusieurs nœuds
    • Tolérance aux pannes via des arbres de supervision, des nouvelles tentatives automatiques, des timeouts, etc.
  • Ajout de fonctionnalités au niveau du langage pour intégrer facilement des LLM comme GPT-3 ou ChatGPT
    • Demande explicite sur la manière d’intégrer directement ce type de systèmes au niveau même du langage
    • Questions sur d’autres fonctionnalités à ajouter : autocomplétion dans l’IDE, outils de refactoring, traduction code-vers-code, conception par reconnaissance de motifs, etc.
    • Demande également sur la manière d’implémenter ces fonctionnalités
  • Les 10 Tenets : modularité, abstraction, scalabilité, maintenabilité, testabilité, adaptabilité, performance, sécurité, collaboration, amélioration continue

1 commentaires

 
kayws426 2023-03-18

Pour être vraiment pratique, il faudrait sans doute que l’IA aille jusqu’à créer le compilateur. Dans ce cas, serait-ce encore une autre singularité ?