27 de junio de 2009

La insoportable levedad de Mono (II)

(Continuación de la primera parte)

Todas esas razones ya de por si suponen un problema para Mono considerando su objetivo de convertirse en plataforma de programación para Gnome. Pero dejando de lado estas razones que afectan más bien a los programadores, tambien hay que mirar las cosas del lado del usuario. Y en ese lado del campo, la razón por la que Mono no se ha convertido en algo imprescindible para los usuarios de Gnome es la ausencia de aplicaciones.

Personalmente, no tengo Mono instalado en mi sistema, tampoco lo tenía cuando utilizaba Gnome. Es decir, no lo necesito. ¿Tal vez no me he adentrado en el mundo de aplicaciones Mono? Bien, hagámoslo ahora, echemos un ojo a esto y a esto. Pero por mucho que lo miro y remiro, no veo nada que me interese de verdad, no veo nada imprescindible. Si que tengo aplicaciones pygtk de las que no podría prescindir (no podría vivir sin virt-manager), tengo alguna que otra aplicación GTK hecha en C o C++, tengo hasta una aplicación que hace uso de wxWidgets en su versión GTK, amule. Pero nada con Mono. ¿Monodevelop? Tengo eclipse, o Kdevelop. ¿Beagle? Pregunten a Ubuntu porque se pasaron a Tracker. ¿Gnome Do? Los paneles y menus normales me son suficientes. ¿Banshee? Este si que es atractivo, pero yo diría que lo es fundamentalmente por las carencias de rhytmbox. ¿F-spot? Tambien es atractivo, incluso intenté usarlo, pero ciertos bloqueos de la interfaz y fallos diversos me hicieron desinstalarle, y como tampoco soy de los que necesita un gestor de fotos no fue una gran pérdida.

En resumen, que a la hora de la verdad, las únicas aplicaciones Mono que personalmente veo algo interesantes son (aparte de mod_mono, que sin duda será útil para migraciones de ASP.NET) son banshee y f-spot, pero ninguna se me hace imprescindible, puedo prescindir de ambas fácilmente, o encontrar equivalentes superiores. Tal vez para algunas personas si que sean críticas, pero no dejan de poder contarse con los dedos de la mano.

Pero ojo: una de las aplicaciones estrella de Mono que se suelen citar es Tomboy. Y he de reconocer que cuando veo a alguien poner a una aplicación de notas como ejemplo del potencial de Mono lo siento, pero me da la risa. Y no porque las aplicaciones de notas sean cosa de risa -para muchas personas son imprescindibles y les ayudan a mejorar su productividad-, sino porque tampoco es que sean precisamente la aplicación más interesante que se puede enseñar en un escritorio. Cualquier programador novato puede solventar casi todas las necesidades básicas de los usuarios de aplicaciones de notas con una implementación muy simplista (como la que yo uso en KDE). La "wikificación" y la sincronización en red de notas que tiene no serán tan sencillas, pero tampoco son features precisamente críticas -sospecho que muchas aplicaciones de notas no tienen esas cosas simplemente porque les importa un rábano-, y tampoco es que se puedan programar solo usando C#.

El potencial de Mono debería mostrarse a los usuarios no con una aplicación de notas, sino con algo con más sustancia. Algo como, por ejemplo, una reescritura de Evolution (se dice que Mono surgió precisamente como reacción a su inmantenibilidad). O de Gimp, o de Openoffice, o de Pidgin, incluyendo una reimplementación completa de los protocolos de red. ¿Les parece que pido mucho? Es mucho, pero ya ven, no son propuestas exageradas: KDE tiene un equivalente de Evolution, de Gimp, de Pidgin y de OpenOffice.org, todas ellas más que decentes. Y todas ellas en....C++. Si Mono es tan awesome y tan superior a otros lenguajes de programación pues, carajo, deberían tener cosas así. Deberían demostrar su awesomeness con algo acorde a su grandeza, no con aplicaciones de notas.

Teniendo en cuenta la ausencia de aplicaciones imprescindibles, ¿debería ser sorprendente que una distro evite incluir mono por defecto en sus CDs? Las distros no son tan burras como algunos piensan, muchas han incluido e incluyen los drivers de nvidia y ati, y el plugin flash -o facilitan enormemente su instalación- cuando es necesario, cuando se trata de algo verdaderamente imprescindible la teología de licencias pasa a un segundo plano. En el caso de Mono, a mucha gente le desespera, y con razón, tener que incluir todo el runtime para unas pocas aplicaciones. Y a los usuarios tambien, claro.

11 comentarios:

  1. Y para los que todavía se agarren de Tomboy, ya existe Gnote, que no es más que tomboy reescrito en C++

    ResponderEliminar
  2. Yo creo que la única que se ha vuelto imprescindible, lamentablemente, es gnome-do. La verdad que cómo mejora la experiencia de uso del sistema es alucinante.

    ResponderEliminar
  3. Muy cierto, para los usuarios mono es bastante irrelevante.

    Y en el mundo de los netbooks un problema :-Ç(

    ResponderEliminar
  4. Simplemente no veo la necesidad de querer desarrollar, al punto de sustituir aplicaciones GNU/Linux por otras de origen privativo (no me refiero al compilador, solo que con C, C++, python, etc... se desarrolla cualquier cosa que mono pueda desarrollar). Este tema es controversial por cuestion de ideologia. Tenemos suficiente material desarrollador como para estar buscando una rama adicional. Particularmente no quiero tener mas dependencias, paquetes, ni programas desarrollados en mono.

    ResponderEliminar
  5. Mira que eres malvado y tienes malas ideas :P. No ,por favor, Evolutión en mono no.
    En cuanto a Banshee lo cierto es que no lo he probado, pero me quedo con Listen, sobre todo por como hace las listas automáticas de reproducción.

    ResponderEliminar
  6. ¿Qué Mono no es imprescindible en una distribución? Claro que no lo es. Como no lo es Java, que sería lo más similar.
    ¿Qué alguien lo quiere incluir? Sus motivos tendrá. Para eso tenemos la libertad, no?

    Está claro que hay una gran cantidad de programadores que trabajan con C# (o .NET en general), sobre todo en programas de gestión. Ese es el gran problema de Linux: la falta de programas de gestión. Me sobran dedos de una mano para enumerar programas adecuados para una gestión comercial, facturación, contabilidad, etc en España. Si, siempre se pueden adaptar, pero todos sabemos que eso es tiempo, y el tiempo hay que pagarlo. Es lo que tira para atrás una empresa a la hora de adoptar Linux. Y para eso sirve Mono. Para que sea más facil pasar de Windows a Linux, y de paso tambien a Mac y al desarrollo de partes de Gnome.

    ¿Qué a alguien no le gusta Mono? Es fácil, que no lo use.
    ¿Qué a alguien le asusta la idea de que Microsoft esté detrás? Linux es una implementación libre de Unix. Y ahí está. Ya lo se, no es lo mismo. Pero ya no nos asusta la idea de quien controla Unix porque Linux tiene vida propia. Creo que al final será así, como ha pasado con tantos proyectos.

    A mi entender, Mono es una gran ayuda para los programadores de Windows que quieren desarrollar bajo Linux. Eso beneficiará a los usuarios con más cantidad de programas, y al mundo Linux en general. No creo que la gente use Mono si ya está contento con lo que usa. Por tanto, tampoco será una gran competencia para los lenguajes del mundo Linux. Y al final, si M$ da problemas, siempre nos quedará Java.

    Un saludo,
    y felicidades por el blog

    ResponderEliminar
  7. Anónimo11:52 a. m.

    Imprescindible no hay nada en informática, TODAS las aplicaciones son sustituibles por otras más simples. Siguiendo esa lógica todavía estaríamos utilizando MS-Dos, que era bastante válido.

    Yo uso la mayoría de las aplicaciones que habéis citado:
    GNome Do ha cambiado mi forma de manejar el ordenador. Los paneles ya no me sirven, los elimine hace tiempo. Ojala salga versión para Windows.

    F-Spot últimamente sí que me está decepcionando, me va muy lento, me gusta tener las fotos bien organizadas. Usar Picassa o Digikam, no me convence.

    Tomboy me parece muy muy cómodo, desde que salió la versión para Windows, lo utilizo en el trabajo y me ayuda mucho en organizarme. He probado GNote, pero me consume lo mismo. ¿Estoy equivocado en este punto? Porque si el programa portado a C++ consume lo mismo no sé para qué duplicar el trabajo.

    Tracker no sé por qué se lia en mi ordenador, así que uso Beagle.

    Así que no sé por qué tanto en contra o a favor de Mono. Si los desarrolladores hacen buenas aplicaciones con él, yo lo usaré.
    Y como desarrollador, creo el uso de C# puede hacer más simple la programación, aunque otro tema sea que yo me decante por Vala frente a Mono.

    ResponderEliminar
  8. enxebree12:51 p. m.

    Pues yo he probado Tomboy durante un tiempo... y lo que puedo decir es que es un truño... cuelgues, sicronizaciones defectuosas, notas que desaparecen,...
    Y lo que consume... vamos, un truño del que me deshice rapidamente...

    Como gestor de notas/wiki, por ahora no he encontrado nada mejor que Zim (programado en Gtk2-Perl) que funciona a la perfección y que sigue el principio KISS, donde cada nota es un archivo en texto plano. Y con un consumo de recursos ridiculo.

    Si es que no entiendo que para una sencilla aplicacion de notas haya que montar las historias que se monta Tomboy (estupida jerarquia de carpetas, formato de las notas, etc...). Vamos, que parece una aplicación programada por alguien acostumbrado a los sinsentidos de Windows.

    Zim: http://zim-wiki.org/

    Del resto de aplicaciones Mono mencionadas, pues no veo practicamente ningna imprescindible....

    Decir que Beagle (incluso Tracker) no compensan en absoluto sus ventajas por el desmesurado consumo de recursos que tienen... prefiero hacer una busqueda por consola que acabo antes... y que solo consume recursos bajo demanda...

    Gnome DO tampoco me parece imprescindible, pero la verdad es que me he acostumbrado a su uso y no he encotrado ningun equivalente dencente. De hecho es la unica aplicacion Mono que tengo en mi sistema, aunque la cambiaria sin dudarlo por un port o por un equivalente funcional en otro lenguaje como C/C++ o Python.

    Yo el mayor problema que le veo a Mono es que la mayoria de programadores en Mono arrastran la mentalidad/defectos de programación en Windows al mundo UNIX/Linux.. y eso no me gusta... es una forma de hacer las cosas, un esquema mental, distinto al de un desarollador nativo de *NIX... simplificando, una innecesaria tendencia a liarse la polla para hacer lo más simple... aunque hay que reconoce que no es algo exclusivo del universo Windows, la tendencia a caer en ello es claramente más elevada en el mismo, debido a las malas costubres desarrolladas en torno a Visual Basic/.NET...

    Saludos

    ResponderEliminar
  9. Anónimo6:18 p. m.

    @kiefer: gracias ahora mismo lo instalo, tomboy me esta dando problemas

    ResponderEliminar
  10. Anónimo9:06 a. m.

    Buenas noches, no pse porque tanto publicidad con tan mala leche para mono, realmente me parece una propuesta buena, ahora de las aplicaciones, por su puesto que no son imprensindibles, es más nada es inprensindible, ahora de las aplicaciones que mensionan yo uso la mayoria, tomboy, banshee, gnome-do, beagle, etc, aunque he de confesar que beagle ya lo deje de usar, pero eso va también para tracker y para el indexador de google, realmente ninguno termina de convencerme, además que aún les falta por mejorar.

    ResponderEliminar
  11. Desde mi punto de vista, la única empresa candidata a portar evolution a Mono es Novell, aunque no creo que lo haga, al menos a corto plazo, porque supone una competencia para Novell Groupwise, o, al menos, no consideran necesario realizar un esfuerzo económico en un software que tienen ya cubierto en su catálogo.

    Para que esto ocurriese deberían cambiar de estrategia y considerar a evolution como una oportunidad para fomentar Mono, que por mi parte consideraría un paso importante para introducir Mono en la informática de empresa.

    ResponderEliminar