Concurrencia en Golang No es ningún misterio que una de las principales características por las que la gente se interesa por Go es la concurrencia. La premisa de Go con la concurrencia es hacerla sencilla y manejable para todos, cosa que no podemos decir de otros lenguajes, donde incluso ni existe la concurrencia y tenemos que buscarnos la vida de otras maneras. Pero antes de meternos de llenos a picar, deberíamos entender bien que es la concurrencia y en qué se diferencia del paralelismo, ya que muchas veces estos términos tienden a confundirse. ...
Try: la propuesta para mejorar la gestión de errores La gestión de errores en Go es un tema que está en boca de todos: gophers o no, favorables al lenguaje o no. Y es precisamente esa la razón por la que David López Carrascal nos deleitó con una gran introducción al tema. Sin embargo, parece que la decisión de prescindir de las excepciones (como tal, panics a parte) es algo que sigue contrariando a una parte considerable de la comunidad. ...
Gestión de dependencias en Golang Supongo que no os coge de nuevo el tema de gestión de dependencias, pues lo llevamos realizando desde mucho tiempo en distintos lenguajes de programación. Véase Java o Php, entre otros. y además todos estos lenguajes nos ofrecían herramientas para poder gestionar dichas dependencias de una manera sencilla y desacoplada de nuestra aplicación en sí. En Go supongo que os resultará realmente familiar encontrarnos con un main similar al de GopherApi: ...
La expansión de Friends of Go En Friends of Go nos gustan las emociones fuertes y, con tal de tenerlas, no nos importa desarrollar nuestro propio Mock Server con nombre de villano de Marvel, grabar un curso con los maravillosos chicos de CodelyTV o hacer cuatro horas de avión para ir a Moscú a dar una charla. Y es gracias a esa actitud, que las tareas en nuestro backlog de “expansión” se deshacen como un azucarillo en una taza de café. ...
Gestión de Errores en Golang La gestión de errores es una de las cosas con las que los programadores nos encontramos todos los días y hay que darle la importancia que merece. En este articulo hablaremos de las diferentes formas que tenemos de crear un error en Go, como capturarlo y personalizarlo. Todo esto con un toque de Juego de Tronos, para que no sea tan aburrido. Go, un lenguaje sin excepciones Actualmente, la mayoría de los lenguages de programación lo hacen con excepciones, pero este no es el caso de Go. ...
¿Cómo usar reflection en Golang? ¿Qué es reflection? Reflection es la habilidad que tiene un programa para examinar y modificar su propia estructura y comportamiento en tiempo de ejecución. El propósito que tiene reflection es la de permitir a los programadores crear código genérico, además es la clave para poder realizar metaprogramación Cada lenguaje tiene su propia forma de realizar reflection y Go no iba a ser menos, pero cada forma de aplicarlo es distinta ya que ésta se utiliza sobre el sistema de tipos del propio lenguaje. ...
Orientación a Objetos: Polimorfismo Llegamos a nuestro último artículo sobre Go enfocado a programación orientada a objetos, en este artículo tocaremos un aspecto muy importante de la OO, nada más y nada menos que el polimorfismo y como utilizarlo en GO ¿Qué es el polimorfismo? Cómo casi todos los términos que hay en programación parece algo más complicado de lo que es, pero una vez te lo explique verás que te queda muy claro e incluso puede que ya lo estuvieras aplicando sin ni siquiera conocer como se llamaba, esto suele pasar mucho en nuestro trabajo. ...
Los nil serán nil En marzo de 2012, la cantante mexicana Paulina Rubio publicó un nuevo single llamado “Boys Will Be Boys”, título que podríamos traducir a “Los chicos serán chicos”. En ella, Paulina habla de una historia de amor a la vez que cuenta algunas de las particularidades de los chicos, desde su punto de vista. Hoy, con “Los nil serán nil”, os queremos contar nuestra historia de amor con Go y, más concretamente, las particularidades de los nil. ...
Orientación a Objetos: Composición El gran dilema de la programación orientada a objetos ¿herencia o composición?, es un debate que suele ocurrir constantemente, pero que Go, para bien o para mal (creo que para bien) ha decidido que no ocurra en su lenguaje, y es que en Go la herencia no existe, sólo la composición. La composición significa utilizar objetos dentro de otros objetos. Y en Go no puede hacerse más sencillo. Composición por structs incrustados(embedding structs) Una de las formas de composición que ofrece Go es a través de incrustar un typed struct dentro de otro. ...
Orientación a Objetos: Structs En un artículo previo nos preguntamos si Go podía ser un lenguaje orientado a objetos, y llegamos a la conclusión de que sí, pero que debía ser utilizado de la manera correcta y no llevando el modo en que aplicamos la OO en los otros lenguajes. En este artículo queremos explicar como funcionan los structs y como utilizarlos de la manera correcta, para muchos puede parece algo básico, pero no está demás repasar un poco. ...