TDC 2017
São Paulo
Um dos maiores encontros de comunidades e empresas no Brasil

Trilha Programação Funcional Técnicas e teorias de Functional Programming

Palestras específicas sobre linguagens como Haskell, Clojure, Scala, Erlang, técnicas de aplicação de FP em Ruby, Python, Rust, Java, tendências de mercado, frameworks, um pouco de teoria e projetos de quem já utiliza.

Palestras

Importante: A grade de palestras está sujeita a alterações sem prévio aviso.
Conteúdo
08:00 às 09:00 Credenciamento e recepção dos participantes

Todas as pessoas inscritas, palestrantes, coordenadores e de imprensa, devem retirar seus crachás e kit do congressista nos balcões de credenciamento localizados na entrada do evento, para obterem acesso às salas e Auditório Principal.

09:00 às 10:00 Abertura do evento no Auditório Principal

Após o credenciamento, convidamos os participantes a comparecerem ao auditório para receberem as boas vindas por parte dos realizadores e patrocinadores.

Neste keynote de abertura, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

10:10 às 11:00 Ouvi falar de Rust... mas como faço um site?
Bruno Lara Tavares

Talvez você já tenha ouvida alguém falar sobre Rust e ficou curiosa. No site da linguagem (https://www.rust-lang.org/en-US/) você viu que é uma "linguagem de sistemas", e que roda rápido. Ideal pra fazer Sistemas Operacionais, navegadores, e sites também.

Vamos ver como começar com a linguagem, quais ferramentas instalar e as opções atuais para começar o desenvolvimento Web, integrar com banco de dados, testar e fazer deploys.

My first compiler \o/
Jônatas Davi Paganini

I'm a developer, but I was always afraid of building a language compiler. On this talk, I'll show all of my frustrations and what I did step by step to implement my first lazy and bugged language.

It's a minuscule compiler that allows me to search in Abstract Syntax Tree with style very similar to regular expressions.

The project is open source, and my idea is to show step by step how I figure out to put it working.

I hope to do a live coding and implement some features or use the current language and play with the current parser.

11:10 às 12:00 Creating a stealing points game server with Elixir
Kleber Nascimento Gueriero

Elixir is a fresh new language with all the advantages of being a new language, but making use of a heavily tested existing language called Erlang. By being based on Erlang, it has a whole environment ready for fault tolerance and highly concurrency. And in this presentation, I'm going to pass through some basic concepts of Elixir while creating a simple stealing points game.

12:00 às 13:00 Intervalo para Almoço
Uma excelente oportunidade de todas as pessoas no evento interagirem e trocarem ideias, colaboradores, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
13:10 às 14:00 Increasing code reusability through partial application
Derek Stavis

Partial application is a powerful feature present in JavaScript and can be used to help you increase code reusability by writing more generic code. Let's give a look at two real world open source softwares leveraging this feature and understand how you can apply this techniques to simplify your own code.

Immutable data structures : por que e como usar
Breno Ferreira

Boa parte das dores de cabeça dos desenvolvedores tem como origem conseguir coordenar mudanças no estado da aplicação, e conseguir manter os dados consistentes. Se a aplicação possui um fluxo de dados complexo, isso pode se tornar extremamente complicado. Algumas linguagens (Javascript por exemplo), ainda tornam essa tarefa mais difícil quando ela é muito permissiva quanto à alteração do estado interno de objetos sem que isso seja explicitamente permitido.

Irei apresentar como o uso de estruturas imutáveis pode ajudar a manter a complexidade menor e a confiabilidade maior. E também mostrar alguns trade-offs que devem ser avaliados antes de adotar seu uso.

14:10 às 15:00 Processamento de Dados com Elixir
Guilherme de Maio

Se você ouviu dizer que linguagens funcionais são boas para processamento de dados e não entendeu direito o porque, ou está querendo usar Elixir e precisa de uma motivação, venha ver essa apresentação! Vou construir uma app simples para demonstrar duas novas ferramentas do mundo Elixir,: o Flow e o GenStage. Essas ferramentas foram criadas justamente para facilitar a criação de fluxos de processamento de dados, sendo bastante flexíveis e genéricas!

15:00 às 15:30 Coffee-break e Networking

Durante o intervalo de coffee-break, serão entregues kits contendo suco e biscoitos. Um delicioso intervalo para relaxar, conhecer novas pessoas e estreitar contatos.

Neste tempo, também surge a oportunidade de todas as pessoas no evento interagirem entre sí, participantes das trilhas, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.

15:40 às 16:30 Código funcional extensivel: Protocols & Type Classes
Renan (milhouse) Ranelli

Um dos problemas comuns em desenvolvedores que estão iniciando na programação funcional é não entender bem quais os dispositivos de composição, abstração e polimorfismo oferecidos pelas linguagens funcionais. Essa falta de abstração e polimorfismo acaba por gerar programas "funcionais" bastante próximos a um equivalente imperativo. Nessa apresentação vou destrinchar o conceito de Protocolos (Elixir & Clojure), Type Classes (Haskell & friends) e relacionar com alternativas em outras linguagens (e.g. Mixins em Ruby e Extension Methods em C#). Vamos aprender como aproveitar das vantagens de "associar dado e comportamento" da orientação a objetos -- onde faz sentido -- em programas funcionais.

16:40 às 17:30 Bot Haskell (Wreq & Lenses)
Eric Andrade

Using haskell I intend to:

  • Access pages
  • Parse Data
  • Pretend to be a browser
  • Keep session and craw authenticated only pages.
Programação funcional com Haskell, uma linguagem puramente funcional
Felipe dos Santos de Morais

Nos últimos tempos várias linguagens estão adotando características funcionais como Java, Swift e JavaScript e para aprender sobre programação funcional fui atrás de uma linguagem que tem várias semelhanças com minha linguagem principal, que é Python, chamada Haskell.

Haskell é uma linguagem puramente funcional que te desafia a pensar de uma maneira diferente da maioria das linguagens que você já utilizou.

Que saber sobre os principais conceitos de programação funcional? Conhecer uma linguagem puramente funcional?

Venha trocar aprender sobre esse paradigma incrível que vai te tornar um desenvolvedor muito mais criativo na solução de problemas.

17:40 às 18:30 Problemas que o Elm resolve só com o compilador, sem nada mais
Eduardo Cuducos

O Elm surgiu para oferecer um ambiente robusto de desenvolvimento para frontend. Sua arquitetura inspirou o Redux, amplamente adotado pela comunidade JavaScript. Mas o Elm por si só é uma linguagem muito poderosa: tanto a tipagem quanto o próprio compilador já nos levam a resolver inúmeros problemas que poderiam passar despercebidos em outras linguagens. Esse live coding mostrará exemplos didáticos de códigos falhos que poderiam ser colocados em produção em outra linguagem, mas que nunca aconteceria se a aplicação fosse em Elm.

Elm: a light in the web UI complexity dark-age
Hugo Bessa

Building User Interfaces (UI) became an interesting problem as user's expectations of how an UI should behave grew in the last decade. Elm shed some light over the current needlessly complex solutions, with a powerful compiler powered by types and functional programming.

18:40 às 19:00 Encerramento e Sorteios

No horário de encerramento, todas as trilhas serão direcionadas de suas salas para o Auditório Principal, mesmo local da abertura.

Após a apresentação de resultados do dia muitos sorteios fecharão o dia.

Data e Local

Terça-feira, 18 de Julho de 2017

9 às 18 h

Universidade Anhembi Morumbi

Rua Casa do Ator, 275
Vila Olímpia | São Paulo - SP

Informações sobre Data e Local


Público Alvo

Desenvolvedores(as)


Investimento

presencial:R$ 240,00

Fazendo sua inscrição presencial, você terá acesso a esta trilha e no mesmo dia também:
TDC Expo: Venha conversar com pessoas e conhecer empresas incríveis.
Embarcados Experience: Venha conferir informações de qualidade que auxiliam em projetos eletrônicos e servem para atualização do conhecimento.
Trilha Stadium: Você poderá assistir às palestras da trilha Stadium do mesmo dia.


Patrocinadores