Upgrade to Pro — share decks privately, control downloads, hide ads and more …

go, el lenguaje de google

Betabeers
May 26, 2012
180

go, el lenguaje de google

Betabeers

May 26, 2012
Tweet

Transcript

  1. Go: El lenguaje de Google La flexibilidad de Python con

    la rapidez del código máquina @jmrobles 2012-05-17T06:21:13.598Z
  2. README.txt - ¿Por qué? - Primeros pasos, Go go go!

    - Vistazo rápido - Paquetes para todo - Marchando un webserver! - ¿Quién usa esto? - No todo es tan bonito - ¡Me lo quedo! - The 6W
  3. ¿Por qué? - - = + simplicidad / flexibilidad /

    RAD eficiencia 11/2009 2010 2011 2012 03/2012 Go 0 Go 1 BSD License
  4. Primeros pasos, Go go go! - Benchmark* servidor web VS

    - Apache Benchmark % ab -n 40000 -c 8 http://localhost:port/ Go fue un 119% más rápido que Python
  5. Vistazo rápido - "Sintaxis conocida" if , for, switch, package

    - ... pero peculiar: var i int for i = 0; i < n ; i++ { fmt.Println(i) } - Go es concurrente: CSP miCanal := make(chan string) go func() { miCanal <- "desde el hilo" }() fmt.Println(<- miCanal) pthread C/C++ threading Python
  6. Paquetes para todo - Nativo - Comunidad compress/ gzip image/jpeg

    encoding/ json crypto/aes os/exec reflect unicode net/http runtime net/mail math/big html/template gosqlite3 gomysql gl pulsego go-python Rocket gomongo yaml web.go gooauth mustache.go go-curl pdfreader Cgo
  7. Marchando un webserver! Pasos: 1. Instalar Go (descomprimir un zip)

    2. Establecer variables de entorno GOROOT y PATH 3. Abrir shell y copiar el ejemplo 4. Obtener dependencias % go get 5. Compilar % go build 6. Voilá! ¡46 líneas!
  8. ¿Quién usa esto? - - - Stat Hat - Airbrake

    - Canonical - Novartis - ... MapReduce
  9. No todo es tan bonito - Binarios gordos - "Alergia"

    - Garbage collector - Generics interface{} 3,4 MB
  10. ¡Me lo quedo! - Quiero empezar con Go golang.org play.golang.org

    Download , install & go tour groups.google.com/groups/golang-nuts godashboard.appspot.com/project & Cgo developers.google.com/appengine/doc/go/overview Sólo jugar un poco Iniciarm e Estar al día En la nube Portar mi librería favorita* x86 gnu/linux windows mac osx x86_64 arm
  11. The 6W - ¿Qué? Lenguaje flexible como Python con la

    eficiencia de C - ¿Quién? Google y la comunidad de SL - ¿Donde? golang.org - ¿Cómo? Compilando y optimizando el código - ¿Cuándo? Go 1, Marzo 2012 - ¿Por qué? Desarrollar más rápido, ejecutar con menos recursos