SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Academy
TEMA: LINGUAGEM GO
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.
Pontos-chave
Desempenho &
Escalabilidade &
Manutenção.
Empresas
Empresas
Trends
Hardware Improvements
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.
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.
Threads vs Goroutines
1MB
Java
THREADS
2KB
Go
GOROUTINES
VS.
Threads vs Goroutines
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.
Threads vs Goroutines
Compilado vs. Interpretado
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();!
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.
Simplicidade
Simplicidade
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{});

Mais conteúdo relacionado

Mais procurados

Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
Miguel Galves
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
Luiz Cláudio Silva
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
PeslPinguim
 

Mais procurados (13)

Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJango
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Estilizando temas de WordPress
Estilizando temas de WordPressEstilizando temas de WordPress
Estilizando temas de WordPress
 
O que esperar do Codeigniter 4
O que esperar do Codeigniter 4O que esperar do Codeigniter 4
O que esperar do Codeigniter 4
 
PHP: Além do sitezinho
PHP: Além do sitezinhoPHP: Além do sitezinho
PHP: Além do sitezinho
 
Slide
SlideSlide
Slide
 
Oracle x PostgreSQL
Oracle x PostgreSQLOracle x PostgreSQL
Oracle x PostgreSQL
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open Source
 
Postgres Chainsaw Massacre
Postgres Chainsaw MassacrePostgres Chainsaw Massacre
Postgres Chainsaw Massacre
 
Como ser-um-programador-melhor
Como ser-um-programador-melhorComo ser-um-programador-melhor
Como ser-um-programador-melhor
 
Treinamento em Symfony2
Treinamento em Symfony2Treinamento em Symfony2
Treinamento em Symfony2
 

Semelhante a Toodoo Academy | Go

Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.
Bryan Ollivie
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
 
hardware e software
hardware e softwarehardware e software
hardware e software
colefas
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 

Semelhante a Toodoo Academy | Go (20)

10 Linguagens de programação essenciais
10 Linguagens de programação essenciais10 Linguagens de programação essenciais
10 Linguagens de programação essenciais
 
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos MultiplataformaLimitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.Desenvolvimento web com groovy e grails.
Desenvolvimento web com groovy e grails.
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005Além do Java - Maratona4Java 2005
Além do Java - Maratona4Java 2005
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Ruby
RubyRuby
Ruby
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
hardware e software
hardware e softwarehardware e software
hardware e software
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
The Next Big Language
The Next Big LanguageThe Next Big Language
The Next Big Language
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
Go
Go Go
Go
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 

Toodoo Academy | Go