Versión de lenguaje de programación Go 1.17

Se presenta el lanzamiento del lenguaje de programación Go 1.17, que está siendo desarrollado por Google con la participación de la comunidad como una solución híbrida que combina el alto rendimiento de los lenguajes compilados con ventajas de los lenguajes de scripting como la facilidad para escribir código. , velocidad de desarrollo y protección contra errores. El código del proyecto se distribuye bajo la licencia BSD.

La sintaxis de Go se basa en elementos familiares del lenguaje C con algunos préstamos del lenguaje Python. El lenguaje es bastante conciso, pero el código es fácil de leer y comprender. El código Go se compila en archivos ejecutables binarios independientes que se ejecutan de forma nativa sin utilizar una máquina virtual (los módulos de creación de perfiles, depuración y otros subsistemas de detección de problemas en tiempo de ejecución se integran como componentes en tiempo de ejecución), lo que permite un rendimiento comparable al de los programas C.

El proyecto se desarrolla inicialmente con miras a la programación multiproceso y el funcionamiento eficiente en sistemas multinúcleo, incluido el suministro de medios a nivel de operador para organizar la computación paralela y la interacción entre métodos ejecutados en paralelo. El lenguaje también proporciona protección integrada contra bloques de memoria sobreasignados y ofrece la posibilidad de utilizar un recolector de basura.

La nueva versión realiza cambios menores en el lenguaje de programación, agrega soporte para la edición del sistema operativo Windows para la arquitectura ARM de 64 bits y continúa optimizando el compilador. En particular, el compilador rediseñó los métodos para pasar argumentos a funciones y devolver resultados, lo que permitió aumentar el rendimiento de la aplicación en un 5% en promedio y reducir el tamaño del archivo ejecutable en un 2% en sistemas con arquitectura x86_64. Entre los cambios funcionales, se destaca la implementación de nuevas funciones en el paquete inseguro: unsafe.Add y unsafe.Slice para operaciones aritméticas seguras con punteros y conversión segura de punteros a sectores, así como la implementación de herramientas para convertir sectores en punteros. a una matriz.

Fuente: opennet.ru

Añadir un comentario