2006-12-18
YO LO DEL BLOC DE NOTAS NO LO VEO CLARO
Y nos desayunamos con una ración de sentido común, que también la hay por el mundo, si señor. Hablamos en alguna ocasión de las deficiencias con que uno se encuentra cuando intenta programar en linux, de entre las que más se hacen notar por ejemplo la inexistencia de una API unificada, la falta de un repositorio comun de información (al estilo MSDN), los problemas con las dependencias, etcétera...
Creo recordar haber mantenido en alguna ocasión esta discusión con gente de "la comunidad" y claro, como es normal terminamos con la cantinela aquella de "no es más dificil, es diferente". Claro. Y yo soy un paquete, que eso también ayuda.
Sin embargo de vez en cuando, encuentras gente con el suficiente sentido comun que independientemente del lado en el que uno esté, son capaces de darse cuenta de los problemas y limitaciones que tiene cada sistema.
Excelente artículo por tanto el de
Hari, programador linux, que al intentar dar consejos a la gente que intenta programar en Linux proviniendo desde windows, pone en evidencia muchos de los problemas que ya hablamos aquí con anterioridad. (
aquí en español)
Por mencionar brevemente, dice el rapaz que es bueno no tener un API común, que para programar no hay nada mejor que un editor de texto (veo mi Visual Studio y me descojono vivo), dejar las configuraciones lo mas generales posible porque no sabemos si va a funcionar en todos los equipos, no tendremos documentación en gran parte de los casos (ni hablar de un MSDN) y pásale el trabajo de instalar al usuario (antiusabilidad total).
Copio y pego:
A diferencia de la Interfaz de Programación de Aplicaciones (API) unificada en Windows que provee a los programadores con un único método para alcanzar un cierto objetivo, Linux provee diversas formas de alcanzar el mismo objetivo.[...]
A pesar de que los Entornos Integrados de Desarrollo no son una mala idea, posiblemente encontremos que al desarrollar proyectos más pequeños utilizando un editor de texto simple y un archivo de descripción sea una mejor idea.[...]
Además de no ser una buena práctica de programación, no se puede asumir que determinado archivo de sistema existe en la máquina del usuario final (debido a diferencias específicas de la distribución).[...]
Linux no viene con una herramienta parecida al MSDN que nos proporcione documentación para cada herramienta de programación individual o para cada Interfaz de Programación de Aplicaciones que se encuentre disponible allá fuera.[...]
Ya que la mayoría de las distribuciones Linux poseen sus propios sistemas de gestión de paquetes (y si nuestra aplicación es lo suficientemente buena, posiblemente pueda ser incluida en el depósito de paquetes oficial), debemos de dejar el manejo de las dependencias al usuario final que compila nuestro programa en forma manual o al encargado del paquete de la distribución que envía nuestra aplicación como parte de su paquete.[...]
El mérito de Hari es que nos vende todo esto como si fueran ventajas.
Programación | jomaweb | 18 Comentarios | Enlace
14
|
De: pnongrata |
Fecha: 2006-12-18 18:10 |
|
Joma, es que tu crítica se puede resumir en "no me gusta linux porque no es como windows".
Ahora en cuanto a lo mínimo que sería suficiente para tí, veamos:
- Un API común: por lo que leo (de Hari, porque tú no das muchas pistas) es que no sabes qué toolkit gráfico escoger. Pues la cosa es muy simple: escoge el que más te guste. Cualquier distro lleva QT y GTK (y algunos más). Tu programa funcionará. Si es que ese es todo el problema. Porque no sé en qué lenguaje has intentado programar en linux (porque lo has intentado, ¿verdad?)
O sea, tu problema se reduce a que en vez de una librería gráfica ¡hay dos! ¡o más! Cielos, la cosa realmente está malita. ¿Qué pasa en windows cada vez que a MS le da por sacar una nueva capa de acceso a datos? ¿Desaparecen las APIs anteriores o contemporáneas que han pasado de moda? ¿Las olvidáis todos de golpe?
- Un sistema de documentación coherente: realmente presentas un problema que -de nuevo- no sé si has experimentado realmente o simplemente repites algo que has oído por ahí. Dices que no existe un equivalente al MSDN. Pues no, no hay un mega-sitio con la información de referencia de cada lenguaje y toolkit existente para linux. Pero sí que hay referencias bastante completas y consistentes para cada lenguaje en el que se te ocurra programar.
Si programas en Perl, tienes la documentación en el propio sistema de ayuda de Perl (via consola, u online). Con Python y Ruby lo mismo, y además todos ellos tienen la posibilidad de mostrarte la ayuda online con su propio servidor web.
Que programas en Java? La cosa no puede ser más sencilla. Tienes la ayuda en el propio IDE u online.
Que programas en C? Tienes la ayuda del API en páginas man. O en Info.
Si usas Mono, ni idea. Ni me he molestado.
Pero insisto. Si esperas algo idéntico a lo que tienes en windows, quédate en windows. Si no, no sé para qué te molestas, aparte de para frustrarte porque sí.
(Y espero verte programando en Vim. Iré corriendo a comprar mi copia del Duke Nukem Forever :) )
|