Vim e editores de texto modernos

Para quem foi “criado” na cultura do Unix, como eu, aprendi a usar e fiquei fascinado com aquele terrível mas fantástico editor de texto vi (pronuncia-se como as letras em inglês: vi-ai).

O vi é um editor surgido na década de 70 no Unix, possui modos separados de entrada de texto e de comandos, onde infindas sopas de letrinhas fazem loucuras com o texto. Numa época onde predominavam mainframes, o vi inovou ao evoluir do editor de linha (como ed, sed e AWK) para um editor visual (daí o nome!) onde o texto aparecia na tela inteira, que evolução! 🙂 Contudo, o vi ainda preservou recursos e conceitos oriundos dos processadores de linha.

Desde a explosão da Internet e do Windows (década de 90 até hoje), o mundo se acostumou com alta interatividade e visual rico. Por isso, a filosofia do vi soa nos tempos atuais totalmente enigmática, anti-natural e, portanto, terrível.

Apesar disso, o vi trazia desde nascença um recurso surgido no próprio Unix e que até hoje é fantástico para a busca e substituição de texto: as expressões regulares. Isso, mais a forma de execução programática de comandos de linha, permite manipulações mirabolantes no texto. Acredito que essas características me fizeram apaixonado e saudosista pelo vi.

Lembro disso porque hoje, depois de um ano sem novas versões, foi lançada a versão 7.1 do Vim, o “Vi Improved” (Vi melhorado), clone melhorado do VI original do Unix, desenvolvido como software livre e enriquecido com inúmeros recursos. O Vim é o “vi” do Linux e está atualmente disponível para quase todas as plataformas, em versão modo-texto puro ou gráfica (gVim), inclusive Windows.

Outro editor surgido no mundo Unix e inspirado nos velho WordStar (“WS”, para os íntimos, dá época do CP/M e MS-DOS) é o Emacs, já nascido software livre pelo projeto GNU. Muito amadurecido ao longo do tempo, a última versão estável é a 21.4 de fevereiro de 2005. Costumava existir uma guerra apaixonada entre os adoradores de VI e os de Emacs.

Mas hoje em dia deixo a paixão de lado e admito que o vi é antigo e complicado e, por isso, muitas vezes anti-produtivo. Além do mais, bons editores de texto avançados — em geral usados para editar código-fonte, em linguagens de programação e formatos de conteúdo/dados em texto como HTML e XML — atualmente já incorporam recursos de busca e substituição com suporte a expressões regulares e oferecem facilidades que permitem o mesmo poder do vi, porém com bem mais facilidade e usabilidade.

Um bom exemplo é o Notepad++, software livre para Windows baseado no poderoso componente editor Scintilla. Rápido, ágil, cheio de recursos e fácil de usar.

Para saber mais:

Melhores IDEs Java gratuitos

Finalmente, as opções de IDE Java gratuitos estão ficando realmente atrativas, principalmente no desenvolvimento Java EE com web.

É difícil conseguir viabilizar e justificar pesado investimento financeiro em um ambiente de desenvolvimento Java, como o completo IBM Rational Developer — o Software Architect 6.0 foi eleito Melhor IDE Java pela revista InforWorld em 2006 — (R$5.635 por um usuário RAD 7.0) ou o famoso IntelliJ IDEA (US$249 individual ou US$499 comercial/usuário 6.0).

Até pouco tempo atrás, restava à grande maioria dos desenvolvedores Java lidar com o quebra-cabeças do Eclipse mais “trocentos” plug-ins, para ter um ambiente robusto e razoavelmente produtivo, ou se contentar com os recursos incipientes do NetBeans para obter um ambiente mais fácil e promissor.

Atualmente, porém, há três ótimas opções de ambientes de desenvolvimento Java EE gratuitos: Exadel Studio Pro 4 (futuro Red Hat Developer Studio) baseado no Eclipse 3.2 (3.3 a caminho), NetBeans 5.5 (6.0 a caminho) e Oracle JDeveloper 10g (11g a caminho). Vejamos cada uma.

Eclipse

O Eclipse é uma robusta plataforma de software livre para desenvolvimento de aplicações em Java. O projeto Eclipse surgiu e mantém sua força da doação e envolvimento da IBM para manter como código aberto uma base para suas ferramentas IBM/Rational. O projeto, ao longo dos anos, ganhou o apoio e participação de grandes empresas e instituições, como Borland, BEA, JBoss e Oracle.

O grande problema é que o foco central do projeto Eclipse não é ser um ambiente de desenvolvimento pronto, mas sim uma plataforma — ampla, sólida e aberta — sobre a qual se pode desenvolver um efetivo ambiente de desenvolvimento.

Vasto e complexo, o projeto Eclipse se divide em vários sub-projetos. O “parto” de integrar os produtos de todos estes projetos ao montar um ambiente de desenvolvimento reduziu substancialmente com o Callisto, um esforço de integração dos 10 maiores projetos componentes do Eclipse.

Contudo, o desenvolvedor iniciante que conhece o Eclipse em geral fica assustado com a dificuldade em atingir dois objetivos básicos:

  1. Instalar o Eclipse.
  2. Ter um ambiente pronto para usar no desenvolvimento Java EE.

O primeiro problema, atualmente, é muito facilitado com a existência da distribuição Callisto oferecida pela IBM (outras distribuições Eclipse independentes envolvem atualizações ou produtos pagos). Basta escolher a Distro Callisto IBM mais completa (Enterprise project bundle), baixar e descompactar o pacotão ZIP em um diretório do computador e iniciar o executável do Eclipse. Ainda não há o “luxo” de um instalador, mas pelo menos é um processo simples.

Mas mesmo quem inicia o Eclipse com o pacote Callisto mais completo ainda pode se decepcionar com a falta de ferramentas profissionais de produtividade e eficiência em tarefas como editar um JSP, utilizar componentes JSF, ou criar um web-service.

Aí entra a solução para o segundo problema. O Exadel Studio Pro, um ótimo ambiente de desenvolvimento produtivo/profissional baseado no Eclipse — como o MyEclipse IDE e o hors-concurs IBM Rational –, foi recentemente tornado open source através de uma parceria com a JBoss/Red Hat. Brevemente teremos o Red Hat Developer Studio como software livre. Até lá, a avaliação do Exadel Studio Pro pode ser usada gratuitamente e sem limitações.

A versão 3.3 do Eclipse em desenvolvimento promete ainda mais melhorias quanto a facilidade e praticidade de uso.

Download

  • Plataforma principal: IBM Callisto bundle, opção Enterprise project bundle (ZIP, basta descompactar) – inclui web (WTP), Profiling (TPTP) e GUI desktop (GMF); ou a opção mais “econômica” Java EE project bundle – inclui apenas WTP e seus requisitos.
  • Pacote adicional independente (de terceiros): Exadel Studio Pro (ZIP, veja instruções para instalação manual) – Java EE com suporte avançado a JSF, Struts, Spring, Hibernate, editor visual HTML/JSP.
  • Traduções para o português: IBM doou traduções para Eclipse 3.2.1; deve-se seguir os diversos links e baixar o Language Pack 1 (NLpack1, que contém Português do Brasil) de cada projeto, descompactando um por um na pasta principal de instalação do Eclipse.

NetBeans

O NetBeans, projeto fortemente patrocinado pela Sun, vem evoluindo rapidamente, ainda mais desde as versões 4.1 e 5.0. Diferente do Eclipse, o resultado objetivado pelo projeto NetBeans sempre foi um ambiente de desenvolvimento integrado (IDE) Java completo e bem acabado.

A Sun também usa o projeto livre NetBeans como base para suas ferramentas comerciais de desenvolvimento Sun Java Studio, assim como a IBM/Rational faz com o Eclipse. Como os produtos da Sun não firmaram força própria (como têm as tradicionais ferramentas IBM Rational), a Sun acabou disponibilizando suas ferramentas comerciais gratuitamente. Os recursos mais poderosos e sofisticados destas ferramentas estão sendo integrados ao NetBeans 5.5 e 6.0.

Assim, os recursos de desenvolvimento web visual do Sun Java Studio Creator se tornaram o NetBeans Visual Web Pack. Além disso, o NetBeans 5.5 incorporou do antigo Sun Java Studio Enterprise ferramentas de Profiling, desenho UML e outras. Também incorporou rapidamente compatibilidade com os recursos do Java Enterprise Edition 5, em sintonia com o projeto do servidor Java EE 5 open source Glassfish, também patrocinado pela Sun.

O NetBeans na atual versão 5.5 já se tornou um ambiente muito completo e robusto para o desenvolvimento Java EE, ao mesmo tempo que é amigável e fácil de instalar e usar.

Uma grande crítica que se ouve sobre o NetBeans, principalmente dos adeptos do Eclipse, é que o editor Java e as ferramentas de refactoring do NetBeans precisam melhorar para fazer frente ao que o Eclipse já oferece. Creio que este é um dos alvos da nova versão 6.0, em estágio avançado de desenvolvimento — Milestone 9.

Download

  • Plataforma básica: NetBeans IDE (instalador), preferencialmente o Java EE Bundle; há distribuição em Português do Brasil.
  • Principais pacotes adicionais: Enterprise Pack (instalador) – Java EE – XML Schema, WSDL, BPEL, Secure WS, UML; Visual Web Pack – edição visual de JSP, JSF e Ajax; Mobility Pack (instalador) – Java ME, CLDC ou CDC. Para distribuições em Português, escolha opção Other Systems and Languages.

JDeveloper

Saindo das duas principais opções open source, uma terceira boa opção existe desde que a Oracle tornou seu IDE JDeveloper totalmente gratuito.

Some-se a isso o fato que a Oracle tornou open source dois frameworks de desenvolvimento Java: o mecanismo de persistência Oracle TopLink (se tornou a base da implementação de referência JPA do Glassfish) e os componentes JavaServer Faces (JSF) Oracle ADF Faces, parte do Oracle Application Development Framework. São dois ótimos recursos e o seu uso no desenvolvimento está totalmente integrado e suportado no Oracle JDeveloper.

O Oracle JDeveloper é assim uma opção gratuita abrangente e amadurecida para o desenvolvimento Java corporativo, principalmente em ambientes onde produtos Oracle já são utilizados (Database Server, BI, Application Server, Portal).

A nova versão 11g foi anunciada no JavaOne 2007, o Technical Preview está disponível e brevemente a versão oficial estará lançada, com mais recursos e melhor suporte a Java EE 5 e ao framework Spring 2.0.

Download

Para saber mais: