¿Cómo es IntelliJ mejor que Eclipse? [cerrado]

67

Sé que ha habido preguntas como ¿Cuál es tu editor / IDE favorito? , pero ninguno de ellos ha respondido a esta pregunta: ¿Por qué gastar el dinero en IntelliJ cuando Eclipse es gratis?

Personalmente soy un gran fanático de IntelliJ, pero realmente no he probado Eclipse. He usado IntelliJ para proyectos que fueron Java, JSP, HTML / CSS, Javascript, PHP y Actionscript, y la última versión, 9, ha sido excelente para todos ellos.

Muchos compañeros de trabajo en el pasado me han dicho que creen que Eclipse es "más o menos lo mismo" que IntelliJ, pero, para contrarrestar ese punto, ocasionalmente me he sentado detrás de un desarrollador que usa Eclipse que parecía comparativamente ineficiente (para lograr aproximadamente lo mismo tarea), y no he experimentado esto con IntelliJ. Pueden estar a la par característica por característica, pero las características pueden verse arruinadas por una mala experiencia del usuario, y me pregunto si es posible que IntelliJ sea más fácil de detectar y descubrir características que ahorran tiempo.

Para los usuarios que ya están familiarizados con Eclipse, además del costo real de IntelliJ, también existe el costo del tiempo dedicado a aprender la nueva aplicación. Eclipse tiene muchos usuarios que simplemente no quieren gastar $ 250 en un IDE.

Si IntelliJ realmente podría ayudar a mi equipo a ser más productivo, ¿cómo podría venderlo? Para aquellos usuarios que han probado ambos, estaría muy interesado en pros o contras específicos de cualquier manera.

Nicole
fuente
3
Es posible que vea un sesgo de selección aquí. Es mucho más probable que un cliente de IntelliJ conozca las funciones y los accesos directos que un usuario promedio de Eclipse.
Macneil
3
No presionaría a otros para que usen las herramientas que funcionan para usted. Esto es muy subjetivo, y cosas estúpidas como estas pueden arruinar una relación ya establecida. Si tiene la opción de usar IntelliJ o Eclipse, y el proyecto se compila bien con cualquiera de los dos: elimine, use IntelliJ. Si desea promocionarlo, mencionelo casualmente cuando sea el momento adecuado. Los adultos lo odian tanto como los niños cuando otros intentan tomar decisiones por ellos. Todavía puede hacer que cambien, pero tiene que ser una decisión "SUYA", por lo que solo necesita hacer un buen zumbido en el momento adecuado.
Trabajo
@ Job, estoy de acuerdo con eso. Me gustaría averiguar A) si IntelliJ tiene una ventaja real sobre Eclipse, de modo que B) si lo tiene, puedo venderlo, no exigirlo.
Nicole
Te das cuenta de que IntelliJ tiene una versión gratuita, ¿verdad? No puede hacer que parezca que la única opción es la versión
paga
@TheLQ, tiene razón, por brevedad, supuse que los usuarios familiarizados con IntelliJ también estarían familiarizados con las limitaciones de la versión gratuita. Personalmente, nunca tuve un proyecto en el que fuera útil, ya que siempre he necesitado más que solo el componente puro de Java.
Nicole

Respuestas:

63

Trabajo con Intellij (9.0.4 Ultimate) y Eclipse (Helios) todos los días e Intellij supera a Eclipse cada vez.

¿Cómo? Porque Intellij indexa el mundo y todo funciona intuitivamente. Puedo navegar por mi código base mucho, mucho más rápido en Intellij. F3 (definición de tipo) funciona en todo : contextos Java, JavaScript, XML, XSD, Android, Spring. La refactorización funciona en todas partes y es totalmente confiable (he tenido problemas con Eclipse desordenando mi fuente de maneras extrañas). CTRL + G (donde se usa) funciona en todas partes . CTRL + T (implementaciones) realiza un seguimiento de las instancias más comunes que uso y las muestra primero.

Las sugerencias de finalización de código y cambio de nombre son tan inteligentes que solo cuando vuelves a Eclipse te das cuenta de lo mucho que estaba haciendo por ti. Por ejemplo, considere leer un recurso del classpath escribiendo getResourceAsStream("/en este punto. Intellij le mostrará una lista de posibles archivos que están actualmente disponibles en el classpath y puede profundizar rápidamente en el que desee. Eclipse - no.

El complemento Spring (listo para usar) para Intellij es muy superior a SpringIDE principalmente debido a sus inspecciones de código. Si me he perdido las clases o deletreé algo mal, entonces aparece un bloque rojo en la esquina y tinta roja justo donde está el problema. Eclipse, un poco, más o menos.

En general, Intellij acumula mucho conocimiento sobre su aplicación y luego usa ese conocimiento para ayudarlo a escribir un mejor código, más rápido.

No me malinterpretes, me encanta Eclipse en pedazos. Por el precio, no hay sustituto y lo recomiendo a mis clientes en ausencia de Intellij. Pero una vez que probé Intellij, se amortizó en una semana, así que lo compré y cada una de las actualizaciones más importantes desde entonces. Nunca he mirado hacia atrás.

Gary Rowe
fuente
Exactamente lo que estaba buscando. Una pregunta, sin embargo, creo que tengo algunas asignaciones de teclas diferentes a las tuyas. ¿Puedes aclarar cuáles son las funciones de las que estás hablando?
Nicole
2
¿Puede configurar IntelliJ para usar accesos directos de Eclipse? Ese podría ser el último empujón que necesito para darle una oportunidad a IntelliJ: mi memoria muscular me estaba frenando. ¡Gracias por el consejo!
yatima2975
9
@ yatima2975 No se preocupe. Simplemente mire las preferencias, filtre en "mapa de teclas" y seleccione Eclipse. Tienes Emacs y muchos otros también.
Gary Rowe
1
En mi máquina Linux, recientemente cambié de Eclipse a IntelliJ IDEA Community Edition (código abierto y completamente gratis) para un proyecto Java / Android y tuve la misma buena experiencia. IDEA es simplemente fantástica. Descárguelo aquí: jetbrains.com/idea/free_java_ide.html . Como afirma JetBrains, IDEA es el IDE Java más inteligente del mercado. Tampoco me malinterpreten: también uso y amo los IDEs de Eclipse, NetBeans y Qt Creator (dependiendo de la tarea y el idioma en cuestión).
AlexBottoni
2
Agregaré un énfasis en el soporte de JavaScript, así como en otros idiomas frontales. Intellij incluye WebStorm, que por sí solo es fantástico para el front end.
y3sh
16

Escuché que la diferencia con IntelliJ es que es mucho más probable que corrijan y cierren errores que envíe. Eso podría marcar una gran diferencia si hay algún error de Eclipse que lo está bloqueando.

Por otro lado, no puede mirar los IDE de forma aislada; necesitas mirar el ecosistema . Aquí, creo que Eclipse tiene una ventaja (similar a la ventaja de Firefox sobre Chrome *): hay muchos más complementos disponibles y es mucho más probable que los desarrolladores escriban un complemento de Eclipse que de lo contrario.

[Tangente: * Para Firefox, estoy pensando en Zotero y HTTPS-Everywhere. Utilizo Chrome y Firefox, pero algunas cosas que Chrome simplemente no puede manejar. Además, al hacer folletos, realmente necesito una vista previa de impresión.]

Macneil
fuente
¿Hay hechos que respalden la declaración sobre la corrección de errores? (Yo mismo siempre lucho mientras que la comparación de una medición de este tipo, sobre todo con el software donde no se puede ver fácilmente el flujo de entrada de fallo ... al igual que la mayoría del software comercial e incluso algunos productos de código abierto)
Johannes
@johannes Aunque personalmente puedo dar fe de esto, puedes verlo por ti mismo en youtrack.jetbrains.com/issues
y3sh
1
Si bien es cierto que Eclipse ofrece un conjunto más grande de complementos, IntelliJ también ofrece todos los complementos necesarios que se requieren para realizar el trabajo. En otras palabras, la ventaja numérica para la disponibilidad del complemento debe tomarse en contexto. Veo que esta es la razón predominante por la que se prefiere Eclipse sobre IntelliJ.
e28Makaveli
13

Descargo de responsabilidad
Esto se limita solo al desarrollo de Android (en Java, obviamente).

Estoy llegando a esto con un conocimiento limitado de Eclipse e IntelliJ ambos; Sin embargo, recientemente tuve que decidir sobre un entorno de desarrollo para Android. Parece que la primera opción clara sería usar Eclipse ya que Google lo admite con su complemento ADT. Desafortunadamente, me pareció terriblemente torpe moverse ya que estoy acostumbrado a Visual Studio (2010, más recientemente 2012). Siempre he usado ReSharper con Visual Studio, así que decidí probar IntelliJ. Después de unos 10 minutos, me di cuenta de que había tomado la decisión correcta.

IntelliJ, como han dicho algunos, indexa todo. Fue un placer trabajar con el intellisense y la inteligencia en torno a las sugerencias fue excelente. La experiencia de depuración me pareció un placer y, sinceramente, realmente no podría vivir sin el análisis del código. Sé que muchos puristas tendrían un problema con ese tipo de cosas, pero no me importa. Tengo que impulsar proyectos muy rápidamente para muchas personas, por lo que a veces es bueno ejecutar el análisis de código y ver qué sugiere el IDE. Si tomas o no esas sugerencias es otra historia, pero no encontré nada como esto en Eclipse.

Algunos también dicen que no hay un diseñador de Android en la versión actual de IntelliJ. Este es ciertamente el caso, pero nunca lo usaría de todos modos. Estoy depurando en un dispositivo la mayor parte del tiempo, así que no importa. Puedo ver la interfaz y jugar con ella cada vez que ejecuto el programa. De todos modos, de un tipo tradicionalmente "no Java" tengo que decir que Java es particularmente bueno en comparación con Eclipse.

Nodey The Node Guy
fuente
6

Debe demostrar vívidamente y sin dudas que para las tareas que debe realizar a diario, IntelliJ permite ahorrar una cantidad sustancial de tiempo y esfuerzo en comparación con Eclipse (y NetBeans).

Esto requerirá que investigue un poco para averiguar qué podría ser, y luego construya una demostración que muestre esto a las personas que pueden decidir cómo trabajar.

Sospecho que encontrará que es una tarea bastante difícil de hacer, ya que Eclipse en estos días puede hacerlo bastante, razonablemente bien. Si encuentra puntos asesinos, comparta, estoy seguro de que muchos quieren saber.


fuente
2
"Si encuentra puntos asesinos, por favor comparta, estoy seguro de que muchos quieren saber". - Es por eso que pregunto: es difícil encontrar tiempo para hacer esta investigación o probar Eclipse (y probablemente sea parcial). ¡Espero descubrir algunos usuarios que tengan una buena experiencia con ambos!
Nicole
1
@ Thorbjørn Cierto, pero estoy hablando de tareas generales, del tipo que son aplicables en al menos todos los casos de uso que he tenido, que creo que son bastante amplios. Pero, si hay algo específico, sería bueno saber qué es eso también.
Nicole
1
@ Thorbjørn Tienes razón sobre lo que los convencerá, pero creo que las tareas generales se aplican aquí. Mi productividad aumenta 10: 1 por las características generales de un IDE frente a subconjuntos de características relacionadas con mi trabajo específico. En otras palabras, las características IDE estándar son las que me ayudan en nuestro trabajo diario.
Nicole
2
En realidad, por el costo, todo lo que tiene que hacer de manera realista es demostrar que puede ahorrar al menos ~ 10 horas de productividad durante la vida útil de su uso previsto (suponiendo que el programador pague $ 25 / hora). Todo después de eso es salsa.
Steven Evers, el
1
Solo para que conste. Eclipse e IntelliJ (y Netbeans) funcionan bien con Maven. Esto significa que si usa proyectos Maven, puede usar el IDE más apropiado para la situación en cuestión.
5

Intellij es mejor por muchas razones, entre ellas el tema Darcula ... pero hay algunas otras:

  • autocompletar para nombres de métodos: ofrece lo que quiero llamarlos usign convention.
  • jquery autocompletar es muy fácil de configurar (nunca lo hice funcionar con eclipse).
  • EL autocompletar en jsp
  • La integración e inspección de Spring muestra errores en la configuración (por ejemplo, nombres de frijoles duplicados)
  • autocompletar para asignaciones de controlador / url
  • Fácil de usar y configurar la integración de la base de datos (detecta la fuente de datos automáticamente) y, obviamente, autocompletar
  • inspecciones de código, como checkstyle y findbugs, integradas y fáciles de usar.
  • jslint y jshint integrados y fáciles de usar.
  • La integración de Maven funciona de inmediato.
  • Todos los ajustes están donde espera que estén.
  • No detecta errores incorrectamente, solía obtener errores resaltados en eclisp donde no había ninguno y tuve que reiniciar.
  • Autocompletar y detección de errores en archivos xml (un gran problema con Spring)
  • las asignaciones de hibernación tienen autocompletado habilitado (los campos de pojos se proporcionan como opción de autocompletar en el pojo mapeado - gr8).
  • Ctrl + Alt + clic abre la implementación, no la declaración
  • Hotdeploy: puede configurarlo fácilmente para que, cuando intellij pierda los enfoques, su aplicación implementada se actualice automáticamente.
  • un cliente de descanso integrado sin necesidad de configuración adicional.
  • Construido en el cliente de chat que permite punteros de código, en realidad muy útil.
  • vista de persistencia, fácil acceso a todas sus entidades y configuraciones jpa / hibernate.
  • corrección de errores, corrección de errores real responsable He enviado una serie de errores y se han solucionado rápidamente.
  • inspección y autocompletar en sus documentos xml, muy muy útil con spring (sé que esto es una repetición pero es genial, reveló una miríada de errores).

Lo he estado usando desde hace 3 semanas, así que espero encontrar algo más pronto; Vale la pena el dinero.

Oh, una cosa más que realmente se abre ... Tenía un error en mi eclipse que significaba que se negaría a abrir. Solo "google eclipse no se abre" hay muchos enlaces. Me siento estúpido por tomar tanto tiempo para cambiar.

NimChimpsky
fuente
Esta es una lista muy útil, pero olvidó mencionar de qué IDE está hablando. Según su mención de la versión 12 en la última oración, supongo que se trata de IntelliJ.
Xander Dunn
3

Google anunció recientemente que está moviendo el desarrollo de Android a IntelliJ.

Hay una razón para esto. He estado usando Eclipse como entorno para impartir cursos durante los últimos años tanto en C ++ como en Android / JAVA. He visto cómo la calidad de Eclipse se deteriora hasta convertirse en algo inutilizable. En otoño de 2012, adopté Eclipse Juno para mi curso y fue un desastre sin mitigar. El programa no solo fue increíblemente lento y cargado de errores, sino que tuvo varios cambios en la interfaz de usuario que fueron más que estúpidos. Ahora lo uso como un caso de estudio en un diseño de interfaz de usuario incorrecto.

No puedo recomendar Eclipse a nadie en este momento. La base de datos de errores se ha vuelto tan grande que no hay posibilidad de que aborden incluso una pequeña fracción de ellos.

Charles
fuente
Esto es útil a un alto nivel, pero ¿podría dar más detalles?
Kazark
1

No sé de golpes sólidos característica por característica, pero una cosa que descubrí con el uso interno y externo del entorno IntelliJ durante aproximadamente una década es que los equipos de diseño de JetBrains han hecho un gran trabajo de tanto tener el IDE "indexar el mundo" como mantener las funciones de indexación y autocompletar tanto receptivas como coherentes: normalmente no pienso en ello, pero con la capacidad de respuesta más la cantidad de atajos de teclado (y la capacidad de asignar más), IntelliJ hace que sea muy fácil construir "memoria muscular" cuando se utiliza el editor.

No es poca cosa cuando puedes escribir código, autocompletar, compilar y probar sin que tus dedos salgan del teclado, y de una manera que no se siente como una aplicación Java lenta estereotipada.

Chad Thompson
fuente