Java, Emacs and JaL (Java, a Linguagem)

October 15, 2008

Real programmers

Comecei a utilizar Emacs no início da minha primeira iniciação científica, nos idos de 1999. Fui feliz durante muito tempo, escrevendo código em Perl e C, algumas páginas HTML, diversos relatórios em Latex … tudo muito tranqüilo, nenhuma reclamação com aquele ambiente de desenvolvimento.

Eis que por volta de 2002, ao definir a linguagem de programação que iríamos utilizar na Scylla, optamos por Java, uma linguagem até então desconhecida para mim. Arregacei as mangas, peguei meu Emacs, e mandei bala. Tudo muito tranqüilo, afinal não tinha parâmetro de comparação. Até que fui apresentado ao Eclipse: auto-complete, code-checking durante a digitação, etc e tal – Como pude viver sem isso? – programar em Java ficou muito fácil.

Tudo ia muito bem, até há pouco tempo atrás, quando por razões que nem o Padre Quevedo poderia explicar, a configuração de meu ambiente de desenvolvimento foi para o espaço, sem formas de recuperá-lo. Isto, associado à vontade dos orixás da conexão internet intermitente (vulgo péssima estrutura de TI), impediram que eu conseguisse baixar uma outra versão do meu querido Eclipse. Após falhar neste teste de paciência, decidi que tinha de voltar a trabalhar com o que eu tinha à mão. Resultado: tirei a poeira do Emacs e o coloquei para trabalhar.

O começo foi duro: vários impropérios foram proferidos por conta de erros de digitação que resultavam em erros de compilação; sem contar no aumento de caracteres que tive que passar a digitar – já não me lembrava mais que era preciso escrever imports (aliás, não lembrava que a classe Connection estava em java.sql e que a classe DataSource em javax.sql ?). Mas muitos xingos e litros de café depois, me adaptei a esta nova realidade.Neste instante, compreendi claramente a diferença entre JaL e JaP – (Java a Linguagem x Java a Plataforma – veja os comentários).

Não quero defender aqui que a verbosidade de Java, condenada veementemente por alguns, seja um impedimento ao uso da linguagem ( devagar com as críticas Lullis, por favor :-D ), mas vejo esta verbosidade como um atributo para melhorar sua forma de programar. Agora, penso melhor no código que escrevo, procuro formas de reaproveitar o código … até mesmo os nomes das variáveis que utilizo são pensadas de forma a evitar a fadiga. Coisas que eu não tinha porque me preocupar, pois tudo era muito simples, graças ao poder do Ctrl Enter.

Não defendo tampouco a aposentadoria de ferramentas como o Eclipse. Gostaria de voltar a utilizá-lo no futuro. Mas neste instante, pretendo continuar a utilizar o Emacs por um bom tempo, forçando-me a melhorar minhas práticas, e então sim, voltar para o Eclipse, que inegavelmente é uma ferramenta fantástica para aumento de produtividade.

tags:
posted in Uncategorized by Alexandre Barbosa

Follow comments via the RSS Feed | Leave a comment | Trackback URL

  • http://semente.taurinus.org semente

    Ei, o Emacs tem code-checking online… com flymake. Tipo o flyspell… se não houver suporte a Java por default, é fácil escrever uma função pra funcionar com Java.

  • http://gsd.uwaterloo.ca/~ttonelli/ Thiago

    @Alexandre

    O que você usa pra compilar o código do seu projeto? Quando eu usava Emacs eu lembro que tinha uns shell scripts ou Make files. Basicamente eu tinha que criar os scripts na mão e, com ajuda de algumas regular expressions, eles funcionavam bem com adição de novas classes e packages. Mas bye bye compilação incremental, um projeto grande levava alguns bons segundos pra compilar (como no Eclipse quando vc compila tudo from scratch). Você tentou usar algo como Maven?

    @Semente

    Com Emacs tudo eh configurável. Mas antes você tem que aprender Lisp e todos os hooks que Emacs te dah. Eu sei que tudo isso eh muito poderoso, mas eu aprecio uma boa Sintaxe e uma boa GUI as vezes…

  • http://lpereira.wordpress.com Luís Guilherme

    E não se esqueça do M-/

  • Alexandre

    Obrigado pela dica semente,

    atualmente estou tentando configurar o emacs para poder trabalhar melhor. Ainda não conheci o flymake, mas estou tendo um bom trabalho para configurar o emacs para usar com arquivos XML diversos, facelets, javascript, css, etc e tal … muito da minha dificuldade vem da minha falta de experiência com Lisp – como bem apontou o Thiago. Espero em breve poder compartilhar um pouco da experiência de configurar melhor o emacs como ambiente de desenvolvimento.

    Balt, para compilar estou usando o maven sim. Aliás, não só para compilar … para rodar testes, empacotar, fazer deploy … isto no caso dos projetos novos. Os antigos, estou utilizando os scripts ant que eu utilizava no eclipse, e têm funcionado bem.

    Luís Guilherme, obrigado pela dica do M-/. Não imaginava que o modo java do emacs já possuía esta feature embutida (auto-complete).

    Se mais alguém tiver dicas sobre como configurar o emacs para desenvolvimento java, agradeço.

    Abraços

blog comments powered by Disqus

Switch to our mobile site

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org