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
why go for go?
- 746