why go 4 go?

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Origen

- Servidores de red que hacen un procesos  simultáneamente.
- Lenguajes como C / C ++ no están diseñados para mantener varias cosas. como concurrencia, manejo de dependencia.
- Tiene en cuenta los sistemas multi-core, cloud computing.

Go fue creado por Google para resolver diversos problemas en términos de rendimiento, crecimiento y seguridad.

Lo diferente

En C/C++ se compila a assembly, luego se ejecuta el codigo maquina.

 

En Java primero a bytecode, luego a codigo maquina (JVM)

 

Perl/Python, cada linea se interpreta una a una  y se  ejecuta.

 

Go es compilado directamente a codigo maquina (binarios)

Features

 

  • Lenguaje compilado
  • Tipado estatico
  • Garbage collection
  • Syntax simple
  • Concurrente
  • Rapido
  • Portable (incluye Android and y pronto iOS)

Ventajas

  • Curva de aprendizaje facil
  • Cross platform
  • Alto rendimiento
  • Facil deployment
  • Buenas librerias base
  • Seguridad
  • Soporte de comunidad
  • Low memory footprint

Librerias built-in

  • web server

  • http, url, smtp

  • json, xml

  • database/sql

  • os

 

  • testing

  • log

  • crypto

  • html

  • image

  • sync

Seguridad

Para que?

  • Para aplicaciones distribuidas como (sistemas de despliegue, servidores de caché, orquestación de servicios)
  • Servidores de red y web (servidores de balanceo de carga, servidores de video, etc.)
  • APIs y servidores web generales.
  • Programación TCP, sockets (Websockets)​ 

Go es muy buena para aplicaciones que nesecitan escalar con alto rendimiento  y concurrencia.

Quien lo usa?

Google (of course)

CoreOS

Docker

Dropbox

Uber

Github

Netflix

SpaceX

Etc....

Preguntas?

Referencias

The Go Programming Language (2017) https://golang.org 

why go for go?

By Julio César