Crítica de los IDEs (segunda parte)

Inspirado por un buen comentario de Manuel Cerón, estuvé pensando un rato sobre las verdaderas razones por las cuales usar eclipse no me llega a parecer del todo placentero. El primer comentario de Manuel es bastante acertado: el tiempo de arranque de eclipse es irrelevante dado que arrancar eclipse es algo que se hace muy raramente. En mi caso, por ejemplo, usualmente lanzo eclipse el lunes en la mañana y lo vuelvo a cerrar el viernes en la noche. Al trabajar en java en eclipse, uno hace todo a partir de eclipse, todo el tiempo, por lo cual tiene sentido que eclipse permanezca abierto todo el tiempo, dominando toda la pantalla.

Creo que este último punto esta en la base de mi principal problema con eclipse (y en general los IDEs): para cumplir su promesa de facilitar la tarea de escribir codigo, eclipse exige una especie de entrega total. Parafraseando al Duce Mussolini, Todo en eclipse, nada por fuera de eclipse. Eclipse se hace cargo de todos los detalles peludos del asunto, a cambio de que uno renuncia a la posibilidad de meterle mano en la mitad a la cadena de herramientas y pasos involucrados. Por la misma razón, es dificil introducir una herramienta externa al manejo de un proyecto sin introducir perturbaciones que eclipse es incapaz de tratar correctamente.

Manuel señala correctamente que el refactoring es solo una de las facilidades de edición que ofrece eclipse, al lado de otras estilo auto-expansión del código o el navegar a la definición de una función desde una referencia a ella (esto ultimo lo ofrece emacs en C desde tiempos inmemoriales). En mi opinión las funciones de refactoring son tal vez las funciones de edición mas sofisticadas de eclipse y se me ocurre que es posible que para Python (el lenguaje de preferencia de Manuel) sean menos avanzadas que para java. Esto me conduce a pensar en otro punto, de bastante menor importancia y por el cual no se puede culpar a eclipse, y es el hecho de que en general me parece que los paquetes oficiales son de muchisima mas calidad que los no-tan-oficiales. Por ejemplo, el soporte a CVS es brutalmente bueno, mientras que para GIT no existe nada siquiera aceptable.

7 Comments

  1. Nelson
    August 15, 2010 #

    Yo desde hace unos años pienso que algo ayuda a la popularidad de entornos como Eclipse.

    En UNIX es muy fácil programar, basta invocar una terminal y ya está ( perl -we ‘print for (1..9)’ ).

    En Windows es más difícil.

    Mi impresión es que muchos usuarios de Windows sienten que al entrar en Eclipse entran al “lugar en el que se programa” y una vez estando ahí no quieren salir.

    Lo mismo puede pasar con usuarios de UNIX que no están interesados en más de un lenguaje.

  2. Manuel Cerón
    August 15, 2010 #

    Estoy de acuerdo en que al usar IDEs hay que hacer todo a la manera del IDE. Una cosa que particularmente me molesta de Eclipse, es que cuando uno quiere hacer algo pequeño, como una prueba de alguna API, es necesario crear un proyecto, pasar por un wizzard y todo eso. A veces uno quiere simplemente saltar a un archivo y empezar a escribir. Para este tipo de cosas yo uso vim o incluso un interprete interactivo como bpython.

    Eclipse me hace querer una pantalla de 22 pulgadas.

    Siempre he desistido de aprender a usar Emacs. La ultima vez que lo probé fue hace como dos años y desistí porque pasé casi una semana tratando de hacer que las fuentes tuvieran antialiasing y fracasé. Creo que eso ya lo arreglaron pero no he vuelto a intentar.

    A Vim, sin embargo, sí le di una oportunidad y estuve usándolo como “IDE” durante casi un año. La experiencia no es mala, pero en mi opinión hay muchas cosas de IDE que realmente no se pueden hacer bien. El autocompletado es una de ellas. También puedo decir que hay muchos scripts y plugins para Vim que funcionan terriblemente mal y están llenos de bugs. El NERDTree es uno de ellos.

    La forma de editar en Vim es chévere, pero poco a poco uno se va dando cuenta de que casi todo se puede hacer en otros editores. Y que incluso van llegando nuevas características que estos viejos no soportan (Como el multiedit de gedit, el cual amo).

    Mi característica de IDE preferida se remonta a mi primer IDE: TurboPascal (y luego TurboC++) y era que si uno daba clic derecho, por ejemplo sobre el nombre de una función, le mostraba la documentación de esa función. Eso sólo lo he visto en MonoDevelop (aunque tampoco es conozca muchos IDEs). Además, difícilmente he viso un IDE con un depurador tan bueno y fácil de usar como el de TurboPascal.

    Yo aprendí a programar de la forma que Nelson dice. Yo usaba Windows y “el lugar donde se programa” era TurboPascal. De hecho, en ese tiempo para mí no había diferencia entre los términos “compilador” e “IDE”. Una vez le dije a un amigo que me prestara un compilador de C y me copió TurboC++.

    PD: El plugin de Mercurial para Eclipse funciona lo más de bien

  3. Mauricio
    August 17, 2010 #

    Ejem.

    Una critica para Manuel Ceron y para Sergio.

    La energia es escaza y su mal uso hace que paises como USA ocupen el 60% de la energia mundial… considerando que USA tiene menos del 5% de la poblacion mundial.

    Con esto en mente, no apagar el pc durante la semana es quemar nuestro planeta.

    Es facil, apagas tu pc cuando termina tu jornada laboral y usas un IDE ligero de carga, simple y rapido… o usas Komodo Editor o el que te plasca.

    Cuida tu planeta, que si lo perdemos poco va a importar la codificacion!

  4. Alfabravo
    August 18, 2010 #

    Una crítica para Mauricio: “no cerrar Eclipse” no equivale a tener el PC prendido. La hibernación existe y no sólo en los osos de nuestro bello planeta! Así, mi Eclipse también dura días y días, sin que eso signifique disipar energía

  5. Mauricio
    September 2, 2010 #

    Alfabravo.

    La hibernacion consume energia… sino ¿como mantienes la memoria temporal activa?

    ^^ .. eso lo ves como en computacion basica I

    ^^

  6. Mauricio
    September 2, 2010 #

    me autoenvio de vuelta a estudiar…

    confundí stand-by con hibernar…

    punto para alfabravo…

    nota personal: ponerle una bomba en el boton derecho del raton ^^

  7. Alfabravo (Nelson)
    September 22, 2010 #

    Nota mental: robarme el comentario de “eso lo ves como en computación básica I”

    jejeje ^^

Leave a Reply

Powered by WordPress. Designed by Woo Themes