Comandos vs GUIs

A estas alturas del partido, si eres uno de los novatos en Linux, te abras dado cuenta que se usan comandos como:

sudo cd ~/tmp

Que resultan abrumadores y da miedo escribirlos, decides hacer los “copiar/pegar” en terminal y espera que no explote la computadora o se termine formateando el disco duro.
Ignorancia amigos, solo un poco de ignorancia.
Ese comando lo que hace es abrir la carpeta “tmp” que esta en tu archivero “mis documentos”; images,video,bin,dowload,tmp.
Entonces ¿por que usar comando? para sentirnos unos hakers rusos abriendo la matrix :P.


CLI (Command Line Interface)

CLI, se refiere a todo aquel programa que se ejecuta por línea de comando
En español, significa que cuando abres la terminal y ejecutas el programa CLI, la forma en como interactúas con el programa es mediante la misma terminal, es decir, escribes…

$ programa hacer esto

y la terminal te mostrara una respuesta como …

$ Estoy trabajando
$ termine
$ hice esto

Ej.
Si ejecutas el programa wget (gestor de descargas) con el “parámetro” de un archivo .png te llevaras una bonita sorpresa, vamos has lo en tu terminal, no tengas miedo.

wget https://tsunami-magazine.com/wp-content/uploads/2017/11/tsunami-128.png

Veras que te da un resultado y una serie de datos informativos.

GUI (Graphical User Interface)

GUI, es el programa que se muestra en una ventana y que resulta muy comodo de usar visualmente, tiene botonsitos “hacer esto” “hacer aquello” por todos lados.
Algo como esto.
Tsunami.Imagen


Tiempo de inicio

CLI no lo necesita, básicamente cuando escribes wget ya estas listo para ejecutarse, claro tienes que decirle que quieres hacer (pasar parámetros)
en otras palabras desde que ejecutas la terminal hasta que obtienes la imagen de ejemplo, pues tardas lo que tardas en escribir esto
wget (Control+Shift+V, para pegar la direccion) https…tsunami-128.png (Enter)

GUI necesitas irremediablemente esperar a que termine de “cargar”, dependiendo del programa esto puede tardar hasta un par de minutos cuando el mundo esta en tu contra (recuerdas; Word, Photoshop, todo en Windows).
Una ves tenemos la “ventana” podremos trabajar, bueno pues tendiéramos que hacer…
(Control+V, para pegar la dirección) https…tsunami-128.png (Enter o hacer clic con el ratón -mas tiempo-)

Conclusión, es mas rápido CLI.

Información

Generalmente los GUI tienden a ser mas visuales, muestran gráficas, imágenes, cambios en tiempo real (por decir algo).

Si hablamos de descargas, los GUI muestran la lista de descargas, porcentajes, etc

Si hablamos de gestionar archivos, digamos, quiero mover las fotos de la fiesta pasada, tendría que poner algo como
mv (mover) direccion/imagen.jpg direccionnueva/imagen.jpg

¿por cada una? bueno seguro hay formas de hacer lo, pero tendrías que aprender como usar los famosos comodines, etc y sinceramente es mas cómodo hacer Ctrl+click para seleccionarlas arrastrar y listo.

Conclusión, ambos son igualmente buenos, sus posibilidades depende de la tarea que deseas hacer

Productividad

Si aun no cierras la terminal puedes poner lo siguiente.

man wget

El resultado, el man-ual del programa wget. tiene decenas de opciones, -c, para continuar una descarga interrumpida, -i FICHERO, descarga las URLs que haya en FICHERO, -R lista, lista negra (rechazar archivos)

Muchos GUI para programas, jamás tendrán la misma cantidad de funciones ejecutables, pero también es cierto que tantas funciones para recordar, -c, -i, -R … y sus respectivos parámetros, terminan por confundir a los usuarios mortales.

Solo mira la imagen del GUI de wget, pasar datos a través de una interfase como esa es una perdida de tiempo.
Alguna vez fuiste a realizar un tramite en una tienda, banco o institución gubernamental, cuando el operador utiliza una GUI, tarda un par de segundos en encontrar la opción que necesita, luego en agarrar su ratón, dar unas vueltesitas para ubicarlo, hacer clic sobre la opción, regresar al teclado e ingresar los datos.

En una GUI el usuario se adapta al programa y el vaciado de información puede ser lento.
En una CLI el usuario adapta el programa a sus necesidades.
Generalmente están creados de manera simple e incluso tu podrías hacer un programa con los parámetros -d=dirección -t=teléfono -n=nombre y podrías ingresarlos así…
form (para formulario) -t 55123456 -n Nombre,Apellido -d “bla bla bla”
Notaras que el orden no importa y solo utilizaste el teclado, y terminaras convirtiéndote en un experto en usar solo el teclado.

Conclusión, (!Una vez dominado el programa¡) es mas rápido y productivo usar CLI, claro que es mas fácil dominar un GUI. Pero piénsalo, es mas rápido andar en bicicleta (1 sem. de aprendizaje) pero una vez que dominas un automóvil (1 Mes de aprendizaje) llegaras mas lejos y mas rápido.

Uso Intuitivo

el “uso intuitivo” o “interfase intuitivas”, se refiere a cuando ves la interfase de un programa como Word y Youtube, nadie tiene que darte un curso para que aprendas a ver vídeos, agregarlos a tu lista, hacer pausa, etc, los botones te van guiando y por simple lógica e intuición, sabes lo que tienes que hacer para obtener el resultado que quieres.
los GUI son o deberían ser mas fáciles de usar, por eso ves niños viendo vídeos y jugando con diferentes apps, porque no necesitan ingresar códigos raros, solo apretar botones y hacer un par de gestos con sus deditos. (o simplemente “Traen un chip que no vieras”)

Los CLI son muy poco o nada intuitivos, debes leer el manual que es algo como “wget [opciones]… [URL]…, Ej. wget -d -r -c o también puedes hacer wget -drc . deberías revisar cerca de 200 lineas de texto.
Digamos que te equivocas al momento de ingresar tu linea, wget -d -r c , olvidaste poner el “-” antes de “c” y entonces no pasa nada, no sabes porque, revisas una y otra vez hasta que te das cuenta, Mientras que en un GUI, generalmente te dice, error o enmarca en rojo el error.

Conclusión, GUI es muy fácil y cómodo de usar.

Extra-comunicación

Digamos que veo una imagen en internet y quiero descargarla, girarla, escalarla (hacerla mas chica), Ponerle el nombre “wallpaper tsunami” y guardarla en mis documentos->Imágenes->Wallpapers.
Tendríamos que copiar la dirección url, pegarla en nuestro gestor de descargas, clic en descargar, ir a descargas, abrir con, digamos photoshop, giramos, escalamos, archivo->guardar como-> navegar hasta la dirección documentos->Imágenes->Wallpapers. Esta operación puede tomar de 2 a 3 horas!, bueno no tanto pero es tardado.

Cuando usamos la terminal podemos hacer que diferentes programas se comuniquen entre si, y de esta forma decirle a la computadora todo eso que queremos hacer solo que con otro lenguaje.
wget http…blabla-img.png -o ~/tmp/wallpaper tsunami.png | imagick (algun editor) -g 180 | mv (mover) ~/tmp/wallpaper tsunami.png ~/Images/Wallpapers/wallpaper tsunami.jpg
Claro que esto es solo un ejemplo y creo que imagick ni siquiera existe y el comando -g lo invente. pero es una muestra de como seria.
Se que párese difícil pero ~/Images/Wallpapers/ se escribe mas rápido de lo que crees, si usas el o , las flechas de la izquierda.
Si pones ~/Im inmediatamente te dará como resultado ~/Images/ y ~/Images/W te entregara ~/Images/Wallpapers/.

Con los GUI, debes tener varios programas abiertos esperar a que cada uno termine para usar el siguiente.

Conclusión, depende mucho de la tarea que quieras hacer, si logras dominar el CLI puedes dominar al mundo entero, pero algunas GUI son lo suficiente mente buenas que no necesitas aprender códigos y escribir cosas todas raras, con riesgo a que te equivoques.

Profesional y elegante.

Bajo la filosofía “Menos es más” se esconde un dominio de la situación, administración de recursos, etc.
pensemos en “Jason Bourne”; esta en una casa desconocida, frente a un asesino y utiliza una revista, bolígrafo y movimientos de defensa personal con sus manos, frente a una pistola automática y un cuchillo.

Si tienes frente a ti un problema y sabes salir victorioso con la menor cantidad de recursos y un par de movimientos, eres profesional y elegante (bueno, algo así)

Si encuentras un programa que te resuelve tus necesidades con la menor cantidad de recursos y un par de movimientos no importar si es GUI o CLI, cómpralo, realiza una donación o apoya de algún modo el proyecto.

Conclusión; Si hacemos un recuento vemos que es “mejor” usar CLI, pero “mejor” es relativo a tus necesidades.
Si estas dispuesto a aprender a utilizar programas CLI, te tomara un tiempo, es posible que tengas que buscar información y apoyo en foros de ayuda, de paso aprender Englis, un poco de programación, y magia oscura.
Pero velo como una inversión a largo plazo, en un par de meses podrás sacar el máximo poder a una computadora, reducir tu tiempo de trabajo significativamente, verte como un haker al mas puro estilo de “Watchdog”.
Incluso si terminas aprendiendo un poco de programación y podrás realizar pequeños scripts para hacer lo que quieras, literalmente lo que quieras.

Claro que hay GUI que son tan rápidas, cómodas y bonitas que es “mejor” tenerlas siempre a la mano.
Generalmente las GUI ayudan cuando lo que tenemos que hacer requiere constante supervisión y toma de decisiones, como seleccionar mis imágenes favoritas y moverlas a otra carpeta, editar un documento importante donde es vital la presentación, por ejemplo navegar por internet.

¿Cuales son tus GUI que mas usas?
¿que actividad es la que mas haces en tu dia a dia?

Referencias:
Link

¿Que opinas?
  • Fascinated
  • Happy
  • Sad
  • Angry
  • Bored
  • Afraid

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *