Go: Debate sobre 'try' para Simplificar el Manejo de Errores

Fuentes: Go Developers Debate Error Handling and Potential 'try' Feature

La comunidad de desarrolladores de Go debate la inclusión de una característica 'try' para el manejo de errores, similar a la que existe en lenguajes como Zig y Rust. Actualmente, Go requiere una estructura verbosa if err != nil para verificar errores, lo que ha generado frustración entre algunos desarrolladores. Si bien la adición de try parece una solución simple (menos código, misma funcionalidad), el equipo de Go se opone, argumentando que podría dificultar la comprensión del flujo de control. El problema subyacente es la naturaleza del tipo error en Go, que es una interfaz genérica sin información de tipo específica, impidiendo que el compilador realice verificaciones exhaustivas. Zig, en cambio, utiliza 'error sets' que son conocidos por el compilador, permitiendo una verificación más robusta. Implementar 'try' en Go sin abordar el tipo error sería una solución superficial, y cualquier intento de modificar el tipo error rompería la compatibilidad con millones de líneas de código existentes, dada su ubicuidad en la biblioteca estándar y en proyectos de terceros.