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

Palestra: Your Program as a Transpiler: Applying Compiler Design to Everyday Programming

Track: Ciência da Computação no Mundo Real

Sala: 1 Londres

Horário: 3:05pm - 3:50pm

Dia da semana: Terça-feira

Nível: Intermediário

Persona: Arquiteto(a), Desenvolvedor(a) Programador(a), Líder Técnico(a)

Apresentação em Inglês

Share this on:

This presentation is now available to view on InfoQ.com

Assista a palestra com transcrição

Pontos Principais

  • Apply compiler design patterns to everyday programming tasks;
  • Get a better understanding of how GraalVM and Quarkus work;
  • Understanding compiler design will make you a better programmer.

Resumo

Many languages “transpile” into other languages, but compilers are still often seen as arcane pieces of software that only a master of the dark arts could write. But at the end of the day, both are programs that translate code from a programming language to another.

So what does make a transpiler simple and a compiler hard? What can we learn from these complex pieces of software? And are they really that complex?

The lessons we can learn from language implementation design patterns are really within the reach of everyone; not only can they apply to daily programming problems, but they are also key to really understand the basis of exciting new technologies such as the GraalVM project and the Quarkus stack. In our experience on the Drools and jBPM projects, we have come across many opportunities to apply programming language development techniques to a broader context. In this talk, we will see some of these examples.

Palestrante: Edoardo Vacchi

Senior Software Engineer at Red Hat

During my PhD, I researched language design and implementation at University of Milan. After three years at UniCredit's R&D dept, I have joined Red Hat's Middleware team, where I work on the Drools rule engine and the jBPM platform.

Find Edoardo Vacchi at

Tracks

  • Arquiteturas que você sempre quis conhecer

    Segredos arquiteturais de aplicações populares, com milhões de pessoas usuárias e que nunca saem do ar.

  • Engenharia aplicada a Machine Learning

    Conheça as principais técnicas de engenharia  e arquitetura de software de larga escala aplicadas a Machine Learning.

  • Microservices: melhores práticas e padrões

    Frameworks modernos e os desafios de implantação, gestão e pós-produção

  • Arquiteturas de vanguarda

    Conheça as tendências em técnicas, práticas e princípios que norteiam o estado da arte em arquitetura de software e podem ser alavancas não só para times e organizações de tecnologia, mas para os negócios, nos próximos anos.

  • Software Supply Chain

    Todas as fases do ciclo de vida de um artefato de software, do primeiro commit até o deployment. Segurança, observabilidade, genealogia e gestão de toda a sua cadeia de suprimentos de software

  • Machine Learning e Inteligência Artificial

    Algoritmos, técnicas e ferramentas: o que está por trás de sistemas e soluções cada vez mais assertivos.

  • Data Science aplicada

    Tecnologias e as boas práticas da ciência de dados trazendo ganho e diferencial competitivo para grandes empresas.

  • Java e JVM em evolução

    Performance, escalabilidade e as mais recentes novidades da principal plataforma de desenvolvimento no Brasil e no mundo.

  • JavaScript: a plataforma da web moderna

    Explore profundamente os frameworks que tornam o JavaScript tão popular e saiba como as linguagens baseadas em JavaScript estão evoluindo o desenvolvimento de front-end (e back-end).

  • Levando sua carreira para o próximo nível

    Habilidades e estratégias para destravar sua carreira e potencializar seu desenvolvimento profissional.

  • Construindo culturas de desenvolvimento duradouras

    Criando e evoluindo a cultura de empresas: novas formas de organizar times com foco em produtividade.

  • Ciência da Computação no mundo real

    Temas avançados em computação. Técnicas clássicas e modernas direto da academia para o seu código.

  • Linguagens do século 21

    Linguagens e plataformas emergentes, com ênfase em linguagens projetadas para alta concorrência e sistemas distribuídos.

  • AMA (Ask Me Anything)

    Discussões mais profundas com palestrantes do QCon São Paulo.

  • Solutions Track

    Conheça soluções, ferramentas e técnicas de empresas parceiras do QCon São Paulo.