Após a última discussão Eclipse x NetBeans resolvi fazer uma comparação breve entre ambos.
Tentei ser o mais impessoal possível, evitando coisas como "eu prefiro verde, então o Eclipse
que é verde é melhor". Falhei em dois ou três pontos neste aspecto.
Para o breve teste, baixei a última versão do Eclipse 3.2 rc2 (a 70kbps do mirror puc-rio) e a
última versão do NetBeans 5.0 (a 20kbps do site do NetBeans).
Entendam que de forma alguma quis fazer uma comparação oficial, caso a caso. Foi apenas um breve
teste de features mais usadas no dia-a-dia trabalhando com a IDE como o editor, compilador e
debuger, e também uma comparação das opções de configuração. Não fiz comparações com plugins,
apenas o que vem built in com cada IDE.
Não desejo ver replies assim: "ah, mas isso com um plugin xyz dá para fazer melhor".
Pois em última análise, é possível fazer qualquer coisa ao adicionar plugins.
Também não desejo replies assim: "ah, mas quem precisa de tanta configuração? Isso é
frescura". Opções de configuração a mais nunca são um problema.
Tenho certeza que falhei em alguns pontos por falta de conhecimento sobre o NetBeans, por favor
apontem os erros para que possa editar o tópico original.
Importante: isto não é picuinha. Ao contrário do que outro usuário pensou, esta é uma comparação
breve de tecnologias. Eu acho o Eclipse melhor, e aqui apresento um pouco bem pouco do
porque acho isso. Portanto espero que vocês usários do NetBeans se dêem ao trabalho mínimo que
tive: baixem o Eclipse e o testem também antes de começarem a criticar o que não sabem.
E por último: todo mundo sabe que o Matisse é melhor que o VE. Fim da discussão, não precisa ficar
falando.
Finalmente, às diferenças.
As features pouco explicadas são as que o netbeans também possui.
:arrow: Eclipse:
* Instalação: arquivo zipado
* Hello world
- seleção de workspace
- startup em 3 segundos
- clico em "tutorials" na welcome screen
- clico em "build a simple java application"
- sigo os passos do tutorial integrado à IDE (só vendo para entender o quão bonito funciona)
- finalizo minha aplicação HelloWorld em 10-15 segundos
- saída no console de minha classe
[i]Hello World[/i]
* Editor
- code templates
- quick fix
- editor tem suporte quase total às features do Java 5, destacando Generics
- code completion mostra o javadoc, e dezenas de opções para selecionar quais e em que ordem as
opções do code complete aparecem (deprecated, code templates, super class methods, etcetcetc),
suporte também a CamelCase
- code completion tem a opção para adivinhar parâmetros e nomes de parametros de métodos
invocados, funciona muito bem
- goto class feature, com a caixa de diálogo e com ctrl+click e o goto last edit location
- alt + hover method (configurável) = mostra a implementação do método numa popup
- goto file: igual ao goto class, mas com arquivos. Absurdamente útil.
- teclas de atalho em cascata
- posso alterar e adicionar qualquer tecla de atalho para qualquer ação possível na ide,
inclusive ações novas adicionadas por plugins. Isso vale ouro.
- exportar as configurações de tecla de atalho, útil ao ir trabalhar em outro computador
- marcar ocorrências: ao pousar o cursor sobre um tipo, é na barra lateral do editor todas as
linhas onde há referências ao tipo. Por exemplo um atributo, ou os métodos implementados de uma
interface.
* Debugger
- debugging filter
- é possível alterar e compilar o código enquanto estou debugando
* Aparência
- perspectivas: cada coisa é uma coisa. Se quer debugar, há interface de debug, se quero criar
uma interface gráfica, se quero ver o banco de dados, etc etc etc etc.s
- posso colocar qualquer view (janelas, por assim dizer) onde eu quiser, como eu quiser, do
tamanho que eu quiser. Dockada ou não, com tecla de atalho ou não. E posso salvar as opções sob
uma perspectiva qualquer.
- posso adicionar e remover qualquer botão da toolbar e diversos comandos nos menus e popups.
Cada configuração é única para cada perspectiva
* Opções gerais na IDE: vou fazer as comparações Eclipse x Netbeans inline aqui:
- antes de mais nada, a janela de preferências é "buscável". É que são tantas opções de
customização que fica difícil lembrar onde cada uma fica.
- editor Java (nem vou falar dos outros editores):
+ alterar completamente a configuração do syntax highlighting de [b]todos[/b] os elementos
Java. As opções do NetBeans fazem parecer que java é uma linguagem de script.
+ posso mudar a porcaria da fonte que gosto de usar no Eclipse, inclusive para o console,
menus e tudo mais. No NetBeans só aceita true type. Eu gosto de Raize.
+ 500+ opções de formatação de código (eu contei). NetBeans: 6 (sim, meia-dúzia).
já acabaram as opções do NetBeans, então vou apenas citar algumas do Eclipse
+ escolher quais informações (return types, parameters, etcetcetc) aparecem sobre os elementos
java nos viewers (popups, explorer,etc)
+ escolher qual prefixo utilizar ao gerar getters para booleans: "is" ou "get"
+ add @Override annotation (opção de Java5)
+ adicionar comentários a métodos criados (assim como no NB, também há comments templates)
+ escolher o nome da variável de exceção em catch blocks gerados pela IDE
+ se autocompletion sobrescreve ou apenas insere, e é possível alternar entre modos segurando
"ctrl"
+ opções de folding iguais ao do NB
+ definir quais informações devem ser mostradas ao passar o mouse em cima de um elementos
(variable values, problems, externalized string [ele busca no bundle o valor de uma chave],
javadoc, source, annotation description), e é possível configurar modificadores (ctrl, alt, shift,
etc etc) para alternar entre cada tipo
+ quais tipos ativam a "mark ocurrences" feature
+ fechar automaticamente: aspas, parenteses, brackets, braces, javadoc tags
+ inserir automaticamente na posição correta semicolons e braces. Isso facilita muito muito a
vida.
- tem bem mais opções gerais da IDE, como file associations e ... bem .. mais uns 500 itens
facilmente, mas chega já.
:arrow: NetBeans:
* Instalação:
- .exe
- parece que foi alguém com muita muita pressa que fez o wizard de instalação. Horrível.
- tenho que selecionar um JDK. No Eclipse posso ter dois projetos que usam jdks de versões
** edit: Marcelo corrigiu dizendo que isto só é necessário na instalação para escolher sob
qual JDK rodar o NetBeans. Não tem isso no Eclipse, ponto para o NetBeans.
** edit: no Eclipse também dá para selecionar qual JVM usar:
guj.com.br/posts/list/15/33101.java#177422
diferentes abertos e funcionando ao mesmo tempo.
- download é bem menor que do Eclipse, mas o espaço ocupado em disco é quase o mesmo (4mbs a
mais para o Netbeans).
* Hello World
- não tem workspace, prejudicial para pessoas que como eu tem projetos de trabalho e projetos
pessoais
- clico em get started na Welcome Screen
- não funciona, ele tenta abrir um arquivo html em meu editor de texto..
- desito do get started e vou em file > new project
- sigo o wizard, normal. Tem bem menos opções que o Eclipse. Bem bem menos.
- botão direito no projeto > new java class
- preencho o diálogo. Tem bem menos opções que o Eclipse, sem comparação, credo.
- finalizo minha aplicação HelloWorld em 10-15 segundos
- saída no console de minha classe
[i]init:
deps-jar:
Compiling 1 source file to D:\java\netbeans\netbeans-5.0\workspace\teste\build\classes
compile-single:
run-single:
Hello world.
BUILD SUCCESSFUL (total time: 0 seconds)
[/i]
- percebo que o netbeans não compila minha classe só por salvá-la...
* Editor
- code templates é uma cópia descadara (é simplesmente igual, inova nada) do code templates que
o Eclipse tem desde 2.x
- quick fix é uma cópia descadara, até o ícone é igual (é simplesmente igual, inova nada) do
quick fix que o Eclipse tem desde 2.x
- code completion igual ao do Eclipse, mas também com sugestões para fazer override de métodos
** edit: Eclipse também sugere o override de métodos
- goto class feature, cópia descarada do Eclipse desde a versão 2.x, até o ícone de last edit
location é idêntico
- teclas de atalho das ações padrão da IDE configuráveis. Tem suporte a perfis, o que é útil
caso mais de uma pessoa use o mesmo computador.
* Debugger: vergonha total. Aa interface é terrível, por não usar o esquema de perspectives do
Eclipse eles resolveram simplesmente jogar todas as janelas possíveis com as informações de debug
num quadradinho no canto com abas. Sem contar nos botões extra gigantes na toolbar principal. Se
você não usa 1280x1024 como eu, meus pêsames.
* Aparência:
- controle de views igual ao do eclipse
- opções de toolbar igual ao firefox, para quem gosta de clicar ao invés de teclas de atalho é
bem legal
- acho que pode trocar o l&f
- feature de fast-view copiado do Eclipse desde a versão 2.x



- não quer dizer que eu seja “adorador” do Eclipse; tenho uma camiseta preta do Eclipse [JavaOne] e outra camiseta preta do NetBeans [NetBeans Tour] em casa) é que quando vou usá-lo com coisas aparentemente básicas (só o download original + as atualizações do site de update) ele começa a dar um monte de “stack traces” no próprio NetBeans (aquela bolinha vermelha no canto inferior direito da tela) e acabo tendo de usar o método Microsoft de lidar com problemas - sair do NetBeans e entrar de novo.
Ja tentei, JURO!
.