2. O que é Go?
É uma linguagem de programação open-source, criada
pelo Rob Pike, Ken Thompson e Robert Griesemer em
2007 e lançada em 2009 pelo Google.
— Colaboradores chave de projetos como o sistema UNIX, o padrão
UTF-8, o motor JavaScript V8, entre outros.
8. Conclusão
Portanto, não havendo esse avanço retumbante em
termos puramente de hardware, a forma de gerar
melhor performance é criar softwares de alta
performance.
9. Problema
Muita das linguagens de programação
modernas foram criadas em um contexto
de ambiente single-thread dos anos 90.
Problemas com race conditions, dead locks,
concorrência, etc.
12. Threads vs Goroutines
Outros benefícios das goroutines são:
- Com pilhas crescentes de memórias, elas só utilizam
mais memória quando necessário;
- Elas iniciam mais rápido do que as threads comuns;
- Elas possuem, de forma embarcada, primitivas de
comunicação entre elas -- channels.
15. Compilado vs. Interpretado
Tem um fator diferente do Go para outras linguagens
compiladas: você não precisa ficar se preocupando
com alocação de memória. Ele faz isso
automaticamente. Existe uma Garbage Collector
nativa. Portanto, sem malloc(); e sem free();!
16. Simplicidade
A linguagem Go foi criada para ser fácil de escrever e fácil de realizar
manutenção.
- Os programas são organizados em packages e as structs substituem as
classes.
- Não tem herança.
- Sem constructors.
- Sem annotations.
- Sem generics.
- Sem exceptions.
19. Problemas
- Não há um gerenciamento centralizado de pacotes;
- Fortemente tipado dificulta quando você não sabe o
tipo de dado que se está tratando (se usa
interface{});