Introdução à linguagem Go
Características da linguagem
-
Linguagem de programação open source
-
Expressiva
-
Concisa
-
Limpa
-
Eficientes
-
Máximo aproveitamento de recursos multicore e de rede
-
Linguagem compilada
A compilação dos arquivos é extremamente rápida comparada com a linguagem C, por exemplo.
-
Compilada em um único binário
-
Estaticamente tipada
-
Possui garbage collection
Curiosidades
-
Criada pelo Google
-
Projeto inicial em 2007
-
A versão 1.0 foi lançada em 2012
-
Na versão 1.5, foi feita a reescrita do compilador em Go
-
Criadores: Robert Griesemar, Rob Pike, Ken Thompson
-
Empresas que utilizam Go
- Docker
- Kubernetes
- Dropbox
- Digital Ocean
- Prometheus
- Uber
- SoundCloud
- Medium
- Twitch
- BBC
- SendGrip
Motivações
Limitações das principais linguagens utilizadas na Google (Python, Java, C++)
-
Python: problemas com lentidão
-
C/C++: muita complexidade e lentidão na compilação
-
Java: problemas gerados ao longo do tempo, por exemplo na manutenção, devido a verbosidade da linguagem
Necessidades
- Multithreading e concorrência: Python, Java e C++ não foram criadas, nativamente, com esse propósito
Vantagens na utilização da linguagem
-
Simplicidade
-
Framework de testes e profiling nativos
-
Detecção de race conditions(ou race hazard)
-
Deploy simples (1 único binário)
-
Baixa curva de aprendizado