06.20.08
Entornos de desarrollo en linux
Desde hace ya bastantes meses utilizo ubuntu en casa, y la verdad es que estoy bastante contento con él. El entorno gnome me resulta muy cómodo, y su aspecto sencillo y modosito me congratula sobremanera. Sólo hay una cosa que hecho de menos en mi nuevo linux, y es un entorno de desarrollo de C++ que me resulte cómodo.
Programo en C++ desde hace ya más de 10 años, soy de la generación que creció con el Turbo C 2.0 y después con el Visual Studio 6. Desde entonces mi entorno de desarrollo por defecto ha sido la Suite de Microsoft en sus sucesivas versiones. Los que me conocéis sabeis que no soy, ni mucho menos, defensor de la política y los productos de Microsoft… pero tb sabéis que con Visual Studio hago una abierta excepción. Para mi es, sin lugar a dudas, un entorno muy bien parido y que con los años no ha hecho mas que mejorar. Tiene problemas, por supuesto, y el entorno .NET le ha hecho mucho daño, pero si hago balance de todo lo que aporta, sin lugar a dudas me sale positivo.
No soy para nada de esos usuarios de linux que le gusta hacer scripts crípticos con pipes y pollas. Considero necesario un conocimiento básico de las normas, pero algo más ya lo tomo como una paja mental de friki. Soy de los que aboga por la sencillez de uso, la comodidad y el buen gusto a nivel visual. No me vereis nunca (al menos eso espero) usando el emacs o el vi, y no pq me resulten poco potentes ni mucho menos, sino pq son horribles (HORRIIIIIBLES) de ver y aun peores de usar. Estoy absolutamente convencido de que un usuario medio puede hacer lo mismo con otros editores mas sencillos. Me refiero por supuesto a hacer lo que un usuario medio suele hacer… Para cosas mas profesionales y elitistas seguramente el emacs tenga una combinación de 200 teclas (sin contar el Ctrl del principio) que te lo hace…y con un editor normal sencillamente te tengas que comer los mocos.
Visual Studio tiene un editor bastante apañado. Es facil de usar y es muy potente si sabes usarlo. Con esto quiero decir que tiene una curva de aprendizaje bastante cómoda, todo lo contrario que pasa con el emacs, que a los 10 minutos ya estaba asqueado. Hoy día soy capaz de usar el editor de visual studio sin necesidad de llevar la mano al mouse, pero si no se hacer algo con las teclas siempre tengo maneras alternativas para lograr mi objetivo. Con los editores arcaicos esto no suele pasar.
Por otro lado las herramientas de depuracion del Visual no tienen nada que envidiar a cualquier otro IDE. Es de lo mejorcito que he visto. Internamente estoy seguro que es tan potente como usar el archiconocido gdb, que está muy bien pero es un cagarro en cuanto a facilidad de uso. En cambio el depurador en VS está tan integrado en el editor que simplemente cuando te vas a cualquier otro sientes como te hubieran robado algo (cabrones!!). La gestión de proyectos tb es algo que encuentro bastante bueno en esta suite, frente a los odiosos Makefiles, scons y otras mierdas varias que he tenido la oportunidad de conocer estos últimos años.
Ahora mismo mi inquietud linuxera más inmediata es encontrar un IDE que esté a la altura de mi añorado Visual Studio, y me temo que van a pasar unos cuantos años hasta que esto ocurra. He tenido oportunidad de probar algunos, pero ninguna se acerca ni de lejos a lo que busco.
Eclipse es un entorno bastante apañado. Tuve oportunidad de conocerlo ya en mis años mozos cuando hacia mierdas de java en la universidad, y la verdad es que me hacia la vida mas fácil en aquellas soporíferas prácticas. Años más tarde le he vuelto a hacer un tiento, esta vez para programar en C++. Su principal problema es que es leeeeeeeeeeeeento de narices. No reacciona fluidamente, y las combinaciones de teclas me resultan sacadas de alguna antigua lengua muerta o de otro planeta. Además su origen javero todavía está demasiado presente para mi gusto.
Anjuta, la prima de enjuto mojamuto, es el ultimo entorno que he probado estos días. Ya lo había probado hace tiempo, pero lo descarté de inmediato al ver la ingente cantidad de dependencias raras que tenia. Lo peor, que usa las polladas estas del autoconf y el automake. Si algún dia me da por acabar de digerir el funcionamiento y uso de un Makefile seguramente acabaré encontrandole el sentido a cosas tan rebuscadas como el automake y el autoconf. Ahora mismo simplemente no me encuentro ni capacitado ni con ganas de perder el poco tiempo que me va quedando en semejantes abortos de software. Lo único medio decente que veo en anjuta mojamuta es el depurador… No es sofisticado, pero está mínimamente integrado y parece que funciona (hasta donde yo he visto)
De un IDE gnome-ero pasamos a otro KDE-ero, el KDevelop. Tambien me costó lo suyo instalarlo… me añadió tantos paquetes de KDE que mi gnome parecía un aborto de ambos entornos de escritorio. Una vez conseguí hacerlo funcionar llegué a la misma conclusión que cuando vi un entorno KDE por primera vez… “esto lo han hecho una pandilla de flipaos”. Tiene tantos iconos, tantos botones, tantas cosas raras, que se te quitan las ganas de pulsar cualquiera de ellos. Simplemente está sobrecargadísimo. No lo he tocado mucho, y lo tengo en tareas pendientes, pero es algo que en su día me dió una impresión que ahora hace que despierte en mi el sentimiento de pereza y perrería.
Sin embargo hay un IDE en linux en el que tengo puestas todas mis esperanzas: Code::Blocks. Se asemeja en muchas cosas al Visual Studio, cosa que me hace sentir nuevamente en casa. Es sencillo, no tiene cosas que las vea y piense que no las voy a necesitar nunca, y tiene las cosas básicas que considero que debe de tener cualquiera. El editor es decente, y tiene un depurador integrado. La gestión de proyectos es sencilla, y permite usar diferentes compiladores. Está basado en plugins, lo cual abre la puerta a futuros componentes útiles nacidos del día a día de cualquier programador. La unica pega que le veo es que está muy verde. Aun responde lento y a veces hace cosas raras, el depurador está lejos de lo que puede hacer su hermano mayor el VS, pero algún día espero que se convierta en un IDE como dios manda. Hasta entonces me queda resignarme e invertir el resto de mi juventud y ganas de programar en dar un salto hacia atrás en el tiempo y mancharme las manos con las antiguas técnicas cochambrosas de programación…
PD: por favorrrr si alguien conoce un IDE decente en linux me haría un gran favor si me lo dijera… HELP!!!!
Eurico said,
July 2, 2008 at 12:02 pm
Ya.
De todos estos el unico que me funciona bien aun es KDevelop.
El problema es que no solo son los IDES que tienen problemas. No hay applicaciones comerciales del mesmo nivel en muchas areas para Linux.
Es triste, pero tambien una oportunidad para los programadores sacaren algo adelante y se hacieren famosos.
Raul said,
February 20, 2009 at 1:22 am
Tengo el mismo problema, aumentandole que vengo de pascal y luego VB6, es terrorífico para mi programar en C, sobretodo si no tengo un IDE con depurador integrado. He probado Netbeans 6.5 y puedo depurar paso a paso programas en C, aunque no he podido hacer formularios de forma gráfica, tengo que generar el código con Glade y luego agregarlo al proyecto.
KonstantinMiller said,
July 7, 2009 at 1:45 am
How soon will you update your blog? I’m interested in reading some more information on this issue.