tipos software para integrado entornos entorno ejemplos desarrollo vim emacs ide

vim - software - ¿Por qué debería usar un IDE?



ide software (30)

En otra pregunta, Mark habla muy bien de los IDE, diciendo que "algunas personas aún no saben" por qué "deberían usar uno ...". Como alguien que usa vim para la programación y trabaja en un entorno donde la mayoría / todos mis colegas usan vim o emacs para todo su trabajo, ¿cuáles son las ventajas de los IDE? ¿Por qué debería usar uno?

Estoy seguro de que este es un problema para algunas personas, y no me interesa iniciar una guerra de llamas, así que solo responda con las razones por las que cree que un enfoque basado en IDE es superior . No me interesa saber por qué no debería usar un IDE; Ya no uso uno. Estoy interesado en escuchar de "el otro lado de la cerca", por así decirlo.

Si cree que los IDE pueden ser adecuados para algunos tipos de trabajo pero no para otros, también me interesa saber por qué.


Además de las otras respuestas, me encanta combinar el poder de desarrollo de un IDE con el poder de edición de Vim utilizando algo como el ViPlugin para Eclipse .


Ahorra tiempo para desarrollar
Facilita la vida al proporcionar características como depuración integrada, inteligencia.

Hay muchos, pero recomendaré usar uno, son más que obvios.


Código completado Ayuda mucho con el código de exploración.


Creo que tiene que ver principalmente con el alcance del conocimiento para el desarrollador. El IDE proporciona una vista macroscópica del contexto de trabajo del desarrollador. Puede ver simultáneamente jerarquías de clase, recursos referenciados, esquemas de base de datos, referencias de ayuda de SDK, etc. Y con tantas cosas afectadas y que afectan sus pulsaciones de teclado y el volumen creciente de arquitecturas e intersecciones arquitectónicas, cada vez es más difícil Trabajar únicamente desde una isla de código a la vez.

OTOH, "solo yo y vim y las páginas de manual" me da una visión microscópica mucho más ágil, pero intensa y precisa de mi trabajo. Esto está bien si tengo una base de código altamente cohesiva bien diseñada, particionada, escasamente acoplada y construida en un solo idioma con un conjunto de bibliotecas estáticas para trabajar, no en su situación típica, especialmente a medida que los tamaños de los equipos de desarrollo aumentan y cambian la estructura del código. Con el tiempo, la distancia y las preferencias personales.

Actualmente estoy trabajando en proyectos en Flex y .NET. Una de las cosas más interesantes de Flex es la cantidad de formas diferentes de lograr algo estándar: extraer datos de una base de datos, abrir / cerrar / leer / escribir un archivo, etc. (Sin embargo, estoy usando el IDE de Flex Builder / Eclipse - un ejemplo típico de peso pesado como VS, porque todavía estoy aprendiendo lo básico y necesito las ruedas de entrenamiento. Espero volver a evolucionar a Vim una vez que esté seguro de mis patrones.) Desde esta vista, puedo hacer lo que Necesito hacerlo profesionalmente sabiendo algunas cosas realmente bien.

OTOH, no puedo imaginar llegar a ese punto con .NET porque la vista que se espera que mantenga continúe expandiéndose y cambiando. Hay mucha menos integridad conceptual, y sobre varios desarrolladores en un proyecto durante varios meses, mucho menos coherencia, pero el IDE lo apoya, tal vez lo alienta. Así que el desarrollador realmente necesita (y puede más fácilmente) saber muchas más cosas adecuadamente. Lo que también tiene el beneficio de ayudarlos a responder (o incluso entender) un porcentaje mucho mayor de las preguntas en . Es decir, podemos tener una pila de conocimientos más profunda. Y podemos responder a una variedad más amplia de anuncios de búsqueda de ayuda.

Las cosas pueden ir demasiado lejos en ambas direcciones. Tal vez con el alcance de "solo editor", es como "si solo tienes un martillo, todo parece un clavo". Con el enfoque IDE, para cualquier cosa que desee unir, tiene una amplia selección de sujetadores y rangos de herramientas asociados para elegir: pernos / martillos, tornillos / destornilladores, pernos / llaves, adhesivos / pistolas de pegamento / abrazaderas, imanes , y así sucesivamente, todo a su alcance (con un asistente que le ayudará a comenzar).


Definitivamente me lleva a una mejora en la productividad para mí. Hasta el punto en el que incluso codifico las aplicaciones de Linux en Visual Studio en Vista y luego uso una máquina virtual de Linux para compilarlas.

No tiene que memorizar todos los argumentos de una función o llamada de método, una vez que comience a escribirlo, el IDE le mostrará qué argumentos son necesarios. Obtiene asistentes para configurar las propiedades del proyecto, las opciones del compilador, etc. Puede buscar cosas en todo el proyecto en lugar de solo el documento o los archivos actuales en una carpeta. Si recibe un error del compilador, haga doble clic en él y lo llevará directamente a la línea ofensiva.

Integración de herramientas como editores de modelos, conexión y exploración de bases de datos externas, gestión de colecciones de "fragmentos" de código, herramientas de modelado GUI, etc. Todas estas cosas se pueden tener por separado, pero tenerlas todas dentro del mismo entorno de desarrollo ahorra mucho Tiempo y mantiene el proceso de desarrollo fluyendo de manera más eficiente.


Depende en gran medida de lo que esté haciendo y del idioma en el que lo esté haciendo. Personalmente, tiendo a no usar un IDE (o "mi IDE consta de 3 xterms que ejecutan vim, uno que ejecuta un cliente de base de datos y otro con un Bash prompt o tailing logs ", dependiendo de lo amplio que defina" IDE ") para la mayor parte de mi trabajo, pero, si me encontrara desarrollando una GUI nativa de la plataforma, buscaría un IDE apropiado para el idioma en Un instante: IMO, IDE y edición de formas gráficas se hacen claramente entre sí.


Eclipse:

Tener código resaltado, compilar en segundo plano, señalar mis errores a medida que avanzo.

Integración con javadoc, sugiriendo nombres de variables con ctrl-Space.

Cuando compilo, recibo errores allí mismo. Puedo hacer doble clic en un error y muestra la línea correspondiente.

Realmente bien integrado con JUnit, ctrl-F11 ejecuta la prueba, me dice que las pruebas han fallado. Si hay una excepción en la ventana de resultados, puedo hacer doble clic en una línea y me lleva a la línea que falló. No solo eso, sino que ctrl-F11 se asegura de que todo esté compilado antes de ejecutar las pruebas (lo que significa que nunca me olvido de hacer eso).

Integración con la hormiga. Un comando para construir y desplegar la aplicación.

Integración con depuradores, incluida la depuración remota de servidores web.

FANTÁSTICAS herramientas de refactorización, buscando referencias a una sección de código. Me ayuda a conocer el impacto de un cambio.

Con todo, me hace más productivo.


He utilizado Emacs como mi entorno principal para el desarrollo y el correo / noticias durante aproximadamente 10 años (1994-2004). Descubrí el poder de los IDE cuando me obligué a aprender Java en 2004, y para mi sorpresa, realmente me gustó el IDE ( IntelliJ IDEA ).

No voy a entrar en razones específicas ya que muchas de ellas ya han sido mencionadas aquí, solo recuerde que a las diferentes personas les encantan las diferentes características. Yo y un colega utilizamos el mismo IDE, ambos usamos solo una fracción de las funciones disponibles, y no nos gustaba la forma en que usaban el IDE (pero a los dos nos gustó el propio IDE).

Pero hay una ventaja con los IDE sobre los entornos relacionados con Emacs / Vim en los que quiero centrarme: Dedica menos tiempo a instalar / configurar las funciones que desea.

Con Wing IDE (para Python) estoy listo para comenzar a desarrollar 15-20 minutos después de la instalación. No tengo idea de cuántas horas necesitaría para obtener las funciones que uso y uso de Emacs / Vim. :)


La respuesta corta de por qué uso un IDE es la pereza.

Soy un alma perezosa a quien no le gusta hacer las cosas de una manera difícil cuando en cambio hay una manera fácil de hacerlo. Los IDE nos facilitan la vida y nos atraen a los perezosos.

A medida que escribo el código, el IDE verifica automáticamente la validez del código, puedo resaltar un método y presionar F1 para obtener ayuda, hacer clic con el botón derecho y seleccionar "ir a definición" para ir directamente a donde está definido. Presiono un botón y la aplicación, con el depurador automáticamente conectado, se inicia para mí. Y la lista continúa. Todas las cosas que un desarrollador hace en el día a día se reúnen bajo un mismo techo.

No hay necesidad de usar un IDE. Es un trabajo mucho más difícil no hacerlo.


Las IDE basadas en GUI como Visual Studio y Eclipse tienen varias ventajas sobre las IDE basadas en texto como Emacs o vim debido a sus capacidades de visualización:

  • Vista previa WYSIWYG y edición en vivo para el diseño de GUI
  • Editores de propiedades eficientes (por ejemplo, selección de color usando una paleta de GUI, incluyendo paradas de gradiente de posicionamiento, etc.)
  • Representación gráfica de esquemas de código, interrelaciones de archivos, etc.
  • Uso más eficiente de la pantalla de bienes raíces para mostrar puntos de interrupción, marcadores, errores, etc.
  • Mejor soporte de arrastrar y soltar con el sistema operativo y otras aplicaciones
  • Edición integrada de dibujos, imágenes, modelos 3D, etc.
  • Visualización y edición de modelos de bases de datos.

Básicamente, con un IDE basado en GUI puede obtener más información útil en la pantalla al mismo tiempo y puede ver / editar partes gráficas de su aplicación tan fácilmente como partes de texto.

Una de las mejores cosas que puedes experimentar como desarrollador es editar un método que computa algunos datos y ver la salida en vivo de tu código que se muestra gráficamente en otra ventana, tal como lo verá el usuario cuando ejecutes la aplicación. Ahora esa es la edición WYSIWYG!

Los IDE basados ​​en texto como Emacs y vim pueden agregar funciones como la finalización y refactorización de código a lo largo del tiempo, por lo que a la larga su principal limitación es su modelo de visualización basado en texto.


Los IDEs son básicamente:

  • Editor con finalización de código, refactorización y documentación.
  • Depurador
  • Explorador del sistema de archivos
  • Cliente SCMS
  • Herramienta de construcción

todo en un solo paquete

Puede tener todo esto (y algunos más) utilizando herramientas separadas o simplemente un gran editor programable y herramientas adicionales, como Emacs (Vim también, pero tiene un poco menos de IDEbility IMO).

Si te encuentras cambiando mucho entre una utilidad y otra que podría integrarse en el entorno o si te faltan algunas de las habilidades enumeradas aquí (y más completamente en otras publicaciones), tal vez sea hora de pasar a un IDE (o para mejorar el IDEbility de su entorno agregando macros o lo que no). Si se ha creado un ''IDE'' (en el sentido que menciono anteriormente) utilizando más de un programa, entonces no es necesario pasar a un IDE real.


Me gusta un IDE porque pone mucha funcionalidad a mi alcance. La edición / compilación / visibilidad de los archivos en el proyecto son todas las cosas que valoro en un IDE. Utilizo Visual Studio ahora, pero en una vida anterior usé SlickEdit y descubrí que hizo que mi proceso de desarrollo fuera más ágil que cuando no lo estaba usando.


Mi principal razón para usar uno es cuando el código va más allá de los 100 archivos.

Aunque los ctags pueden hacer el trabajo, algunos IDE tienen una forma bastante buena de navegar por los archivos de manera súper rápida.

Ahorra tiempo cuando tienes mucho trabajo que hacer.


No creo que sea justo hacer el clásico "editor de texto y ventana de consola vs IDE" cuando "editor de texto" es realmente emacs. La mayoría de las características que son típicas de IDE: s también están en emacs. O tal vez incluso se originaron allí, y los IDE modernos son principalmente mejoras / simplificaciones de la interfaz.

Esto significa que para la pregunta original, la respuesta no es tan clara. Depende de cómo los usuarios del sitio en cuestión utilicen emacs, si lo usan principalmente como editor de texto, o si lo utilizan todo y usan scripts personalizados, aprenden los comandos para los modos relevantes, conocen el etiquetado de códigos, etc.


No entiendo lo que me estas preguntando. Preguntas "Debería usar un IDE en lugar de ...", pero no entiendo cuál es la alternativa: Vim y Emacs cumplen muchas funciones que cualquier IDE te dará. El único aspecto que no manejan que un IDE más grande puede ser cosas como los diseñadores de IU. Entonces su pregunta se reduce a simplemente "qué IDE debo usar" con argumentos para el reino más simple de Vim y Emacs.


No estoy seguro de que haya una línea divisoria clara entre un editor de texto y un IDE. Tiene los gustos de Bloc de notas en un extremo de la escala, y los mejores IDE modernos en el otro, pero hay muchas cosas intermedias. La mayoría de los editores de texto tienen resaltado de sintaxis; Los editores dirigidos a los programadores a menudo tienen varias otras características, como la fácil navegación de código y la función de autocompletar Emacs incluso te permite integrar un depurador. Los IDE de hace incluso diez años tenían muchas menos funciones para ayudar a los programadores de lo que cabría esperar de un editor de texto serio en estos días.


No pienses que es exclusivo. Use el IDE para los beneficios que proporciona y cambie al editor de texto vim / preferido cuando necesite un enfoque serio.

Creo que el IDE es mejor para refactorizar, navegar y depurar, y para averiguar qué hacer. Luego se hacen cosas pequeñas justo en el IDE, cosas grandes que doy la vuelta para terminar el trabajo.


Para mí es solo la versión GUI de todo lo que hicimos en los viejos tiempos de la terminal. Siempre estaré de acuerdo en que los IDE no son muy superiores porque ocultan muchas cosas, especialmente en relación con las cosas vinculadas, pero tienen una ventaja notable en algunos casos, por ejemplo, con ciertas plataformas de desarrollo como Qt.

Algunos IDE, como los visuales, parecen analizar su código a medida que lo escribe, y detectan errores incluso antes de compilarlos: parece lógico que solo un IDE pueda trabajar estrechamente con un compilador para detectar inmediatamente un problema en la fuente escrita.

Mi respuesta descabellada es que la guerra de las llamas IDE / línea de comando es que el edificio ejecutable de C / C ++ no se maneja muy bien desde un punto de vista estandarizado, a diferencia del lenguaje D; Cada plataforma maneja la compilación / vinculación / etc a su manera, así que para que sea menos desordenado hacen un IDE.

Desde su punto de vista, podría ser más sencillo usar la línea de comandos, si hubiera habido un solo compilador con opciones estándar, habría sido fácil, pero la verdad es que C / C ++ es flexible, por lo que al final, toda la plataforma Hazlo a su manera, de ahí el IDE para no desperdiciar explicando cómo hacerlo.

Si puede aprender cómo un ejecutable habla con el kernel o si sabe algo sobre el diseño del compilador, tal vez haya una forma de trabajar con una línea de comandos adecuada, pero dudo que lo haya hecho.

Microsoft o Apple, a pesar de lo malvados que sean, tienen que proponer una forma directa de crear una aplicación sin ingresar los detalles, y como la creación de una aplicación depende directamente de la arquitectura del sistema operativo, difícilmente será "estándar" como la linea de comando es.

Para ponerlo en aplicaciones simples, grandes y complejas en las que no desea profundizar en lo que hace -> IDE, pequeñas piezas de software o un simple sistema de diseño de software -> línea de comandos. Excepto, por supuesto, esas bibliotecas ingeniosas que incorporan un Makefile, pero esa es otra historia.

También creo que los IDE se utilizan cuando la aplicación entregada tiene algo que ver con, irónicamente, una GUI o algo que tiene una interfaz o está directamente vinculada a un sistema operativo, así que de nuevo, también es para personas que usarán una UI / GUI sin saberlo. cómo funciona, mientras que las personas que programarán sistemas no lo necesitarán todo.

IDE es solo una mierda moderna, pero creo que en 100 años la línea de comandos seguirá existiendo.


Para mí, un IDE es mejor porque permite una navegación más rápida en el código, lo cual es importante si tiene algo en mente para implementar. Suponiendo que no utiliza un IDE, se tarda más en llegar al destino. Tus pensamientos pueden ser interrumpidos más a menudo. Significa que se deben presionar más clics / más teclas. Uno tiene que concentrarse más en el pensamiento de cómo implementar las cosas. Por supuesto, también puede escribir cosas, pero luego hay que saltar entre el diseño y la implementación. Además, un diseñador de GUI hace una gran diferencia. Si lo haces a mano, puede tardar más.


Puede haber diferentes razones para diferentes personas. Para mi estas son las ventajas.

  1. Proporciona una sensación integrada al proyecto. Por ejemplo, tendré todos los archivos de proyectos relacionados en una sola vista.
  2. Proporciona mayor productividad de código como
    1. Resaltado de sintaxis
    2. Referir de montajes.
    3. Intellisense
    4. Vista centralizada de la base de datos y archivos de interfaz de usuario relacionados.
    5. Características de depuración

Al final del día, me ayuda a codificar más rápido de lo que puedo hacer en un bloc de notas o wordpad. Esa es una buena razón para que yo prefiera un IDE.


Realmente depende del idioma que uses, pero en C # y Java encuentro que los IDE son beneficiosos para:

  • Navegue rápidamente a un tipo sin tener que preocuparse por el espacio de nombres, el proyecto, etc.
  • Navegando a los miembros tratándolos como hipervínculos
  • Autocompletar cuando no puedes recordar los nombres de todos los miembros de memoria.
  • Generación automática de código
  • Refactorización (masiva)
  • Organice las importaciones (agregando automáticamente las importaciones apropiadas en Java, usando directivas en C #)
  • Advertencia según su tipo (es decir, algunos errores ni siquiera requieren un ciclo de compilación)
  • Pasando el cursor sobre algo para ver los documentos.
  • Mantener una vista de archivos, errores / advertencias / pruebas de consola / unidad, etc. y código fuente, todo en la pantalla al mismo tiempo de una manera útil
  • Facilidad de ejecutar pruebas unitarias desde la misma ventana.
  • Depuración integrada
  • Control de fuente integrado
  • Navegando hacia donde ocurrió un error en tiempo de compilación o una excepción en tiempo de ejecución directamente desde los detalles del error.
  • Etc!

Todos estos ahorran tiempo. Son cosas que podría hacer manualmente, pero con más dolor: prefiero estar programando.


Siendo el autor de la respuesta que resalta en su pregunta, y sin duda que llega un poco tarde a esta pregunta, debo decir que, entre las muchas razones que se han enumerado, la productividad de un desarrollador profesional es una de las más importantes. habilidades de gran prestigio.

Por productividad, me refiero a la capacidad de hacer su trabajo de manera eficiente con los mejores resultados posibles. Los IDE permiten esto en muchos niveles. No soy un experto en Emacs, pero dudo que carezca de alguna de las características de los IDE principales.

El diseño, la documentación, el seguimiento, el desarrollo, la construcción, el análisis, la implementación y el mantenimiento, pasos clave en una aplicación empresarial, pueden realizarse dentro de un IDE.

¿Por qué no usarías algo tan poderoso si tuvieras la opción?

Como experimento, comprométase a usar un IDE durante, por ejemplo, 30 días y vea cómo se siente. Me encantaría leer tus pensamientos sobre la experiencia.


Solo hay una cosa que considerar al decidir si usar un IDE o no, y eso es si te hace más productivo o no.

Pregunta corta tan corta respuesta :)


También uso casi exclusivamente Vim (casi porque estoy tratando de aprender emacs ahora) para todas mis cosas de desarrollo. Creo que la intuición absoluta (desde la GUI, por supuesto) es la razón principal por la que a las personas les gusta usar IDE. Al ser intuitivo, se requiere poca o ninguna sobrecarga de aprendizaje de la herramienta. Cuanto menor es la sobrecarga de aprendizaje, más pueden hacer el trabajo.


Tener un IDE tiene las siguientes ventajas:

  • La compilación suele ser "sobre la marcha", lo que significa que ya no hay que cambiar a la línea de comandos para compilar
  • La depuración está integrada, y tener eso en un IDE significa que el depurador de pasos realmente usa su editor en el lugar para mostrarle visualmente qué código se ejecuta
  • Los IDE generalmente tienen más conocimiento semántico del idioma en el que está trabajando y pueden mostrarle posibles problemas mientras escribe. La refactorización es mucho más poderosa que la "búsqueda de reemplazo".

Hay mucho más, quizás deberías intentarlo.


Un IDE permite a uno trabajar más rápido y más fácilmente ... Noté que pasé mucho tiempo navegando en el código en un simple editor de texto ...

En un buen IDE, ese tiempo se reduce si el IDE admite saltar a las funciones, a la posición de edición anterior, a las variables ... Además, un buen IDE reduce el tiempo para experimentar con diferentes funciones y proyectos de idiomas, como el tiempo de inicio puede ser pequeño


Un IDE puede ser una opción "superior" basada en lo que un desarrollador está tratando de lograr.

Un editor de texto puede ser "superior" porque los IDE suelen estar orientados hacia uno (o una pequeña selección) de idiomas.

Si un desarrollador pasa la mayor parte de su tiempo en un solo idioma o en un ''grupo'' de lenguajes relacionados (como C # y T-SQL), en un sistema operativo, las herramientas de diseño, depuración, intellisense, refactorización, etc. de la GUI que ofrece Un buen IDE puede ser muy convincente. Si, por ejemplo, pasa la mayor parte del tiempo trabajando en VB.NET, quizás con un poco de T-SQL de vez en cuando, en un entorno de Windows, entonces sería bastante tonto no mirar Visual Studio o un IDE comparable. .

No tengo prejuicios hacia quienes prefieren IDE o editores de texto, ¡ambos pueden ser muy productivos y útiles si se aprenden bien !


Un IDE maneja el trabajo duro que le ahorra tiempo.

Mantiene todos los archivos de proyecto asociados juntos, lo que facilita la colaboración.

Por lo general, puede integrar su control de código fuente en su IDE, lo que ahorra más trabajo y mejora aún más la colaboración.

Si tiene funciones de autocompletar, puede ayudarte a explorar el idioma que elijas y también guardar algo de escritura.

Básicamente, un IDE reduce el trabajo no programado para el programador.


Vengo a esta pregunta desde la dirección opuesta. Me criaron en la programación con muy pocas paradas en Makefile + Emacs land. Desde mi primer compilador en DOS, Microsoft Quick C, tuve un IDE para automatizar las cosas. Pasé muchos años trabajando en Visual C ++ 6.0, y cuando me gradué en Enterprise Java, trabajé con Borland JBuilder y luego me decidí por Eclipse, que se ha vuelto muy productivo para mí.

A lo largo de mi autoaprendizaje inicial, la universidad y ahora mi carrera profesional, he aprendido que cualquier desarrollo de software importante realizado únicamente dentro del IDE se vuelve contraproducente. Digo esto porque la mayoría de los IDE quieren que trabajes en su peculiar estilo de I-control-how-the-world-works. Tienes que cortar y cortar tus proyectos a lo largo de sus líneas. Usted ha administrado sus compilaciones de proyectos utilizando sus cuadros de diálogo impares. La mayoría de los IDE gestionan las dependencias de compilación complejas entre proyectos de forma deficiente, y las dependencias pueden ser difíciles de conseguir al 100%. He estado en situaciones en las que los IDE no producirían una versión funcional de mi código a menos que hiciera un Limpiar / Reconstruir todo. Finalmente, rara vez hay una manera limpia de mover su software fuera del desarrollo a otros entornos como control de calidad o producción desde un IDE. Por lo general, es un festival de clicky para hacer que se construyan todas tus unidades de implementación, o tienes alguna herramienta extraña que el proveedor de IDE te ofrece para empaquetar las cosas. Pero, de nuevo, esa herramienta generalmente exige que su proyecto y estructura de construcción se ajusten absolutamente a sus reglas, y en ocasiones eso no funciona para los requisitos de sus proyectos.

Aprendí que, para hacer un desarrollo a gran escala con un equipo, podemos ser los más productivos si desarrollamos nuestro código utilizando un IDE y hacemos todas nuestras compilaciones utilizando scripts de línea de comandos escritos manualmente. (Nos gusta el desarrollo de Apache Ant para Java). Descubrimos que ejecutar nuestros scripts fuera del IDE es solo un festival de clics o una pesadilla de automatización para compilaciones complejas, es mucho más fácil (y menos perturbador) que alt + tab a una shell y ejecutar los scripts allí.

Las compilaciones manuales requieren que nos perdamos algunas de las sutilezas del IDE moderno, como la compilación en segundo plano, pero lo que ganamos es mucho más crítico: compilaciones fáciles y limpias que pueden vivir en múltiples entornos. ¿La "construcción de un clic" de la que hablan todos esos chicos ágiles? Lo tenemos. Nuestros scripts de compilación también pueden invocarse directamente mediante sistemas de integración continua. Una vez que las construcciones se gestionan a través de la integración continua, nos permite organizar y migrar de manera más formal las implementaciones de su código a diferentes entornos, y nos permite saber casi de inmediato cuando alguien controla un código incorrecto que rompe las pruebas de construcción o unidades.

En verdad, mi toma del rol de construir lejos del IDE no nos ha hecho mucho daño. Las herramientas intellisense y de refactorización en Eclipse siguen siendo completamente útiles y válidas; la compilación en segundo plano simplemente sirve para respaldar esas herramientas. Y, la peculiar división de proyectos de Eclipse ha servido como una forma muy buena de descomponer mentalmente nuestros conjuntos de problemas de una manera que todos puedan entender (aunque todavía un poco detallado para mi gusto). Creo que una de las cosas más importantes de Eclipse son las excelentes integraciones de SCM, que es lo que hace que el desarrollo del equipo sea tan agradable. Utilizamos Subversion + Eclipse, y eso ha sido muy productivo y muy fácil de capacitar a nuestra gente para que se conviertan en expertos.


IntelliSense , el depurador integrado y la ventana inmediata me hacen enormemente más productivo ( Visual Studio 2008 ). Con todo a mi alcance, puedo mantener la gran mayoría de un enorme proyecto dentro de mi cabeza mientras escribo código. Microsoft puede seguir lanzando el balón a sus sistemas operativos, pero Visual Studio es uno de los mejores productos jamás desarrollados.