Você está visualizando o site de uma EDIÇÃO PASSADA do QCon.

Track: Linguagens do Século 21

Sala: 1 Londres

Dia da semana: Quarta-feira

Esta trilha reserva espaço para as linguagens de programação modernas, abordando desde como elas foram projetadas, quais são os seus objetivos, aplicações e como estas linguagens pavimentam o futuro da computação.

Também serão discutidas as diferentes formas que estas linguagens nos auxílam a lidar com alguns dos aspectos mais complicados da programação, como por exemplo, gerenciamento de memória, concorrência, paralelismo, entre outros.

Venha para esta trilha entender como linguagens contemporâneas estão nos tornando mais produtivos e nossos programas mais seguros e performáticos.

Track Host: Luciano Ramalho

Principal Consultant na ThoughtWorks Brasil

Autor do best-seller Fluent Python (O’Reilly, 2015), consultor principal na ThoughtWorks e co-fundador do Garoa Hacker Clube, o primeiro hackerspace do Brasil.

10:50am - 11:35am

Reescrevendo software crítico em Elixir - um estudo de caso

A maioria das empresas que iniciam a adoção de Elixir começam com uma prova de conceito que reescreve uma aplicação não-crítica.

Na Telnyx, nós escolhemos a opção difícil: Reescrever um serviço de alto volume, alta disponibilidade e economicamente crítico. Essa palestra irá explorar qual a nossa estratégia para essa empreitada, bem como o que deu certo, o que não deu e aqueles segredos que gostaríamos de saber desde o início.

O objetivo é encorajar os desenvolvedores a adotarem Elixir em empresas estabelecidas e também entender quais os verdadeiros méritos da plataforma. Ao mesmo tempo, tentaremos mostrar de forma imparcial e com uma perspectiva de engenharia as nossas experiências e exemplos.

Renan Ranelli, Engenheiro de Software na Telnyx

11:50am - 12:35pm

Tensorflow poliglota: integrando Go e Python

Na NeuralMed, usamos o SDK do Tensorflow em nossas aplicações escritas em Go para fazer inferência em nossos modelos de deep learning criados em Python. Acabamos descobrindo na prática que a API em Go do Tensorflow não tem uma manutenção tão boa quanto a API em Python e decidimos fazer nossa inferência também em Python.

Em Python foi fácil validar nossos resultados mas encontramos desafios novos: fazemos a comunicação síncrona ou assíncrona? Usamos HTTP? REST? gRPC? Mensageria? Descubra como evoluímos para suportar uma aplicação poliglota, parte em Go, parte em Python, alcançando uma arquitetura estável com suporte a múltiplos modelos de deep learning.

Vitor De Mario, Tech Lead at NeuralMed

2:05pm - 2:50pm

Scala ♥ Graal

Scala é a linguagem predominante no Twitter dadas as suas características que facilitam a implementação de sistemas de alta performance. Nos últimos anos, o time de VM no Twitter tem investido em um novo compilador “just in time“ (JIT) criado pela Oracle, chamado Graal. Esse novo compilador melhorou a performance dos sistemas e abriu o caminho para o time de VM implementar otimizações adicionais baseadas nas necessidades específicas da linguagem Scala.

Essa palestra irá apresentar alguns dos desafios de performance da linguagem Scala e como temos otimizado o compilador JIT para obter melhor performance. Esta palestra será uma excelente oportunidade para entender como características de uma linguagem podem afetar a performance de sistemas e como a JVM otimiza o código em tempo de execução.

Não é necessário conhecimento prévio de Scala ou compiladores JIT para atender essa palestra.

Flavio Brasil, Staff Software Engineer at Twitter

3:05pm - 3:50pm

Performance extrema, execução segura e código elegante com Rust (observadas por um programador C++)

Rust é uma linguagem de programação moderna e poderosa. Ela é perfeita para aqueles que buscam performance máxima, geralmente obtida em linguagens de nível mais baixo (como C e C++), e a clareza das linguagens de nível mais alto.

O design da linguagem permite a adoção de abstrações extremamente elegantes, unindo o melhor da programação orientada-a-objetos e funcional, sem implicar em qualquer prejuizo em tempo de execução. Além disso, o design da linguagem permite ao compilador detectar erros comuns de tempo de execução, como leaks de memória, durante a compilação.

Nessa palestra compartilho uma revisão das principais características da linguagem, com ênfase a forma inovadora como ela trata memória. Destaco também as features que mais chamaram a atenção do nosso time durante a análise da linguagem. Também compartilho impressões quanto a desafios para adoção da linguagem em produção.

Elemar Jr, Senior Engineer at Hibernating Rhinos

4:05pm - 4:50pm

Kotlin do zero a produção: a experiência do C6 Bank

Kotlin é uma linguagem criada pela JetBrains como uma alternativa ao Java e Scala e criada com um design focado nas necessidades da indústria. Um exemplo desta mentalidade é a interoperabilidade com Java, que faz com que sua adoção seja bastante facilitada, pois permite uma migração gradual de sistemas escritos nesta linguagem.

Nesta palestra vamos abordar algumas das principais características do Kotlin, assim como os motivos que nos fizeram adotá-la como a principal linguagem de desenvolvimento na camada de microservices do C6 Bank. Vamos compartilhar nosso aprendizado durante a jornada até o ambiente de produção!

Eduardo Ramos, Senior Engineer at C6 Bank
Rodrigo Zaccara, Software Engineer Specialist at C6 Bank

5:20pm - 6:05pm

Dart: uma linguagem otimizada para o front-end

Kotlin no Android, Swift no iOS e JavaScript para as duas plataformas via React Native: essas são as opções mais estabelecidas para criar mobile apps hoje. Porém, o Google quer mudar esse cenário e vem trabalhando desde 2011 em Dart, uma linguagem de programação especialmente projetada para web e apps. Dart pode ser usada no browser e também no servidor, mas ela ganhou um impulso tremendo quando Google lançou Flutter, um SDK híbrido que compete com React Native, mas gera código nativo para Android e iOS e promete atualizar a tela a 120 FPS nas duas plataformas.

Nesta palestra veremos as principais características de Dart, contrastando com JavaScript. Veremos como Dart lida com a Orientação a Objetos, sintaxe para construir elementos UI, programação concorrente, responsividade, manipulação de erros, classes, interfaces, dentre outras características projetadas para apoiar o desenvolvimento no client-side, em smartphones ou browsers.

Sthefane Soares, Professora Universitária e Analista Programadora na FANESE e SEAD-TOPOS

Tracks 2019