Conecta con nosotros

A Fondo

¿Son de verdad las interfaces gráficas mejores que la línea de comandos?

Publicado

el

línea de comandos Vs Interfaces gráficas

La consola de línea de comandos es una herramienta que lleva alrededor de 50 años entre nosotros, siendo la primera interfaz empleada para utilizar Unix, el sistema operativo que sentó las bases de cómo tienen que funcionar los sistemas operativos modernos, incluido Windows.

Sin embargo, décadas atrás las interfaces gráficas (GUI) se impusieron a las de comandos (CLI), haciendo que las últimas en la actualidad no sean necesarias para la utilización del sistema operativo a nivel básico. Esto incluye el gaming y otros círculos que en según qué canales pueden tener cierto pose avanzado, pero que en el fondo no hacen ninguna tarea propia de usuarios avanzados (esos benchmarkers de YouTube… ).

Por otro lado, en los últimos tiempos y sobre todo desde círculos afines al sistema operativo Windows la línea de comandos ha sido demonizada, siendo tachada de ser una interfaz atrasada, obsoleta y no acorde con los tiempos actuales. Sin embargo, ¿es eso cierto?, ¿se ha convertido la línea de comandos en una rémora solo utilizada por freaks sin vida social? A pesar de que los defensores de las interfaces gráficas y la consola de comandos se enzarcen por lo largo y ancho de la red, la realidad es que ambas son complementarias, teniendo cada una sus fuertes.

¿En qué superan las interfaces gráficas a la línea de comandos?

Las interfaces gráficas, ciñéndonos a lo más fundamental, tienen la ventaja de ser más fáciles de aprender y recordar debido a que los humanos tendemos a memorizar mejor los conceptos gráficos que los que están en formato texto. El tener los elementos visualizados constantemente en pantalla hace que el ejercicio necesario para memorizar y aprender sea mucho menor.

Por ejemplo, y tomando como ejemplo Ubuntu (Linux es un sistema acusado constantemente de ser dependiente de la consola), si el usuario quiere ir a la carpeta de Música desde la línea de comandos tiene que recordar qué comando usar y cómo escribe, aparte de tener que escribir el nombre de la carpeta o la ruta en la que se encuentra con el apoyo del tabulador para autocompletarla. Sin embargo, desde la interfaz gráfica solo hay que recordar el icono correspondiente al explorador de archivos y luego ir leyendo por las carpetas que aparecen hasta dar con la ubicación deseada.

Otra ventaja es la mayor facilidad para manejar aplicaciones que sobre todo lidian con gráficos. ¿Alguien se imagina utilizar una aplicación como Photoshop o Gimp desde una línea de comandos? Si bien desde el punto de vista técnico eso no es una imposibilidad, sí podría terminar haciendo el uso de dichas aplicaciones bastante más complejo, porque aparte de profundos conocimientos sobre manipulación de imágenes se necesitaría también unos buenos conocimientos de computación. En esos casos la interfaz gráfica resulta de gran utilidad, ya que reduce los conocimientos de informática necesarios para utilizar Photoshop y Gimp.

Gimp 2.10 en Ubuntu 18.04

Por último, sería importante recalcar que las interfaces gráficas ponen más facilidades para tener abiertos varios programas y aplicaciones a la vez, siendo de esta manera más flexibles que la línea de comandos.

¿En qué supera la línea de comandos a las interfaces gráficas?

¿Pero hay algo en lo que la línea de comandos supere a las interfaces gráficas? Pues posiblemente para sorpresa de algunos, la respuesta es sí, si bien ninguna de las tareas en las que se suele emplear la consola se ajusta al perfil de un usuario básico actual.

A pesar de que la curva de dificultad sea más difícil debido a que hay que memorizar los comandos y cómo escribirlos, una vez dominada resulta mucho más rápido de utilizar que una interfaz gráfica, ofreciendo además una mayor precisión y control de las acciones con un consumo de recursos mucho menor, además repetibilidad mediante la utilización de scripts.

Un ejemplo simple de la mayor rapidez de la línea de comandos frente a las interfaces gráficas lo tenemos aquí, donde se puede ver cómo se ha volcado los contenidos de dos ficheros, “fich1.txt” y “fich2.txt”, en un tercero, llamado “fich3.txt”. Hacer esto con una interfaz gráfica, por lo general, requeriría de tener abiertas al menos dos instancias de algún editor de texto como el Bloc de Notas de Windows, teniendo que copiar primero el contenido del primer fichero para pegarlo en el tercero y luego repetir la acción desde el segundo fichero.

Ejemplo simple de la rapidez de la línea de comandos

La mayor eficiencia, rapidez y precisión de la línea de comandos la vuelve ideal para la realización de muchas tareas avanzadas. Por ejemplo, el framework de creación de aplicaciones web Ruby on Rails se apoya en esa interfaz para la utilización de los generadores que permiten crear las páginas web y tratar con la base de datos, entre otras muchas cosas. Esto quiere decir que este tipo de interfaz sigue siendo muy utilizada entre los programadores, y de hecho un programador que no domina ningún interprete de comandos difícilmente puede llamarse programador, aunque Microsoft haya conseguido dejarla bastante de lado con el framework .NET y el IDE Visual Studio.

La consola también puede mostrarse más competente para la realización de ciertas tareas avanzadas en el sistema, y no solo en Linux, sino también en Windows, cosa que vimos en su momento con el tutorial sobre cómo borrar datos de forma definitiva.

En el mundo de los usuarios avanzados se tiende a usar ambas interfaces a la vez

Como ya hemos expuesto, cada interfaz resulta más competente para una cosa, por lo que no hay razones para confrontarlas y es más, lo más inteligente puede resultar combinarlas.

Aquí se muestra un ejemplo de un proyecto de Ruby on Rails siendo desarrollado y editado con Visual Studio Code, el conocido editor de código de Microsoft. Mientras los ficheros del proyecto pueden estar abiertos en la parte superior derecha, en la parte inferior se dispone de una consola para lidiar con los generadores, la base de datos y poner en marcha el servidor web.

Línea de comandos e interfaz gráfica combinados en Visual Studio Code para trabajar con Ruby on Rails en Ubuntu

Lo más leído