>
MENU

Hacking del BIOS (Parte V)

Un tutorial per cominciare a scrivere applicazioni per il...

5 dicembre 2007 Visualizzazioni: 614 Focus

10 motivi per cui la riga di comando è più user friendly della GUI (2/2)

Dopo l’articolo di qualche giorno fa, che è stato oggetto di numerosi commenti da parte dei nostri lettori, ecco il prosieguo con altri cinque punti a favore della riga di comando.


6. E’ possibile automatizzare i comandi

Se non si vuole memorizzare tutti i comandi (eccetto quelli di uso comune) è possibile far uso dei comandi una sola volta. Dopo di chè è possibile salvarli in uno script ed eseguirli alla pressione di un tasto o “darli in pasto” a cron per eseguirli automaticamente. Non c’è lavoro di computing sulla Terra che non possa essere ridotto ad un singolo script o ad un insieme di script, a patto che si faccia uso di un buon ambiente di scripting.

7. I comandi sono più facili da ricordare rispetto ai click

La nostra mente memorizza meglio le parole piuttosto che le sequenze spaziali di movimenti. Risulta molto difficile mostrare a qualcun’altro come realizzare una certa operazione con il mouse, senza avere di fronte il computer. Al contrario dopo aver imparato un comando è più semplice memorizzarlo dovendo ricordare una sola parola o una successione di parole (comandi) correlate in maniera logica.

8. Le interfacce grafiche cambiano spesso

Ciascuno vuole reinventare un insieme di widget, progettare lo scroll wheel, riprogettare la finestra di dialogo, mettere il proprio marchio sull’interfaccia grafica. Dietro il disegno dell’interfaccia grafica c’è molto spesso una flame war per decidere semplici cose come ad esempio la locazione di un menù o l’uso di una spin-box piuttosto che di una combo-box. Questo molto spesso porta a versioni dello stesso software con i comandi posizionati in posti diversi. Ciò può generare molta confusione per l’utente. Invece i comandi da riga di comando sono stati realizzati sempre allo stesso modo.

9. I comandi sono più error-safe

Qualcuno potrebbe obiettare a questo articolo affermando che digitando il comando “rm -rf ./*” o “del *.” nel posto sbagliato c’è il rischio di ripulire il proprio filesystem e perdere file importanti. L’obiezione sarebbe giustissima ma nella pratica solo raramente può accadere una cosa del genere. Con l’interfaccia grafica, invece, accade spesso di cliccare ‘yes’ o ‘allow’ in una finestra sbagliata, cliccare il pulsante sbagliato o chiudere la finestra quando si vuole solo rimpicciolirla, aprire il file sbagliato in una finestra di dialogo, selezionare l’azione sbagliata in un menù ed altro ancora (la lista sarebbe lunga). Il mouse necessita di intensa coordinazione oculo-manuale e concentrazione per selezionare un target molto piccolo, e in caso di errore l’azione scelta viene messa in pratica in maniera istantanea.

La linea di comando, invece, non entra in azione finchè non si preme “Invio”. In tal modo è possibile leggere prima di confermare per essere sicuri che il comando digitato rispecchi quello che si vuol fare. In questo modo la mente è realmente concentrata sull’operazione che si vuol realizzare piuttosto che su azioni da realizzare con precisione millimetrica.

10. E’ necessario scrivere con la tastiera per usare un computer in ogni modo

E’ possibile avere un computer senza mouse dato che tutti i sistemi operativi e la maggior parte dei programmi sono progettati per accettare comandi da tastiera. Ma se si vuol fare tutto con il mouse, scollegando la tastiera dal computer? Come si potrebbe usare il computer? Come si potrebbero usare editor, chat, email? Indipendentemente da quanto si ami la propria interfaccia grafica, si passerà la maggior parte del tempo davanti al computer usando la tastiera.

Tutti d’accordo?

PUNTATE PRECEDENTI:
3 Dicembre: 10 motivi per cui la riga di comando è più user friendly della GUI (1/2)

di Francesco Argese - TuxJournal.net

twittergoogle_pluslinkedinmail
  • IlDruido

    Era dai tempi del vecchio Dos 6 che non usavo così tanto la shell, e riscoprirla mi ha fatto molto piacere, soprattutto perchè implica una reale conoscenza di quello che si sta facendo.
    Rispetto all’articolo, io cambierei “user-friendly” con “brain-friendly”, perchè dover usare la riga di comando obbliga a collegare il cervello, e non a fare movimenti a caso sullo schermo, aprendo tutti i menù fino a che non si trova quello che si pensava di stare cercando.
    Ferma.
    Pensa.
    Agisci.
    E poi io ho sempre pensato che ogni click del mouse “facesse veci” di una sequenza di comandi, ogni menù fosse esso stesso una scelta tra alcuni comandi (o opzioni di comandi).
    Confesso però che usare solo la riga di comando mi mette in difficoltà…
    Ciao!

  • http://www.santbaniashram.it/dass/ Dass

    io si

    in aggiunta io considererei una cosa:
    linux E’ la shell! ci puoi mettere SOPRA kde, gnome, xfce, qualcosa in ncurses…ma linux è la shell, e i comandi base della shell sono comuni a tutte le distribuzioni. Sono di fatto l’unica cosa standard che esiste su linux.
    Non si può dire di “usare linux” o “conoscere linux” se sappiamo usare che so, gnome, e basta.

  • luca

    @Dass
    la shell è un componente fondamentale di linux come di unix. Io kde non lo so usare perchè l’ho usato pochissimo (anche se aspetto con ansia la versione stabile del kde 4, uscirà l’11 gennaio, per installarla, uso da sempre gnome, è chiaro che nemmeno xfce posso dire di saperlo usare. Saper usare linux, vuol dire anche, oltre alla shell, il filesystem e i suoi processi.

  • King

    Finita la lista degli improbabili motivi? :)
    Il famigerato “terminale” è una delle principali cause di spavento dei neofiti. Sarà anche tutto giusto quel che è stato scritto, ma credo proprio che una interfaccia grafica sia sempre molto più rassicurante di una miriade di filastrocche incomprensibili da digitare per eseguire qualsiasi comando.

  • Nap

    il terminale è innegabilmente comodo, ma i motivi addotti mi sembrano davvero poco validi…

  • http://dezone.wordpress.com FDG

    6) L’automazione di attività è lo scopo per cui esistono i linguaggi di scripting. Esistono sistemi in cui le applicazioni dotate di GUI espongono le proprie funzionalità ad un sistema di scripting condiviso (si pensi ad AppleEvents + AppleScript su OS X), così che sulle stesse applicazioni è possibile costruire strumenti di automazione di procedure. Tuttavia le GUI sono orientate ad una manipolazione diretta delle informazioni in cui il risultato della manipolazione costituisce un feedback visivo immediato per l’utente. Analogamente il limite della linea di comando è che questo feedback non esiste in quanto bisogna attendere il termine dell’esecuzione del comando per poter vedere il risultato ottenuto. Quindi l’utente non può cambiare decisione in corso d’opera. Spiego meglio con un esempio: ridimensionare una colonna in un foglio di calcolo. Il drag del margine della colonna viene eseguito mentre l’utente decide quanto deve esser grande la colonna; un comando equivalente su una shell richiede a priori all’utente di conoscere quale sia la dimensione corretta da passare come parametro, che si traduce in un buon numero di tentativi con conseguente perdita di tempo.

    7) A me risulta che la memoria visiva funzioni meglio. Sapete orientarvi nella vostra città? Eppure quanto è facile per voi ricordare a memoria un percorso che vi viene indicato in termini di istruzioni che vi vengono dettate in italiano per raggiungere una destinazione in una località che non conoscete? Se invece siete voi a dover indicare una strada, quanto è difficile ricostruire le indicazioni corrette?

    8) Mi ricollego a quanto detto a proposito del punto 4 del precedente articolo: questo avviene purtroppo perché lo sviluppo delle GUI non è tenuto in giusta considerazione (non è neanche vero che i comandi siano così facili da ricordare e che la loro sintassi sia coerente). Purtroppo coerenza ed intuitività sono anche una conseguenza della qualità del disegno dell’interfaccia e non solo degli strumenti di base. In teoria un disegnatore d’interfaccia (chi è questo sconosciuto?) dovrebbe rifarsi a linee guida standardizzate e ad un insieme di conoscenze che spesso non fanno parte del bagaglio culturale di un programmatore.

    9) A parte che si sbaglia continuamente anche sulla shell, potrei osservare che alcuno degli esempi indicati sono esempi di cattivo disegno dell’interfaccia: si fa click sul pulsante sbagliato perché le applicazioni non rispettano tutte una disposizione coerente dei pulsanti su cui si possa fare click in modo istintivo; si chiude accidentalmente la finestra invece di ridimensionarla perché l’area di ridimensionamento è stretta e collocata troppo vicino ad un pulsante con una funzione totalmente differente. Mentre con un adeguato rispetto di certe norme comandi pericolosi devono riceve necessaria conferma. Nella shell si presume che l’utente sappia quello che fa, mentre spesso non è vero. Nelle GUI dovrebbe esser vero il contrario (condizionale d’obbligo per quanto detto prima). Insomma, è più facile pensare ad una alert che chiede conferma del fatto che vogliamo cancellare tutto il contenuto del disco che ad un equivalente messaggio presentato dopo aver richiamato il comando rm -rf /

    10) Non capisco perché si dovrebbe usare un computer senza mouse o senza tastiera o, per generalizzare, senza i dispositivi necessari per poter interagire col computer. E poi tra mouse e tastiera è più importante il… monitor. Prova a lavorare con mouse e/o tastiera senza monitor!

  • http://www.santbaniashram.it/dass/ Dass

    io non dico che bisognerebbe lavorare senza interfaccia grafica, dico solo che se una persona è intenzionata a imparare a usare linux, dovrebbe un pò alla volta imparare i comandi base di linux… ricordo che all’università si usava solo linux (informatica alla sapienza). Io avevo la fortuna di masticarlo un pochetto, ma il prof diede a tutti un paio di pagine spillate coi comandi base.
    Nessun manuale su quali applicazioni ci fossero in kde o gnome… queste cose si imparano con l’intuito, per i comandi ci vuole un pò di interesse e voglia.
    Il pc si può usare anche solo graficamente, anche con linux ormai (non proprio per ogni cosa, secondo me). Ma la conoscenza della shell apre a molte altre possibilità.
    Poi ovviamente le cose si mischiano, tante volte trascino un file da konqueror a konsole, ad esempio. Provate!