dia 5 - 26/10/2006 - quinta-feira
O dia começou anunciando que a próxima OOPSLA será em Montreal, Canadá (IEBA!! :-) A apresentação foi em francês, traduzida ao vivo para o inglês, o que foi muito divertido...
Logo em seguida, tivemos a palestra de Philip Wadler, da University of Edinburgh que é um dos papas da programação funcional intitulada Faith, Evolution, and Programming Languages: from Haskell to Java to Links. Nesta palestra ele introduziu a linguagem funcional Links mas começou dizendo que temos que abraçar o multiculturalismo nas linguagens de programação, i.e., há uma série de guerras que são religiosas e que são uma questão de fé:
- OO vs. programação funcional
- tipagem dinâmica (scheme, Smalltalk) vs. tipagem estática (C++, Java)
A palestra continuou com um monte de lógica (me senti numa palestra do LIAMF :-) Ele começou mostrando como vários trabalhos conjuntos de lógicos junto com computólogos levaram a linguagens de programação sólidas. Ele apresentou então toda a fundamentação lógica de Haskell, uma linguagem funcional que ele ajudou a criar e que é baseado no Cálculo-Lambda.
Ele comentou então que Java incorporou a grande maioria das boas idéias de Haskell e um amigo dele disse: e agora o que fazemos dado que eles já incorporaram quase tudo; aí ele disse: já sei o que falta!!! Tipos!!!! E isso é um trabalho para Super-Lambda; aí ele tirou o casaco e por baixo estava com uma roupa de super-homem só que com um Lambda no lugar do S :-)) E o que ele fez foi criar o Java Generics em Java 1.5. O livro Java Generics da O'Reilly é de autoria dele.
Links é uma linguagem derivada de Haskell usada para aplicações Web; a grande vantagem é que é uma única linguagem que pode ser usada nas 3 camadas de uma aplicação Web típica: navegador, servidor Web e Banco de Dados.
Ele irá colocar os slides da palestra no ar para quem quiser ver os detalhes. Se você tiver interesse, Google it!
No resto do dia, participei de um workshop sobre Ultra-Large-Scale Systems. É um assunto fascinante mas me incomoda muito a motivação militar que o pessoal da área está dando. Se a motivação é só militar eu estou fora! Como o assunto pode ser usado em muitos outros contextos benignos, eu acho que pode ter muita pesquisa interessante para se fazer neste campo, mas antes vou ter que encontrar outras motivações para a pesquisa. Um detalhe interessante que o Doug Schmidt citou no workshop é o emulab, um testbed da Universidade de Utah para experimentação com redes de grande escala; fiquei com vontade de entrar nessa.
Nessa OOPSLA, ao falar de sistemas de ultra-grande-escala o pessoal de design citou muito uma tal de Lei de Conway que eu não conhecia. A idéia é que a estrutura de um sistema de grande escala emula a estrutura de comunicação dos grupos de pessoas que projetam este sistema. Procurei na Web e achei um artigo interessante que descreve esta lei de Conway e suas conseqüências.
Em meus diários OOPSLAnos eu não falei nada sobre os artigos de pesquisa, research papers pois eu não assisti a essas sessões, mas são nessas sessões que a "hard science" da orientação a objetos acontece, se é que isso existe :-) Para os interessados neste assunto, sugiro visitar o sítio da conferência ou a página correspondente na biblioteca digital da ACM e baixar os artigos de seu interesse. Mas, um artigo que me chamou a atenção foi um estudo que analisou centenas de milhares (talvez milhões) de linhas de código de programas Java que existem por aí e tirou uma série de conclusões quantitativas e qualitativas sobre a estruturação dos programas Java que existem no mundo real. O título do artigo é Understanding the Shape of Java Software.
Finalmente a OOPSLA terminou com o tradicional ice scream social e todos nós voltamos para casa um pouquinho mais sábios.
Para os alunos que atuam na área, recomendo fortemente que vocês tentem um dia via a um OOPSLA. Para tanto, você deve ou publicar um artigo em algum workshop, sessão de pôster, ou se conseguir, na trilha principal e pedir ao seu orientador que pague pela viagem. Outra forma é conseguir um student volunteer grant; neste caso você ganha a inscrição na conferência de graça e mais 500 dólares para ajudar nas despesas de viagem; o restando você e/ou seu orientador tem que pagar.