¿Es normal que se elaboren aún aplicaciones por línea de comandos?

¿Es admisible hoy en día que haya programas que se ejecuten en linea de comandos? ¿Cual es la dificultad que impide usar un framework, de los muchos que hay, que nos proporcionan los componentes ya configurados? El software elaborado con soporte gráfico normalmente es más claro, salvo excepciones, que también las hay, tiene una curva de aprendizaje mucho más rápida y facilita la labor del programador dado que suele resultar complicado parsear una línea de comandos en la que éstos pueden aparecer en cualquier orden, por no hablar de la gestión de errores, típicamente breves y crípticos en una aplicación shell. ¿Acaso es más rápido el desarrollo? Es posible, dado que uno se concentra más en lo que el software debe hacer dejando el resto (documentación y gestión de errores) en manos de un escriba egipcio de la primera dinastía. ¿Cual es el precio de esta actitud cuando se quiere usar una aplicación de este tipo? Una inmensa pérdida de tiempo intentando entender qué, cómo y cuando hace lo que se supone que debe hacer. Si se trata de una aplicación comercial ¿le cobramos este tiempo al cliente?
¿Acaso hay en ello una actitud hacker? Es bastante común, sobretodo en el mundo Linux, menospreciar a los ventaneros tratándolos de scriptkiddies que sólo saben pulsar botoncitos. ¿Sabe mejor lo que hace, cómo y porqué un usuario que corre una aplicación de linea de comandos? No lo creo, pero queda más técnico y es más fácil impresionar a los profanos. ¿Cuantos de los que usan aircrack, por poner un ejemplo conocido, sabrían programar algo parecido o explicar su funcionamiento interno? Pulsar botones lo hace cualquiera, aunque de eso se trata ¿no es así? ¿no liberamos nuestro software precisamente para eso? El hecho de usar línea de comandos limita, y bastante creo, el acceso universal a su uso.
Todo esto viene a cuento de mi artículo anterior sobre el uso de mapas en Android, un mundo en el que todas estas deficiencias están a la orden del día, algo bastante típico de este sistema operativo y de la programación Java en general, quizás por ser un lenguaje interpretado que requiere, como no, arrancar la máquina virtual desde una shell. Como ejemplo de software con entorno gráfico cuya interface es un desastre véase el Mobile Atlas Creator, aunque haga bien su trabajo, y como ejemplo de software por línea de comandos confuso, indocumentado e incluso no operativo, salvo para jugar, cualquiera de las librerías de gestión de mapas Open Source.
¿Qué opinas del tema? Puedes dejar un comentario si lo deseas o cumplimentar la encuesta que he preparado.

No hay comentarios:

Publicar un comentario