Trilha Scala

Scala - Mais poder no "velho" mundo da JVM

Scala é uma linguagem extramamente produtiva e poderosa. Parte do seu poder é graças ao fato da linguagem rodar na JVM, mas isso não é tudo. Scala une programação orientada a objetos com programação funcional, trazendo possibilidades muito maiores do que seria possível apenas com a linguagem Java, por exemplo. Se você já ouviu falar de Scala mas nunca tentou programar nesta linguagem, talvez tenha ouvido falar que Scala é complexa. Mas nada melhor do que conhecer mais sobre a linguagem para desmistificar isso.


Público Alvo

Desenvolvedores com alguma experiência em qualquer linguagem de programação, que tenham interesse em aprender mais sobre Scala - ou começar a aprender.


Horário Palestra
08:30 às 09:00 Credenciamento e recepção dos participantes com café da manhã
09:00 às 10:00 Abertura
10:10 às 11:00 Fishbowl Java e Scala - Quebrando o gelo
Fishbowl Java e Scala - Quebrando o gelo
Alberto Luiz Souza / Todos os participantes

Nesse fishbowl falaremos sobre Java e Scala, de forma bem aberta. Começaremos com dois firestarters de 5 minutos cada, para inspirar os presentes. Em seguida, vamos ter algumas cadeiras para quem quiser participar da discussão, sendo que todos os presentes serão convidados a participar. A idéia é que qualquer um que quiser dar a sua opinião poderá fazê-lo.

A cada 7 minutos (ou quando a discussão esfriar) é perguntado se querem mudar o tema ou continuar. O que quer dizer basicamente que não vamos ficar discutindo nada que não esteja interessando a maioria dos presentes.


Alberto Luiz Souza / Todos os participantes
11:10 às 12:00 Programação Funcional para Manipulação de Dados
Programação Funcional para Manipulação de Dados
Jonas Abreu

O fato de Scala unir programação Orientada à Objetos com programação Funcional permite que você escolha qual ferramenta quer usar para resolver um problema.

Embora Orientação à Objetos seja muito boa para organizar a arquitetura e o design da sua aplicação, quando o seu problema envolve manipular dados de formas não triviais, programação Funcional é insuperável.


Jonas Abreu
12:00 às 13:00 Intervalo para almoço*
13:10 às 14:00 Scala 2.10 -- De Onde Viemos e Para Onde Vamos?
Scala 2.10 -- De Onde Viemos e Para Onde Vamos?
Daniel Capo Sobral

Começamos com uma timeline das versões de Scala desde a 2.0 em 2006, para realçar a tremenda velocidade de mudanças na linguagem.

Após isso, apresentamos os tópicos abaixo, e detalhamos cada um:

  • Bug fixes (virtual pattern matcher, esforço conjunto pré 2.10.0 M4, outros)
  • Melhorias (novas coleções, revisão do RedBlackTree, scaladoc)
  • SIPs (o que são, quais foram aprovadas, descrição das features)
  • Scala.reflect

Terminamos com uma especulação a respeito de evoluções futuras: untyped macros, macro types e macro annotations, effect system, integração de abstract types e type parameters.

A palestra terá ênfase nos aspectos pragmáticos, com inúmeros exemplos de código.


Daniel Capo Sobral
14:10 às 15:00
Programação distribuída fácil e poderosa na JVM com Akka
Programação distribuída fácil e poderosa na JVM com Akka
Paulo Renato Campos de Siqueira

Akka é um framework para desenvolvimento de aplicações concorrentes e/ou distribuídas. Utilizando o modelo de atores, esse framework também permite que a aplicação seja altamente tolerante a falhas - além de abstrair muitas complexidades baixo nível, tornando o código que precisamos escrever bastante simples.

Nesta palestra, vamos mostrar como o Akka funciona; vamos falar um pouco do modelo de atores e em seguida focar nos recursos disponíveis para criação de aplicações distribuídas. Sempre mostrando código funcionando.


Paulo Renato Campos de Siqueira
15:00 às 15:30 Coffee-break & networking
15:40 às 16:30 Criando sua própria linguagem com parser combinators
Criando sua própria linguagem com parser combinators
Lucas Cavalcanti

Parser Combinators é uma das funcionalidades mais poderosas do Scala. Com ela conseguimos implementar desde expressões regulares até gramáticas que podem parsear linguagens complexas, como o próprio Scala.

Muitas linguagens de programação possuem bibliotecas para esse fim, é o caso do Antlr e do Bison, mas nenhuma delas conseguiu deixar essa tarefa complexa de forma tão (relativamente) simples como o Scala e seus parser combinators.

Essa palestra mostrará para que servem os parser combinators e como usá-los de forma organizada.


Lucas Cavalcanti
16:40 às 17:30 Testando seu código com Specs2
Testando seu código com Specs2
Juliano Alves
Testes são mais do que programas que testam sua aplicação, são especificações de como ela deve funcionar. Nessa palestra será apresentado o Specs2, um framework Scala para BDD, permitindo que os testes sejam orientados ao comportamento, e produzindo resultados de fácil leitura.

Juliano Alves
Akka 2.0 + MongoDB - Caso de sucesso no Ecommerce Turismo.
Akka 2.0 + MongoDB - Caso de sucesso no Ecommerce Turismo.
Rodrigo Silva Rahman de Almeida

Uma explicação completa do problema, do porque foi utilizado o Akka, tunning e a melhoria do processo de busca para o ecommerce turismo (www.cvc.com.br)

Tópicos:
  • Problema a ser solucionado;
  • O porque da utilização do framework Akka;
  • Arquitetura proposta;
  • Explicação da Solução;
  • Tempo de resposta e ganhos utilizando a tecnologia.

Rodrigo Silva Rahman de Almeida
17:40 às 18:30 Lazy Evaluation em Scala
Lazy Evaluation em Scala
Pedro Matiello

Scala é frequentemente descrita como uma linguagem que integra programação orientada a objetos com programação funcional. Dentro do paradigma funcional, uma característica importante é o suporte a Lazy Evaluation - uma estratégia de avaliação de expressões que consiste, principalmente, em adiar o cálculo das expressões até que seu resultado seja necessário.

Nesta palestra veremos a extensão do suporte a Laziness em Scala, seus possíveis usos, benefícios e potenciais desvantagens.


Pedro Matiello
18:40 às 19:00 Encerramento e sorteios

* Todos os participantes receberão um sanduíche do SUBWAY na hora do almoço

Obs.: Grade sujeita a alteração

Data e Local

Sábado, 7 de Julho de 2012

Das 8:30 às 19:00 h

Universidade Anhembi Morumbi

Rua Casa do Ator, 275
Itaim Bibi, São Paulo - SP

Mais informações


Patrocinadores TDC 2012 SP Microsoft Oracle Amazon Web Services Concrete Solutions Nokia DevMedia Positivo PagSeguro Intel Software Google Plusoft InfoQ Brasil Octo Technology Esquilo.Mobi Anhembi Morumbi Globalcode