Este é o meu segundo fim-de-semana em Lisboa e o primeiro com disponibilidade para fazer o que me apetecer. Na primeira semana tive a arrumar o apartamento e a fazer as tarefas chatas do quotidiano de qualquer pessoa que vive sozinha (lêr: sem ninguém que as faça por si).
Sexta-feira fui ao bairro alto, foi muito engraçado. Havia montes de gente, mais gente do que todas as outras vezes que tinha lá ido — eram dias de semana. Acabei por encontrar pessoal que já conhecia das ilhas (outros que nem tanto, mas do mesmo local) e a noite perdurou, ao som do sotaque micaelense, até às 6:30 da manhã! Sim, porque tive a brilhante ideia de ir de metro (o primeiro do dia seguinte) para não pagar o táxi. Note to self: don’t do it again ;)
O trabalho que estou a fazer é um compilador de uma linguagem de cálculo-pi, feito em Java, seguindo o livro do Appel. Estou a fazê-lo na FCUL e o local é fantástico, tem bastantes condições e o pessoal que lá trabalha é muito simpático e acolhedor.
A consequência disso é que tenho lido mais papers que alguma vez pensei fazer (durante uma licenciatura). Já decorei nomes como Milner ou Sangiorgi. Aprendi até como fazer a codificação dos números usando canais de comunicação.
Também estive a descobrir quem foi o primeiro a citar a implementação do padrão Visitor usando a introspecção num documento “relevante”. O que me levou a um sítio muito interessante o Hillside Group, onde fazem conferências muito apelativas.
Também foi interessante relembrar o Java a sério, interessante perceber que não me foi difícil voltar a este, vindo de anos de Python, e que a experiência com uma linguagem mais dinâmica enriqueceu-me de uma maneira que desconhecia.
Por exemplo, a estória do visitor com recurso à introspecção veio de uma implementação que fiz, de um modo espontâneo, que necessitava uma referência. Esta implementação não é muito utilizada no “mundo do Java” mas natural no “mundo do Python”.
Podermos evadirmo-nos da barreira dos tipos, de quando em vez, aumenta a nossa flexibilidade e produtividade de uma maneira bastante eficaz que deveria ser mais enfatizada na comunidade.
Mas sobre esse assunto mais escreverei assim que colocar o artigo que estou a escrever online, sobre o estudo de diferentes implementações do dito padrão.