IntelliJ IDEA vs Eclipse vs NetBeans para el desarrollo de "Java puro" [cerrado]

Importante aviso beta privado: esta es una pregunta de prueba para esta propuesta en meta: Abogar por las preguntas "X vs Y" .

Por supuesto, IntelliJ IDEA, Eclipse y NetBeans son excelentes IDE multiplataforma con una gran cantidad de funciones y numerosos complementos para cualquier necesidad. Sé que hay diferencias sustanciales entre ellos para el desarrollo de Java EE (IntellJ no es gratuito ) y Android (Android Studio respaldado por IntelliJ es impulsado por Google y parece convertirse en un nuevo estándar).

Pero la elección es más difícil si desarrollo software "Java puro". ¿Qué ventajas únicas tiene cada uno de estos IDE que podrían inclinarme a usarlos?

Diría que esta pregunta es demasiado amplia si no detalla sus requisitos con mayor precisión. Puedes hacer muchas cosas en torno a "java puro". ¿Qué tal una pregunta como "¿Qué editor ofrece descargar e importar archivos JAR automáticamente desde un repositorio de Maven al completarse automáticamente?"
@NicolasRaoul lea mi respuesta en meta. Podría enumerar toneladas de requisitos, pero todos estos IDE los cumplen todos. No ayuda elegir Java IDE.
¿Podría decirnos su sistema operativo? Aunque todos los IDE que enumeró son multiplataforma, no se comportan de la misma manera en diferentes sistemas operativos, principalmente en términos de rendimiento y estabilidad.
@IvayloSlavov mi propia plataforma es Linux, pero no quiero localizar la pregunta. es decir, su respuesta podría verse como "IDE X es mejor que los competidores en la plataforma Y porque..."
Hasta que esto se hable por completo sobre el metatema, no creo que sea apropiado votar para cerrar

Respuestas (1)

Siendo un desarrollador de software java, con gusto compartiría mi experiencia personal con usted. En primer lugar, debo mencionar que toda mi experiencia con los IDE anteriores es en la plataforma Linux, pero he visto que lo que se aplica a este sistema operativo no es lo mismo que para Windows o MAC. Además, respetando su restricción de "Java puro", no abordaré las características relacionadas con otros lenguajes/marcos, etc., que podrían ser compatibles. Así que, aquí vamos:

Eclipse

Las cosas buenas de este IDE son:

  • el mas atractivo visualmente de los tres, opinion personal
  • fácil navegación por el código fuente
  • la navegación entre los archivos maven pom, al hacer clic en las dependencias, tiene información sobre herramientas
  • buena estructura de espacio de trabajo, permite crear conjuntos de trabajo: grupos de proyectos dentro de un espacio de trabajo, por lo que uno podría concentrarse en un conjunto de trabajo concreto en lugar de todo el espacio de trabajo.
  • excelente depuración
  • múltiples perspectivas (desarrollo de lenguaje dedicado como Java, Spring, JavaScript, perspectiva de depuración, etc.). Cada perspectiva tiene su propia configuración de vistas, posición de ventanas y herramientas, etc., que el IDE recuerda automáticamente. Para mí, esta es una ventaja valiosa, aunque la configuración se mantiene solo por espacio de trabajo.
  • permite importar y depurar fácilmente código fuente de terceros. A veces, requiere que el código se descargue manualmente, pero el resto lo encuentro bastante fácil.

Desventajas:

  • es lento en la carga, torpe en las interacciones. Con complementos adicionales se vuelve más lento.
  • a menudo falla, especialmente en Linux (las versiones de Windows son más confiables), es bueno reiniciarlo en unos días.
  • en Linux, las versiones superiores a la 3.0 se retrasan unos segundos antes de abrir cualquier archivo de marcado (XML, JSF), lo que es muy contraproducente.
  • las versiones anteriores a la 3.0 no tienen el problema de marcado anterior, pero carecen de soporte para las funciones de sintaxis de Java 1.7 (los genéricos cortos, por ejemplo).
  • JSF carece de finalización automática
  • Las versiones de Mac tienen convenciones inconsistentes para los accesos directos, parte de ellas usan la Ctrl + ?combinación, otras usan la extensión FN + ?. Los usuarios familiarizados con el IDE en otros sistemas operativos se frustran al principio
  • mover archivos a través de paquetes/proyectos puede ser una molestia, ya que algunas veces copiar (cortar)/pegar no funciona, simplemente arrastre y suelte

  • congelamiento repentino al completar automáticamente, solucionado solo reiniciando el IDE (podría solucionarse minimizando y restaurando, pero los comandos de menú y los atajos de teclado relacionados dejan de funcionar, es decir, puede editar el archivo pero no puede guardarlo. Aún así, copie y pegue en un archivo externo el editor es posible)

  • Los procesos de tareas internas del IDE no son confiables. Posible bloqueo, incapacidad para detener o incluso interbloqueo si se inician varias tareas con recursos compartidos (como actualizar el repositorio SVN varias veces, lo que provoca más de un proceso de actualización).

IDEA IntelliJ

Tengo experiencia con este IDE solo en Linux, tal vez en otras plataformas habrá diferencias que podría estar perdiendo.

ventajas:

  • intuitivo de usar
  • excelente código de navegación
  • soporte para proyectos Eclipse (capaz de importarlos como proyectos IDEA)
  • refactorización excelente y detallada
  • capaz de acceder a la ubicación del sistema de archivos de un archivo desde la vista del proyecto a través del menú contextual (una función que me falta en eclipse)

Desventajas

  • para contextos Spring XML, no reconoce todos los atributos aunque haya obtenido los esquemas XML importados. El problema real es el resaltado de errores, lo que puede confundir a los desarrolladores sin experiencia.
  • trabajar con Subversion (revisar y sincronizar cambios) no es tan intuitivo como en Eclipse
  • coloración de sintaxis de error falso en archivos pom.xml cuando se usan propiedades maven en lugar de literales para dependencias (como el número de versión, etc.). Esto puede confundir a las personas inexpertas.

NetBeans

La ventaja que se me ocurre:

  • para el desarrollo web, tiene un servidor incorporado, lo que facilita el alojamiento de una aplicación web con fines de depuración, sin configurar un servidor externo e implementarlo.

Desventaja:

  • tiempo de carga lento

He usado NetBeans en el pasado y lo prefería a Eclipse, ya que en ese momento era más estable y consumía menos recursos. Pero luego, mi uso de él incluía hacer mis tareas en la universidad. No he usado este IDE profesionalmente , ya que mis entornos de trabajo preferían las opciones anteriores para Java, por lo tanto, no me involucraría en la comparación.

Mi elección personal se inclina hacia Eclipse, ya que estoy más familiarizado con él, aunque tiene muchas más desventajas. Lo prefiero por sus capacidades para organizar el espacio de trabajo y permitir concentrarse mejor en la tarea actual. Como dije, las múltiples perspectivas ayudan mucho, ya que he configurado cada una para que se adapte mejor a la tarea concreta en la que estoy trabajando. También me gusta la salida detallada de subversion, ya que es importante para mí realizar un seguimiento adecuado de mis confirmaciones/actualizaciones.

IntelliJ IDEA me facilita adaptarme a él, aunque es menos intrusivo e inteligente. Reconoce varios tipos de proyectos automáticamente y le pregunta en el momento si algo necesita configuración adicional. Por ejemplo, si importa un proyecto de maven y no tiene configurado el directorio de inicio de maven, se lo solicitará cuando intente realizar tareas relacionadas con maven y recordará su elección. Obviamente, el IDE intenta ayudarlo a configurarlo y usarlo apropiadamente. Combinado con su estabilidad y capacidad de respuesta (en comparación con Eclipse), se siente como un entorno mucho más confiable. Debo admitir que no he profundizado en personalizarlo en profundidad, pero es un candidato para convertirse en mi IDE de elección.

Por favor, trate de concentrarse en las diferencias. Por ejemplo, no es necesario mencionar que todos estos IDE son gratuitos y todos consumen mucha memoria (eso es Java). Ponga en cursiva los puntos más significativos .
@leventov ok, eliminé las cosas de la memoria y enfaticé lo que considero importante
Todos los IDE mencionados tienen soporte para complementos. plugins.jetbrains.com/?idea_ce
@MariuszS sí, eso es así. Parece que me perdí esto para IntelliJ Idea, arreglado ahora
Creo que debería eliminar la información del complemento, todos los IDE son similares aquí.
@MariuszS, lo hice, pero parece que me olvidé de escribir.