From `No` to `Go`...
Una historia de casi amor, por Thiago Costa"No le digan a Ruby que estoy aquí..."
Go
expressive, concise, clean, and efficient
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
Oe! Soy la rata flaite de Go
y hoy vamo a habla un poco de esa weá
Así que agarrense nomá en la silla
y al tiro van dejar de ser weones
Cosas buenas para tener en cuenta antes de empezar
- Elige un IDE
- Instala el (posiblemente ya existente) plugin de Go para tu IDE de preferencia
- Instala Go
Elige un IDE
KISS / no brainer choice: Atom
Instala el plugin de Go para tu IDE de preferencia
Go-Plus (para Atom)
Instala Go
Para MacOs
sh-3.2$ brew install go
Ella, la mac...
el XP con los guacho
en la local, weón, no la pongai en /bin
Para Windows: Baja el MSI desde
aquí
Setea tu ambiente
Go espera que tu ambiente esté seteadode la siguiente forma
$GOPATH
\src
\.. # Todos tus proyectos
\pkg
\.. # Los paquetes que has instalado
\bin
\.. # Los binarios que fueron compilados de tus proyectos
La temida GOPATH
Según la documentación de Go:
The GOPATH environment variable specifies the location of your workspace. It is likely the only environment variable you'll need to set when developing Go code.
Ohh, que le poní color a la weá...
Consejo de amigo
y carga eso en tu archivo .envrc donde vayas a trabajar en Go
export GOPATH=$(pwd)/mi_super_proyecto_piola
export PATH="$PATH:$GOPATH/bin"
Lee desde un archivo y hace un http post a un servicio X
Pero aweonao, eso es Ruby...
Conclusiones
(agradables)
Lenguaje robusto
Más que production ready
Sintax agradable
Amplia librería
Conclusiones
(no tan agradables)[pero discutibles]
"Setup" no intuitivo al lado de otros lenguajes como Perl, Python o Ruby
Documentación aun luce caótica
Falta de una herramienta de desarrollo de soporte (IDE, REPL [nativo])
Bottomline
El poder de C con la simplicidad de un lenguaje moderno y el poder de un lenguaje funcional
From `No` to `Go`...Una historia de casi amor, por Thiago Costa