La actualización del lenguaje Go 1.11 llega con nuevas características

    Go es un lenguaje de programación -dice la Wikipedia- concurrente y compilado, inspirado en la sintaxis de C. Ha sido desarrollado por Google. Sus diseñadores son Robert Griesemer, Rob Pike y Ken Thompson (uno de los creadores de Unix). Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas con el código fuente. Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos —de una manera bastante especial— y con recolector de basura que de momento está soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD y Mac OS X. También está disponible en Plan 9, puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo Inferno. Las arquitecturas soportadas son i386, amd64 y ARM. La actualización a mitad de año del lenguaje Go tiene características experimentales como WebAssembly y un inicial soporte para módulos.

    Go es un lenguaje de programación -dice la Wikipedia- concurrente y compilado, inspirado en la sintaxis de C. Ha sido desarrollado por Google. Sus diseñadores son Robert Griesemer, Rob Pike y Ken Thompson (uno de los creadores de Unix). Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas con el código fuente. Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos —de una manera bastante especial— y con recolector de basura que de momento está soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD y Mac OS X. También está disponible en Plan 9, puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo Inferno. Las arquitecturas soportadas son i386, amd64 y ARM.

    Go es un trabajo de código abierto y tiene una buena comunidad de desarrolladores que colaboran con el proyecto que ya lleva más de 8 años. La idea es tener un lenguaje de programación de sistemas, el cual ha sido usado con éxito comercial incluso. En esta última versión, la 1.11, se ha portado lo que se llama WebAssembly, lo cual es aún experimental. Los programas que usan la nueva característica en Go compilan a un módulo único de WebAssembly que incluye las rutinas de tiempo de ejecución de Go, así como scheduling, recolector de basura, mapeo y otros temas esenciales de Go, resultando en un módulo de unos 2 MB (o 500K cuando se comprime), lo cual para los estándares actuales no es algo de qué debamos preocuparnos.

    Los programas de Go también pueden ser llamados en Javascript usando un nuevo paquete experimental. WebAssembly es un formato binario de instrucciones para una máquina virtual basada en stack. Se ha diseñado como un objetivo portable para compilar lenguajes de alto nivel como C/C++ o Rust de forma que las apps puedan ponerse en los clientes web y en aplicaciones de servidores.

    Go 1.11 añade también soporte preliminar a un nuevo concepto que han denominado “módulos”. En los términos de Go, hay una alternativa a GOPATH con soporte integrado para manejo de versiones y distribución de paquetes. Usando módulos, los desarrolladores no están confinados a trabajar dentro de GOPATH. Otras ventajas es que hay información sobre la dependencia de versiones y esto hace que los módulos compilados sean más confiables y reproducibles.

    El soporte de módulos se considera experimental por el momento, pero podría cambiar de acuerdo a la respuesta que den los usuarios de Go 1.11. Los desarrolladores tienen otras herramientas planeadas. Y aunque los detalles del soporte a módulos pudiesen cambiar, los proyectos convertidos a módulos usando Go 1.11 continuarán trabajando en la versión 1.12 y posteriores.

    Go es un lenguaje que vale la pena revisar. Está escrito por profesionales del cómputo que llevan toda una vida en el desarrollo de los lenguajes de programación. El hecho de que sea un sistema de código abierto da chance de ver además cómo se hacen las cosas. Desde luego leer el código fuente del mismo no es trivial, pero la cuestión es que dicho código está accesible para cuando decidamos estudiarlo.

    Fuente: https://www.unocero.com/software/

    Noticias Linux y más

    ¿Qué comando visualiza archivos de texto grandes en Linux?

    comandos linuxEn sistemas Linux, es común tener que revisar archivos de texto grandes, como logs del sistema, archivos de configuración extensos o resultados de tareas de procesamiento de datos.

    Leer más...

    ¿Qué otras formas hay de obtener ayuda con los comandos de Linux?

    Información de comandos LinuxCuando se empieza a utilizar Linux, una de las primeras necesidades que surgen es entender cómo funcionan los comandos.

    Leer más...

    Nitrux: Una distribución Linux basada en Debian con enfoque moderno y seguro

    nitruxNitrux es una distribución Linux basada en Debian que, aunque poco conocida, destaca por su enfoque moderno, aplicaciones únicas y un sólido sistema de seguridad.

    Leer más...

    20 comandos esenciales para los nuevos usuarios de Linux

    Aprenda LinuxLinux es un sistema operativo poderoso, versátil y cada vez más utilizado tanto en entornos personales como profesionales.

    Leer más...

    Please publish modules in offcanvas position.