Interfaz de línea de comandos

Evolución de las intefaces de usuario.
CLI (Command line interface): Interfaz de línea de comandos
GUI (Graphical user interface): Interfaz gráfica de usuario
NUI (Natural user interface): Interfaz natural de usuario
Una típica CLI encontrada en las interfaces gráficas de diversos sistemas operativos, para ejecutar aplicaciones a través de un intérprete de comandos.

La interfaz de línea de comandos, traducción del inglés command-line interface o CLI –la cual es, en realidad, una transcripción incorrecta de interfaz de línea de órdenes, por el falso amigo command (orden/instrucción)– es un método que permite a los usuarios dar instrucciones a algún programa informático por medio de una línea de texto simple. Debe notarse que los conceptos de CLI, shell y emulador de terminal no son lo mismo, aunque suelen utilizarse como sinónimos

Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada ( archivo batch), leyendo órdenes desde un archivo de scripts.

Esta interfaz existe casi desde los comienzos de la computación, superada en antigüedad solo por las tarjetas perforadas y mecanismos similares. Existen para diversos programas y sistemas operativos, para diverso hardware, y con distinta funcionalidad.

Por ejemplo, las CLI son parte fundamental de los shells o emuladores de terminal. Aparecen en todas las interfaces de escritorio ( GNOME, KDE, Microsoft Windows) como un método para ejecutar aplicaciones rápidamente. Aparecen como interfaz de lenguajes interpretados tales como Java, Python, Ruby o Perl. También se utilizan en aplicaciones cliente-servidor, en gestores de bases de datos, en clientes FTP, etc. Las CLI son un elemento fundamental de aplicaciones de ingeniería tan importantes como MATLAB y AutoCAD.

La contraparte de CLI es la interfaz gráfica de usuario (GUI) que ofrece una estética mejorada y una mayor simplificación, a costa de un mayor consumo de recursos computacionales, y, en general, de una reducción de la funcionalidad alcanzable. Asimismo aparece el problema de una mayor vulnerabilidad dada su complejidad.

Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos científicos y de ingeniería, y un subconjunto más pequeño de usuarios domésticos avanzados.

En dispositivos portátiles y PDA, las CLI no se utilizan, debido a lo complejo que resulta ingresar datos de texto, o por la ausencia total de teclados.

Historia

En los primeros años de las computadoras, y durante la era de los computadores denominados mainframes, el control de la ejecución de los programas se hacía desde lugares especiales (normalmente ubicados cerca del computador en salas con aire acondicionado), donde el administrador manipulaba directamente la máquina.

Teletipo

Se escribía la orden en el teclado y se recibía la respuesta impresa en papel. Estos sistemas basados en teletipos dieron origen a la primera forma eficiente de interactuar con computadores: líneas de texto simple.

Con el advenimiento del sistema operativo Unix a inicios de la década de 1970, el uso de la línea de comandos se convirtió en un estándar. Se canonizaron las reglas de ejecución basadas en tuberías, filtrado de archivos utilizando comodines, y todas aquellas funcionalidades que permitían las nacientes interfaces de texto. Los sistemas operativos que vendrían ( CP/M, DOS) adoptarían como propias aquellas cualidades.

Con la popularización de la computadora personal en la década de 1980, las aplicaciones entraron a un nuevo escenario donde ya no se tenía que compartir los recursos del sistema con otros usuarios. Ahora cada usuario contaba con su propia máquina, con la que interactuaba de una forma mucho más personalizada. Apple y luego Microsoft lanzaron exitosamente al mercado sistemas que explotaban todos los conceptos visuales que habían sido desarrollados por Alan Kay y su equipo del PARC, es decir, una interfaz gráfica para controlar al computador por medio de un ratón.

Hasta la actualidad las GUI permanecen como la interfaz dominante y las CLI como interfaz secundaria. No obstante, el mismo Dr. Alan Kay ha señalado que «es necesario desarrollar un nuevo tipo de interfaz» para optimizar la relación entre humanos y computadores.[1]

Other Languages