Tecnologia a serviço do homem…

Poliglotismo

Desde sempre trabalho com Java, e de empresa em empresa, de projeto em projeto, sempre estive mexendo com uma sopinha de letras diferente, me empenhando em conhecer detalhes de Web frameworks like Action, Hibernate’s e Spring’s da vida… Legal, mas chega uma hora que você pensa “quero fazer algo do zero”, sozinho, sem ninguém (forever alone :P ) , e ai você descobre o quanto será árdua sua missão. E não falo apenas na plataforma Java! .NET, PHP também tem sua robustez e que, muitas vezes, te faz pensar em várias coisas menos no que você talvez deveria, em sua idéia

Seus fontes virão códigos heróicos e você,  programador confiante, pensa consigo mesmo: “Sou eu que estou fazendo, não vai falhar, o teste é a aplicação funcionando.” Ledo engano: você percebe que talvez você não estará enfrentando seu chefe (que sabe o que é um “if”, um “for”) , mas sim um cliente, que só sabe o que é resultado :)

Enfim, participando de alguns eventos ultimamente ( especialmente  o Linguágil 2011 ) vim a refletir sobre como ser produtivo, utilizando boas práticas (TDD, Convention over Configuration) e outros coisas legais que todo mundo quer aplicar no dia a dia mas muitas vezes só vê na faculdade e em palestras e uma frase me cativou: “Seja poliglota, aprenda mais de uma linguagem” .

Mas não seria melhor eu entrar na “Academia Brasileira de Letras” da linguagem que eu conheço? Talvez… Pode ser que você não vá usar aquele “idioma” tanto quanto seu “idioma nativo”, mas será que aprender um novo idioma não o fará utilizar melhor seu “idioma nativo”?

Tenho estudado Ruby nos últimos dias e, mesmo sendo um Javeiro confesso, tenho me encantado com as possibilidades que a linguagem te dá. Criação de getters e setters (que adoramos criar via Eclipse :P ) sendo gerados por você em uma linha de código:

class Usuario
   attr_accessor :nome, :cpf, :idade
end

Maps que comportam qualquer objeto, iterações simplificadas e acima de tudo, grandes possibilidades de metaprogamação e criação de DSL’s, execução de script’s pra situações específicas, etc etc etc…

Mas o mais importante pra mim foi perceber que não utilizamos bazuca pra matar formiga, e sim

genki-dama

genki-dama

…uma verdadeira Genk-dama ! Achamos tão normal e obrigatório criar getters/setters e nossos loops pra cálculo baseado em listas de elementos fortemente tipados, que temos menos tempo do que deveríamos pra testar nossas lógicas,  fazer nosso software realmente confiável.

Na pior das hipótese, ao enfrentar um “idioma” desconhecido como o Ruby, você perceberá o quanto pode ser bom orientar seu desenvolvimento aos cenários que sua solução deve atender, além de dar o braço a torcer e perceber que pra muita coisa não precisamos de uma genk-dama. Você é experiente, é bom, mas ao invés de ser humano não poderia ser automatizado? Será que não é possível convencionar todo código que você escreve (ainda que seu “idioma” não te dê isso prontinho) ? Será que aquela lógica que você precisa executar não poderia estar escrita numa linguagem de script que roda em sua VM  ?

Não quero mais a “Academia Brasileira de Letras”….

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.