domingo, 12 de octubre de 2008

Y al final, la línea de comandos

La puerta de entrada de la informática fue durante unos cuantos años la línea de órdenes (CLI en inglés), es decir, commnad line interface o línea de comandos, si se prefiere una traducción menos correcta, aunque más difundida.

Pero desde hace tiempo la interfaz gráfica de usuario (GUI) parece haber desplazado casi por completo a la interfaz original de puro texto.

Y sólo digo casi, porque sigue siendo ampliamente usada por los administradores de sistemas, por algunos "gurús" informáticos y por unos cuantos "freakies" de los computadores, generalmente asociados todos ellos a plataformas de software semejantes a Unix u a otras rarezas equivalentes.

¿Pero es realmente tan extravagante y trasnochado preferir la CLI a la GUI en un buen número, no desdeñable, de situaciones de trabajo con el ordenador?

En absoluto lo es. Y como prueba se pueden esgrimir muchas razones. Véanse, por ejemplo, las estupendas argumentaciones de Neal Stephenson en su clásico In the beginning was the command line, del que, por cierto, hay traducción a la lengua de Cervantes.

Hay ciertos campos en concreto, por ejemplo, en la edición de textos, donde, a mi entender, el abandono de la CLI ha provocado y provoca graves perjuicios, como traté de argumentar en El qué y el porqué de LaTeX [ el primer artículo que aparece en el documento enlazado ].

Pero, incluso, en las tareas básicas (programas de correo electrónico, agregadores de noticias, editores, navegadores de ficheros, navegadores web, ...), las aplicaciones de línea de ordenes, son inmejorables en muchos sentidos. Citaré sólo unos cuantos:

  • Son mucho más rápidas, tanto porque tales programas consumen muy pocos recursos, como porque todas las operaciones se realizan comúnmente sin levantar los dedos del teclado.

  • Están disponibles para infinidad de sistemas operativos y arquitecturas de hardware.

  • Pueden ejecutarse en ordenadores realmente antiguos o con recursos muy limitados si se los compara con los actuales ordenadores de escritorio. Son por ello "ecológicas".

  • Son, en su inmensa mayoría ---como lo suele ser el software creado por los padres de la informática---, libres, en el doble sentido que la palabra inglesa free tiene de gratuito y abierto (el código permanece abierto a la inspección y, en su caso, a la oportuna modificación y mejora de cualquiera que lo desee). Aunque esto no es característica únicamente suya. Pues, como se sabe, el movimiento de software libre u open source ha creado también y sigue creando magníficas herramientas para la GUI.


Es difícil pedir más por menos. Y hay más, si se busca un poco. Por ejemplo, bajo una aplicación como screen se pueden ejecutar los típicos programas citados en un determinado ordenador, cerrarlos todos, y volver a abrirlos desde otro ordenador remoto regresando exactamente al mismo punto en el que estaban todas las aplicaciones que corrían sobre screen cuando abandonamos la sesión en la primera de las máquinas, y todo ello con indiferencia del sistema operativo bajo el que funcionen los susodichos ordenadores y con una fiabilidad que es difícil, si no imposible, encontrar en aplicaciones gráficas de similar propósito.

Se me dirá, con razón, que renunciar a las aplicaciones gráficas es locura allí donde son insustituibles, es decir, donde el dato manejado es justamente la imagen (programas de visualización o edición fotográfica, lectores de pdf, reproductores de vídeo, etc.).

Nada más lejos de mi intención. Sin embargo, es perfectamente posible y razonable permitir que convivan limpiamente unas y otras aplicaciones (CLI y GUI). Los entornos modernos de escritorio permiten hacerlo con facilidad a través de sus emuladores de terminal o consola. De forma que es perfectamente natural y absolutamente transparente al usuario la ejecución de aplicaciones gráficas desde nuestras aplicaciones de puro texto.

Para terminar, dejo aquí unos pantallazos de algunos de los programas CLI, ejecutados desde una sesión de screen, que yo mismo uso desde un único terminal en mi escritorio de KDE4 (se verá que es KDE4 por el icono de plasma que aparece en la parte superior izquierda). O sea, el escritorio de última generación conviviendo con algunos conspicuos miembros del CLI-clan. Por eso, de lo de predicar con el ejemplo ;-)

mutt, el cartero legendario:



w3m, el postrero de los clásicos:



htop, el joven domador de procesos:



nethack, el origen del submundo:

1 comentario:

  1. Una aclaración técnica.

    Me he referido en el artículo a la interfaz de línea de órdenes (CLI) en contraposición a la interfaz gráfica de usuario (GUI).

    Entiendo por aplicaciones CLI, en su sentido más amplio, no sólo aquellas cuya interfaz es la pura línea de órdenes, el shell, sino también todas esas otras que pueden ejecutarse desde la consola o desde un emulador de terminal, sin necesidad de que el servidor X esté funcionando.

    Estas aplicaciones de consola pueden ser programas cuya interfaz es el shell y, por consiguiente, son aplicaciones de la CLI, en el sentido estricto. Pero también pueden utilizar una interfaz, básicamente en modo texto, por encima del shell, basadas en ncurses o bibliotecas semejantes.

    En sentido estricto este último tipo de aplicaciones también podrían llamarse de GUI. No obstante, he preferido reservar la denominación GUI parar todo lo que tiene que ver con aplicaciones que no pueden ejecutarse en la consola.

    ResponderEliminar