Conferência: 24, 25 e 26 de abril
Palestra: Theorems for Free, Blame for All
Sala:
- Carol Shaw
Dia da semana:
- Terça feira
Apresentação em Inglês
Every great idea in computing will be discovered twice, once by a logician and once by an computer scientist. In 1974, John Reynolds introduced a tiny programming language – the polymorphic lambda calculus – to model data abstraction; nine years later he introduced a theory to explain how to change the representation of an abstract type without changing the behaviour of the program. But before all that, in 1972, Jean-Yves Girard introduced exactly the same tiny programming language – now called System F – for a completely different reason having to do with second-order logic. Related ideas were introduced by the logician Roger Hindley and later by the computer scientist Robin Milner, and now serve as the basis of the type system for Haskell, OCaml, and F#.
Reynolds’s theory can be viewed as a magic trick: give me the type of a function and I will tell you a theorem that it satisfies, even though I know nothing about the function's definition other than its type. The GHC Haskell compiler routinely exploits this fact to optimize operations on lists. It’s even possible to write the function in a dynamically typed language, such as JavaScript, and then impose the type later in a way that ensures it will still satisfy the corresponding theorem. We have a research version of TypeScript, called TypeScript The Next Generation, which does just that. This talk will explain the magic.
Tracks
Segunda-feira
-
Culturas de engenharia e equipes de alto desempenho
Criando e evoluindo a cultura de empresas: novas formas de organizar times com foco em produtividade
-
Arquiteturas que você sempre quis conhecer
Lições do mundo real em aplicações e arquiteturas inovadoras de grande complexidade e inovação
-
Java e JVM: Inovações no ecossistema e linguagem
Inovações e tendências na plataforma e linguagem Java – e como se preparar para o Java 9 e Java 10
-
Desenvolvimento front-end no estado da arte
Desenvolvimento com HTML5, JS, CCS3, HTTP/2, novas tendências da web moderna e UX Design
Terça-feira
-
Construindo e evoluindo produtos de sucesso
Lições de equipes que transformaram ideias em aplicações que se adaptam ao mercado e aos usuários
-
Ciência da computação aplicada
Trazendo inovações da Ciência da Computação em técnicas e linguagens para o desenvolvimento do dia a dia
-
Resiliência na prática: performance com qualidade e segurança
Técnicas para criação de sistemas seguros e resilientes, sem abdicar do desempenho
-
Microservices e arquiteturas API-first
Explorando a fronteira dos serviços e integração: da ubiquidade das APIs a microsserviços ultra-modulares e frameworks modernos
Quarta-feira
-
.NET: muito além do Framework
Do design aberto de linguagens ao reactive: o potencial do .NET open source e a modernização da plataforma
-
Containers e DevOps: entregando software na era da nuvem
Containerização e operações automatizadas na velocidade da internet
-
IoT, mobile e computação onipresente
Arquiteturas, protocolos, segurança, integração com plataformas móveis – e como lidar com dados em quantidades extremas
-
Machine Learning e Data Science: aplicações que aprendem
De Big Data a deep learning: alavancando grandes volumes em ambientes distribuídos e complexos