Upgrade to Pro — share decks privately, control downloads, hide ads and more …

O que está por vir na versão GO 2.0?

O que está por vir na versão GO 2.0?

Neste TDC de Florianópolis, minha amiga Eloisa Potrich, me convidou para apresentar uma lightning talk sobre o que podemos esperar sobre a versão 2.0 do Golang. Foi uma troca de conhecimento muito legal mesmo que em 15min.

http://thedevconf.com.br/tdc/2019/florianopolis/trilha-go

Marco Paulo Ollivier

April 23, 2019
Tweet

More Decks by Marco Paulo Ollivier

Other Decks in Programming

Transcript

  1. 2 SOBRE MIM 2 Eloisa Potrich (ello) https://www.linkedin.com/in/eloisa-potrich-2ab683145/ [email protected] -

    Estudante de Engenharia de Software - Presidente da UnidevTI Consultoria Júnior - Fundadora do Password - Estagiária de desenvolvimento na Mandic - Maringaense
  2. 3 SOBRE MIM 3 Marco Ollivier https://www.linkedin.com/in/marcopollivier/ [email protected] - Sr.

    Software Engineer na OLX #DESAPEGA - Mentor na Codenation - Co-organizador da GopheRio - Articulista de Ciência e Tecnologia no Tempo em São Paulo - Carioca ¯\_(ツ)_/¯ @marcopollivier ollivier.com.br
  3. A Mandic Cloud é líder brasileira na gestão de ambientes

    em nuvem (pública, híbrida e privda). Com seu time de Especialistas certificados em práticas DevOps, Engenharia de Dados e Cultura Digital nas principais plataformas cloud do mercado (VMware, OpenStack, AWS), oferece consultoria e suporte especializado em português com faturamento em reais. Tenha o apoio de Especialistas para integrar e automatizar seu ambiente de TI com provisionamento e rotinas com portabilidade entre nuvens pela Plataforma Mandic Cloud. QUEM SOMOS
  4. Gerenciamento de Serviços em Nuvem 2012 2013 2014 2015 2016

    2017 2018 Aporte Riverwood Capital Nuvem Pública de Alta Performance Aporte Intel Capital Crescimento orgânico de 30% Foco Exclusivo em Cloud Corporativo Gerenciamento de Serviços AWS Aquisição da Área de Cloud da ASCENTY. Vmware, Openstack e Certificação ISO 20.000 e PCI-DSS Aquisição da Rivendel Serviços de DevOps, Engenharia de Dados e Cultura Digital A HISTÓRIA COMEÇOU NA DÉCADA DE 90
  5. +1.000 empresas trazidas para a nuvem NPS +60 parceiro AMAZON

    WEB SERVICES 100% cloud corporativo foco Riverwood Capital Empresa do Grupo maior que crescimento 35% ano sobre ano JORNADA PARA CLOUD e Cultura Digital UNIVERSIDADE MANDIC CLOUD PLATAFORMA MANDIC CLOUD Cloud Management Platform Provisionamento e rotinas automatizadas com portabilidade entre nuvens +98% de satisfação pelos clientes
  6. 10 “Nosso objetivo para o Go 2 é consertar as

    formas mais significativas que o Go não consegue dimensionar.” - Cox
  7. 12 O propósito do processo de avaliação da proposta é

    coletar feedback sobre um pequeno número de propostas selecionadas, de modo que uma decisão final possa ser tomada. O processo é executado mais ou menos em paralelo a um ciclo de liberação e consiste nas seguintes etapas:
  8. 1. Seleção de proposta; 2. Feedback da proposta; 3. Implementação;

    4. Feedback de implementação; 5. Decisão de lançamento;
  9. 15 Esse processo será recusado referente a propostas, o que,

    esperamos, evitará o rastreamento de recursos e ajudará a manter a linguagem pequena e limpa. Entretanto se acontecer de entrar em Critérios de seleção de propostas então deverá seguir esses passos:
  10. 1. abordar uma questão importante para muitas pessoas, 2. ter

    impacto mínimo sobre todos os outros, e 3. vem com uma solução clara e bem compreendida.
  11. 18 “Somos constrangidos pelo fato de que agora temos milhões

    de programadores Go e um grande corpo de código Go, e precisamos trazê-lo o tempo todo, para não arriscarmos um ecossistema dividido. Isso significa que não podemos fazer muitas mudanças, e as mudanças que vamos fazer precisam ser escolhidas com cuidado. Para progredir, estamos implementando um novo processo de avaliação de propostas para essas mudanças significativas e potenciais.” - Cox
  12. 20 Como chegamos onde chegamos • Em novembro de 2018

    havia algo em torno de 120 issues abertas • Robert Griesemer e Ian Lance Taylor organizaram a casa ◦ Fecharam issues que não faziam sentido; ou ◦ ...que não garantiriam compatibilidade com Go 1; ◦ Também mergearam issues que tinham propósitos muito similares
  13. 25 Vale lembrar... Ainda estamos lidando com um draft (rascunho)

    do que vai ser o design final do GO 2. Apesar de ser muito provável que essas alterações sejam implementadas de fato, alterações pontuais podem ocorrer.
  14. 28 Error handling • check check <expression> Onde expression é

    um erro ou uma função onde o último retorno é um erro De modo que, caso o erro seja nil, a função retorna todos os outros retornos
  15. 32 Generics Hoje a única "maneira segura" de implementar esses

    tipos seria escrever uma nova função para cada tipo para o qual você deseja implementá-la Mas isso é o oposto do objetivo da Go de reduzir a duplicação de código.
  16. 33 Generics • Adicionar um caminho para abstrair detalhes desnecessários

    de tipos (como no exemplo anterior); • Tipos genéricos devem estar disponíveis em tempo de compilação e tempo de execução;