quarta-feira, 8 de julho de 2009

Frase da Semana de 5 à 11/07

"... if someone had shown me the Programming Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy" . Essa é do James Strachan, "O Cara" de Groovy. Esta me motivou a tirar o meu exemplar do referido livro da estante e iniciar um pet project, que há tempos venho bolando, e que pretendo fazer em Scala, a fim de consolidar meus conhecimentos nessa linguagem tão comentada de uns tempos pra cá no meio geek.

domingo, 21 de junho de 2009

Frase da Semana 14 a 20/06

"...we really are moving more and more down the road of declarative development. Over time we will see more "what" and less "how" in our day to day programming adventures."

Gostei muito dessa frase, ainda que não tenha tanta fé quanto o autor do post que programação declaratival se torne paradigma mainstream, mesmo tendo sql o seu lugar ao sol. Essa minha conclusão é muito eu-cêntrica, pois atualmente tenho trabalhado com hql e jpaql e tenho sentido alguma dificuldade em quebrar as amarras imperativas do meu cérebro, porém quando o consigo fazer fico extremamente satisfeito com o produto, pois código declarativo, como disse o autor do post, é focado em "o que" e não "como", o que deixa o código mais sucinto e claro. Cá entre nós, eu acho mais difícil pensar declarativamente, não sei se porque venho de uma escola imperativa ou se é realmente mais fácil persar em if's, for's e com assinalação destrutiva do que com and's, or's, recursividade e imutablidade. Talvez seja, como quase tudo na vida, uma questão de prática.

Só uma última coisa, o código do exemplo do post é em C# e dá uma tristeza em ver quanto Java tá comendo poeira quando comparada com a sua concorrente da Microsoft. No entanto é legal ver que dá para fazer Link em Scala sem adicionar palavras reservadas na linguagem, que foi a estratégia usada em C#.

terça-feira, 26 de maio de 2009

Frase da Semana de 24 à 30/05

Cue Pink Floyd ripoff, “we don’t need no static contracts… hey, WSDL, leave that Web alone”

Essa é do Jim Webber, thoughtworker palestrante do "Falando em Java 2009", a respeito de WS-*. Para quem quiser entender melhor essa provocativa frase recomendo as seguintes leituras.


sábado, 9 de maio de 2009

Frase da Semana 03 a 09/05

"Software gets complex as you add more features to it. We all know that. Designers, developers, engineers, product managers, and your drunk neighbor would all agree. But, if you're not working directly on building software, it's easy to under-appreciate how quickly complexity happens."

Para quem se interessou na fonte desta frase segue o link do post.

quarta-feira, 6 de maio de 2009

Annotation no Spring 3.0

Saiu ainda a pouco a o Milestone 3 do Spring 3.0 . Dentre os novos recursos um que saltou aos olhos é a possibilidade usar annotations do Spring na definição de annotations customizadas. Com o perdão da licensa poética, alguma coisa como "composição" ou "herança múltipla de annotations". Como um exemplo vale mais que mil palavras segue o próprio exemplo do post de divulgação do Blog do SpringSource .

@Service
@Scope("request")
@Transactional(rollbackFor=Exception.class)

@Retention(RetentionPolicy.RUNTIME)
public @interface MyService {
}

@MyService
public class RewardsService {

}

Ou seja, as annotations do spring além de serem usadas como meta-dados nos beans, agora podem ser usadas como meta-dados na definição de meta-dados de sua aplicação. Alguma coisa como meta-meta-dados ou meta2-dados(ahahahahah) . Uma possibilidade interessante que emerge é observar duplicação na ocorrência de anotattions e criar uma annotation que agrupe elas. Quem já criou um repository com Spring 2.5 sabe do que estou falando.

@Repository
@Transactional
MyReposytory

E eis que surge o refactoring de annotations :)

Outra possibilidade é a criação de annotation que além de agrupar, traduzam conceitos mais próximos do negócio em questão.

Todo essa conversa de annotation anotando annotation só me faz lembrar meu chapa Eduardo Guerra, nas nossas conversas de cafezinho, antevendo o surgimento deste padrão. Espero que ao ler este post ele não faça o seu cromossomo X falar alto e exclame um sonoro "Que foi que eu falei". E que venham o Spring 3.0 RC1.

segunda-feira, 27 de abril de 2009

Frase da semana.

"Mutable state is actually another form of manual memory management: every time you over-write a value you are making a decision that the old value is now garbage, regardless of what other part of the program might have been using it."

Aos curiosos sobre a origem desta frase provacativa segue o link do post.