IDE vs VI

IDE vs VI

Toda mi vida desarrolle sobre editores tipo editplus, notepad ++, también use algo un poco mas avanzado como dreamweaver que te auto completaba las funciones, y alguno que otro mas. Pero hace dos años que uso Eclipse, y la cosa cambio mucho para mi, tengo todo, lo que necesito en una sola aplicacion, no tengo que switchear nada con ctrl + tab tengo todo integrado, svn, auto completado, formateador de código, funciones para renombrar una variable, debuger, el maravilloso outline que me muestra todas las propiedades, metodos de una clase, el explorador de archivo y hasta un navegador web para probarlo  (aunque sigo usando Firefox), y muchas cosas mas que al tenerlas automatizadas ni me acuerdo. Pero lo importante, es que tengo todo lo que necesito para desarrollar, y esto es importante porque no pierdo tiempo en buscar el nombre de la función de otro archivo o que parámetros recibe el método de una clase porque automaticamente me sugiere todo, con la opción de seleccionar con las flechitas cual quiero, y auto completarme todo. O el fantástico ctrl + shift + f, el cual después de escribir código a lo loco me corrige todo los errores de indentacion en milisegundos, sin que necesite revisarlo.

La idea de escribir este articulo me surgió después de leer el articulo con la compilacion de 10 recomendaciones hechas por “especialistas” y en el punto 5 recomendaba usar algún IDE para acelerar los procesos de desarrollo de software, y no solo acelerar sino para unificar, como conté en otro articulo con una combinacion de teclas todos podemos tener el mismo estándar  de indentacion, sin tener que chequear el código. Además se facilita mucho el uso del svn, y para una persona sin conocimientos de subversión,, se hace muy fácil, hacer un commit, agregar archivos al repositorio, actualizar, etc. Voy mas allá y digo que podes usar svn sin tener idea de lo que es.

Pero no quiero quedarme solo en eso, sino que además es extensible, podemos agregarle plugins, para javascripts, para css, para html, porque no para ruby, o python, o cualquier otro lenguaje que se nos ocurra.

Yo uso Zend Studio for Eclipse que si bien es pago, solo unos u$s 300, es un producto completisimo, pero también esta la alternativa libre, Eclipse PDT. Los dos son productos excelentes y cumplen la mayoría de las funciones.

Por otro lado tenemos el famoso y potente VI, que en definitiva es un editor de texto, pero realmente poderoso, se pueden hacer cosas que en Eclipse no. Es 100% configurable, y muchas de las funcionalidades de los IDE actuales, se pueden implementar para VI. Estamos en contacto directo con la consola que nos da mas control y poder a la hora de programar, pero a que costo?
Digo esto porque si el VI tiene cosas buenas, la amigabilidad no es una de esas cosas.

En un articulo escrito por un compañero de trabajo, menciona que el VI tiene una curva de aprendizaje muy grande, y acá es donde no me cierra.

Todo desarrollador web debería saber usar básicamente el VI, me refiero a poder copiar, pegar, buscar, buscar y reemplazar cadenas. Pero no es algo simple esto es totalmente distinto a cualquier otro editor de texto gráfico, pero tiene que ser una necesidad ya que muchas veces vamos a tener que meter las manos en servidores remotos, que no tienen entorno gráfico y otra de las características de VI, es que en cualquier servidor Linux del mundo escribís VI,  y lo encontras.

Recomiendo la lectura del articulo VIM com IDE, porque muchas de las cosas que mencione arriba que se podían hacer con un IDE, muestra como hacerlas para VIM.

Pero, si bien en VIM se puede hacer lo mismo que se hace con un IDE (hasta lei que se puede integrar el svn), para hacer un search and replace, en vim tendriamos que hacer

:1,$ s/cadena_original/cadena_nueva/g

Esto con Eclipse es mucho mas intuitivo y facil, solo tenmos que apretar ctr + f completar los campos y ctr + a para que haga un reemplazo generl.

Por ahí soy todavía soy un chico windows y soy reacio a lo no amigable, pero mas allá de eso tengo en claro que cada herramienta cumple su propósito, y para desarrollar no hay nada como un IDE.

Obviamente nadie desarrolla en bash con Eclipse, pero aoca hablamos de programacion web. Tampoco creo que muchos locos anden usando VIM para programar en JAVA, y ni hablar de .net.

Los linuxeros de alma no van a estar muy deacuerdo conmigo, pero es una realidad, la consola te da poder pero no es comoda y mucho menos amigable, y no hablo solo por mi o por un usuario avanzado, sino tambien de los programadores recien iniciados que ya bastante problemas tienen aprendiendo a usar el lenguaje, como para agregarle la carga de aprender a usar algo tan exigente como VI.