golang

Reseña del libro El lenguaje de programación Go

Reseña del libro El lenguaje de programación Go
El lenguaje de programación Go, por Alan A. A. Donovan y Brian Kernighan, se revisa en esta publicación. Brian Kernighan es bien conocido como coautor de The C Programming Language, y ese libro en sí se ha convertido en un texto estándar para generaciones de ingenieros. Go se ha referido a menudo como el C del siglo XXI y el lenguaje de programación Go puede muy bien ser el texto de referencia estándar para él.

El principio

El libro comienza fuerte con un Tutorial capítulo que le ofrece un programa sencillo "Hola, mundo" y también muestra algunas de las ventajas de utilizar Go. El minimalismo seguramente atraerá a los programadores que lo han tenido con bibliotecas infladas. No puede declarar una variable y no usarla en el resto de su programa Go. No puede importar una biblioteca y no usarla en su código. Simplemente no se compilará. No tienes que discutir sobre el formato de tu código. Por ejemplo, la antigua batalla entre:

func main ()

//Y
func main ()

Lo determina el compilador que acepta solo el primero y no el último. Otros matices se resuelven con herramientas como gofmt, que toma su archivo fuente de Go y lo formatea de manera estandarizada. Así que todos los programas de Go siguen la misma convención, lo que a su vez mejora la legibilidad del código.

El primer capítulo enfatiza estos puntos de venta y hace un buen trabajo al darles a los lectores una idea de lo que realmente se trata Go: un lenguaje de propósito general diseñado para generar binarios estáticos con la menor hinchazón posible.

Brevedad

Los programadores experimentados están cansados ​​de aprender sobre los mismos conceptos como bucles for, declaraciones if-else, etc., una y otra vez para diferentes lenguajes. El primer capítulo se cuela en toda esta tediosa información animando a los usuarios a escribir programas Unix-y simples (como fue el caso con el lenguaje de programación C).

Un inconveniente de esto introducción rápida es el hecho de que los nuevos lectores quedarán completamente desconcertados por la sintaxis. Los programas comienzan rápidamente a usar los operadores de puntos y varios conceptos de programación orientada a objetos después de dos o tres ejemplos en el primer capítulo. Esto es importante para mantener la velocidad y la brevedad de la experiencia de lectura en general y es una elección muy consciente por parte de los escritores.

El libro también asume que los lectores están familiarizados con al menos un lenguaje de programación antes de leer este libro. Puede ser Python, JavaScript, Java, C o cualquier otro lenguaje de propósito general.

Sitio web complementario

El libro viene con un sitio web complementario. Puede importar directamente los programas proporcionados en el libro desde este sitio web y ejecutarlo sin tener que escribir (o copiar y pegar desde su aplicación Kindle). Incluso puedes consultar el primer capítulo (que, por cierto, es mi favorito) de forma gratuita en este sitio web y decidir si este libro es para ti o no.

Los autores han prestado atención a los dolores de cabeza de un programador que intenta aprender un nuevo idioma. Las distracciones se reducen al mínimo con el enlace web de cada programa mencionado en la parte superior. Para que pueda recuperar el código, ejecutarlo, modificarlo y desarrollarlo, si lo desea.

También se mantiene una lista completa de erratas en este sitio web, y puede consultarla si cree que algo anda mal.

Negocio serio

Si está esperando una guía sencilla para la creación de guiones causales, este no es el libro para usted. La razón es que primero se cubre mucho terreno y luego se completan los detalles a medida que avanzamos hacia los capítulos posteriores.

Este libro es para personas que desean comprender las construcciones, los detalles esenciales de cómo funciona Go. Crearás GIF, escribirás servidores web y trazarás conjuntos de Mandelbrot y mucho más, pero nada de esto tendría ningún sentido a menos que hayas prestado atención a los puntos más finos de los capítulos anteriores (siendo el Capítulo 1 una especie de excepción, como está pensado como una descripción general del idioma).

La mayor parte del resto del libro se centra en varios detalles relacionados con la sintaxis de Go, incluidos los bucles de control de cosas, las variables, las funciones, los métodos, las rutinas de Go y mucho más. Todo esto se ilustra haciendo que el lector pase por programas útiles y no por escenarios idealistas inventados.

Incluso si desea omitir la mayoría de los capítulos de la mitad del libro, le sugiero que busque en el capítulo 5 para comprender el pánico, el manejo de errores y las funciones anónimas. Sin embargo, sugiero encarecidamente que revise todos los capítulos secuencialmente antes de llegar a la joya de la corona de Go - Concurrency.

Énfasis en la concurrencia

Go language está diseñado, desde cero, teniendo en cuenta la simultaneidad. La mayoría de los procesadores modernos son multinúcleo y multiproceso, pero los programadores desprecian las complicaciones a las que se enfrentan cuando escriben programas que se ejecutan en dicha arquitectura. Con la computación en la nube dirigiéndose hacia sistemas distribuidos, el código concurrente pronto será el único código de buen rendimiento que existe.

El capítulo sobre la concurrencia está escrito para eliminar el miedo al diseño concurrente de nuestras mentes. Es complicado, sí, pero no desesperado. El libro hace un gran trabajo al transmitir cómo Go puede ayudarlo a desarrollar la mentalidad correcta a partir de este.

Conclusión

La experiencia de Kernighan desde los primeros días de UNIX sigue siendo muy viable en la era moderna de los escritorios en la nube, las GPU, IOT, la nube y todo lo que vendrá a continuación. Él y Donovan han hecho un gran trabajo al impartir esta sabiduría del diseño de aplicaciones y la filosofía UNIX utilizando un lenguaje simple y moderno con el rendimiento en mente y no dudo en recomendar este libro a cualquier persona, desde un estudiante de secundaria hasta un ingeniero de software senior con décadas de experiencia.

Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...
Los mejores juegos de Oculus App Lab
Si es propietario de un visor Oculus, debe estar informado sobre la descarga lateral. Sideloading es el proceso de instalación de contenido que no es ...