- Se le pidió a GPT-4 una teoría unificada sobre el desarrollo de software y de ahí surgieron 10 tenets (principios), además de ejemplos prácticos
- Si se creara un lenguaje de programación con base en esta idea, ¿cómo sería su sintaxis?
- Este lenguaje, al que el propio GPT-4 llamó "TenetLang", combina sintaxis de Python con funciones de lenguajes funcionales y orientados a objetos
- Alcance basado en indentación, similar a Python
- Tipado fuerte mediante inferencia de tipos al estilo TypeScript y Kotlin
- Funciones de primera clase y cierres, similares a JavaScript
- Estructuras de datos inmutables por defecto, con opción mutable
- Sintaxis lambda concisa para funciones anónimas
- Pattern matching y destructuring al estilo Haskell y Rust
- Soporte de concurrencia integrado de forma nativa con async/await e hilos ligeros
- FFI (Foreign Function Interface) para interoperabilidad con otros lenguajes
- ¿Y si esto se mejorara para ajustarlo a la computación distribuida?
- Soporte para comunicación asíncrona y no bloqueante con actores ligeros al estilo Erlang y Akka, y algoritmos integrados de paso de mensajes
- Librerías o frameworks integrados con soporte para protocolos RPC populares como gRPC y Apache Thrift
- Serialización y deserialización mediante formatos como JSON, BSON y Protocol Buffers
- Soporte para estructuras de datos distribuidas, como tablas hash distribuidas (DHTs) o bases de datos distribuidas, para compartir y manipular datos entre múltiples nodos
- Tolerancia a fallos mediante árboles de supervisión, reintentos automáticos, timeouts, etc.
- Se añaden funciones a nivel de lenguaje para integrar fácilmente LLMs como GPT-3 o ChatGPT
- Se consulta directamente cómo integrar este tipo de sistemas desde el propio lenguaje
- También se piden funciones adicionales: autocompletado dentro del IDE, herramientas de refactorización, traducción de código a código, diseño por reconocimiento de patrones, etc.
- También se pregunta cómo implementar esas funciones
- Los 10 tenets: modularidad, abstracción, escalabilidad, mantenibilidad, capacidad de prueba, adaptabilidad, rendimiento, seguridad, colaboración y mejora continua
1 comentarios
Para que realmente sea práctico, parece que la IA también tendría que crear hasta el compilador. Entonces, ¿sería otra singularidad?