>
MENU

Hacking del BIOS (Parte III)

k1.jpg

Kerneler: ecco come ricompilare facilmente il kernel

3 dicembre 2007 Visualizzazioni: 521 Focus

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

Molti utenti GNU/Linux preferiscono usare la propria distribuzione tramite riga di comando piuttosto che sfruttare l’interfaccia grafica. Di seguito vengono riportati alcuni tra i motivi principali di questa scelta.


1 . La tastiera è più veloce del mouse

Qualcuno potrebbe “storcere il naso” su questo primo punto; per spiegare questa affermazione è necessario porsi una domanda: perché tutti i programmi con interfaccia grafica sono pieni di keyboards shortcuts? E perchè sono chiamati proprio shortcuts? Perchè fare la stessa operazione con il mouse richiede più tempo.

2. E’ più facile fornire aiuto sui forum

Ogni sistema Debian contiene il pacchetto synaptic e il suo uso è molto diffuso tra gli utenti. Eppure, se si chiede ad un utente synaptic come fare ad installare un determinato pacchetto, con molta probabilità risponderà con un comando apt-get. Un esempio a tal proposito sono i forum, dove, quando si parla di installazioni, si parla molto più spesso di apt-get piuttosto che di synaptic perchè in tal modo è più facile esprimere cò che si vuole dire piuttosto che spiegare tutte le operazioni da fare sull’interfaccia grafica.

Se ad esempio si dovessero spiegare tutte le operazioni da fare con l’interfaccia grafica si dovrebbe scrivere una sequenza di istruzioni come queste: “Vai quì, fai doppio-click, clicca questo pull-down, clicca l’arrow, clicca ‘yes’, clicca ‘edit’., ecc..“. Questo si applica a tutti i sistemi operativi; anche sotto Windows e Mac OS X. E’ più facile definire un’azione in comandi da riga di comando piuttosto che descrivere le azioni del mouse.

Un altro esempio molto pratico (non concernente l’informatica) è la consegna delle lettere per un postino. Il postino possiede solo due informazioni, via e numero civico, invece di avere istruzioni del tipo: “Vai giù sulla strada principale, gira a sinistra, vai all’ottavo edificio sulla sinistra, sali le scale“.

3. Le ingiurie da stress ripetitivo generate dal mouse

Se si prova a fare qualcosa con la tastiera per un attimo e poi qulcosa con il mouse per un attimo si percepiscono diverse sensazioni alle mani. Si può notare che quando si gioca a Diablo o a Starcraft, la mano destra ha crampi terribili dopo un paio di ore di gioco continuate. Ma è possibile giocare a Nethack tutto il giorno e non sentire alcun dolore. Ciò dipende dal fatto che se si fa il lavoro di due mani e dieci dita con un solo polso e tre dita si avrà uno stress a causa del movimento ripetitivo.

4. I comandi sono standard mentre le interfacce grafiche no

Come è possibile trovare una parola in un documento usando una interfaccia grafica? Cliccare su “edit - find and replace“? Cliccare su “view - find“? Cliccare su “find - search page“? E’ presente un’opzione su una finestra di dialogo in alto o al lato? La finestra di ricerca è separata dalla finestra per la sostituzione delle parole o sono combinate? La finestra di dialogo è in grado di capire una espressione regolare? Dipende da quale programma si sta usando, e molto spesso anche dalla versione dello stesso. Inoltre, in base alla piattaforma utilizzata, esistono una dozzina di tools con interfaccia grafica per realizzare la stessa operazione. Se si lavora con distribuzioni diverse come si fa a capire quali tools con interfaccia grafica si hanno a disposizione?

Come è possibile trovare una parola in un documento usando la linea di comando? Grep! E’ diponibile su qualsiasi sistema operativo Unix-like e anche su Mac e su Windows; inoltre funziona sempre allo stesso modo su qualsiasi piattaforma.

5. I comandi sono molto potenti

Non importa se una interfaccia grafica abbia un aspetto gradevole e sia ben progettata, esiste sempre qualche operazione di cui si potrebbe avere bisogno, per cui i progettisti dell’interfaccia grafica hanno dimenticato di inserire un menu item. Invece i comandi possono essere adattati (ad esempio tramite pipe) per eseguire l’operazione necessaria. Soprattutto quando si ha la necessità di ripetere la stessa operazione più volte. Ad esempio, se si vuole ridimensionare un insieme di immagini come thumbnail su un tool con interfaccia grafica si dovrà lavorare tutto il giorno, mentre con la riga di comando facendo uso di script è possibile automatizzare l’operazione e risparmiare una notevole quantità di tempo.

Un’altro esempio può essere la decompressione di un certo numero di file scaricati, rinominarli tutti seguendo uno schema specifico, e spostarli tutti in directory differenti. L’interfaccia grafica può essere considerata buona solo per casi d’uso limitati e azioni specifiche.

Alla prossima puntata!

di Francesco Argese - TuxJournal.net

twittergoogle_pluslinkedinmail
  • Fabrizio Cinti

    Verissimo, se non c’è bisogno di elaborare layout grafici (word processor, spreadsheet, etc.) la linea di comando associata ad un buon file manager è una comodità insuperabile.

    Aneddoto di poco fa: ho ricevuto in email una trentina di file zip contenenti file sql da 10-15 mb l’uno (decompressi).
    Dovevo usarli per ricreare un database, ma prima dovevo cambiare i nomi di alcune tabelle al loro interno.

    Salvati gli zip in una directory, ho risolto così:

    unzip -t *.zip && unzip *.zip && for file in *.sql; do cat $file | sed ‘s//file.sql; mysql -u root -p -database

  • Fabrizio Cinti

    vedo adesso che il cms ha filtrato il comando che ho scritto, forse dovevo usare un tag per il codice? Cmq concludevo dicendo:

    “in meno di un minuto il db era pronto.

    P.S.: ai tempi di Windows ME, Microsoft voleva eliminare completamente il prompt perché lo riteneva obsoleto… ma quanto utonti dovevano considerare i loro utenti???

  • http://www.alphaoneweb.com alphaone

    ma ragazzi ma siamo fulminati?

    il prompt dei comandi confrontato con la GUI?

    Volete mettere la comodita di un “point and click”?

    Sono un utente Linux discretamente pro ma nonostante questo di fronte a illazioni di questo tipo rimando sempre molto perplesso!

  • zioceres

    L’interfaccia grafica ha senz’altro una sua comodità, ma credo che per operazioni massicce, la linea di comando sia insostituibile.

  • http://doppiavu.wordpress.com doppiaVu

    sono pienamente d’accordo con il post, quando si ha la possibilità di fare qualcosa sia da shell sia da gui (o più in generale sia col mouse sia con la tastiera) è decisamente più rapido farlo da shell (o in generale da tastiera).

    @alphaone
    secondo me a livello di comodità dipende molto da come uno è abituato (io ad esempio mai mi sognerei di usare il mouse per selezionare dei file per copiarli/tagliarli/incollarli o rinominarli, mentre la maggior parte delle persone che conosco mai e poi mai si sognerebbe di usare le shortcut da tastiera per queste operazioni) però a livello di velocità credo proprio che sia innegabile il fatto che usare il mouse è decisamente più lento.

  • http://dezone.wordpress.com FDG

    Una serie di osservazioni sui punti fino ad ora esposti:

    1) Dipende dal genere di operazione. Ad esempio, provate a selezionare e spostare un qualsiasi frammento di testo.

    Il mouse non è stato inventato come antagonista della tastiera, ma come supporto ad un’interfaccia grafica punta e clicca. Questo non ha impedito agli ideatori di queste interfacce di far ricorso alla tastiera dove questa fosse più comoda (come negli shortcut).

    2) Immaginate di essere davanti ad un bel panorama e di doverlo descrivere a parole. Complicato, no? In realtà esiste un metodo più semplice per descrivere quel panorama: fagli una foto.

    Questo dovrebbe farvi riflettere su cosa sia realmente l’intuitività.

    3) Quando si lavora non si usa il mouse come se si giocasse a starcraft.

    4) Purtroppo il disegno delle interfacce grafiche non è considerato un lavoro così che nello sviluppo è una parte a cui non viene dedicato sufficiente tempo. E col tempo all’aumentata complessità dei compiti svolti con un’interfaccia grafica non c’è stato un adeguato aumento degli sforzi tesi a modellare interfacce intuitive e coerenti. Se guardate le GUI dei primi sistemi grafici noterete una cura decisamente migliore di quella che mediamente si può riscontrare ora.

    Di per se la coerenza non è legata a questa o a quella soluzione d’interfaccia ma al fatto che una certa regola venga rispettata. Adesso faccio un esempio in negativo relativo alla riga di comandi. Qual’è l’opzione che indica la ricorsività di certe operazioni sui file? -r o -R? Purtroppo non sono la stessa cosa e non vengono usati allo stesso modo ovunque. Altro esempio: nelle opzioni il trattino è obbligatorio o no?

    5) Dipende molto dal contesto. Ci sono operazioni per cui l’espressività del gesto è superiore a quella del comando mnemonico (banalmente pensate ad un software di grafica). In altri casi, come l’automazione di procedure, un linguaggio mnemonico è decisamente più espressivo. Anche se a proposito della programmazione, non è raro vedere descritto il comportamento del software usando un simbolismo grafico (si pensi a UML).

  • Freedom

    certo è che nel momento i cui ci si trovi a fare operazioni nuove si è obbligati a spulciare documentazione su documentazione per trovare il corretto uso dei comandi…. mentre con una GUI ed una rapida occhiata ai menu ed ai pannelli si è a posto!

  • Smocco

    Completamente in disaccordo.

  • flux

    post ineccepibile… complimenti!

  • Alex

    Nel modo più assoluto in disaccordo con questo post.

  • /V

    In realta’ questi sono ottimi spunti di riflessione per chi volesse mai decidersi a rinnovare il concetto di GUI, che come tutti gli studiosi di interazione uomo macchina sottolineano, e’ la stessa da 30 anni. 40 un realta’, ma il sistema presentato nel 69 era troppo innovativo e non e’ stato adottato in toto da sistemi d’oggi.

    Per dire, non dovrebbero essere punti di forza della shell, ma debolezze delle GUI da migliorare:
    “1 . La tastiera è più veloce del mouse”: Non e’ una novita’ che i percorsi del mouse andrebbero ottimizzati, ci sono fior fior di studi circa nuovi paradigmi grafici per ottimizzare le attivita’ via mouse.

    “2. E’ più facile fornire aiuto sui forum” sempre vero, pero’ le gui puo’ essere migliorata di molto. Io resto convinto del fatto che un’interfaccia grafica perfetta e’ un’interfaccia che riesci a controllare per telefono, nel senso che se riesco a fare qualunque cosa con facilita’ descrivendo le azioni e cosa vedo a schermo a mio padre che di pc non ne sa nulla, allora e’ una buona interfaccia.

    “3. Le ingiurie da stress ripetitivo generate dal mouse” questo non e’ un difetto delle GUI in generale, e’ un difetto delle GUI di oggi! E purtroppo si sente tanto…

    “4. I comandi sono standard mentre le interfacce grafiche no” questa scusa ma e’ molto superficiale come considerazione: un sistemista windows che si fa anceh il cafe’ via batch non credo riuscirebbe a tirare fuori in tempo zero l’equivalente di uno shell scrpt. E poi l’inconsistenza delle interfacce grafiche sta sempre piu’ scemando. Non avranno lo stesso nome, ma fidati che il copia e’ nel secondo menu, il print e’ sotto file, il penultimo menu gestisce le finestre se siamo in un applicazione MDI e l’ultimo e’ l’help. Oltre questo beh…esiste una cosa chiamata varieta’ del software e non ci si puo’ far molto :-D

    “5. I comandi sono molto potenti” scusa ma che centra “potente” con “user friendly”?
    Riscrivi la frase in italiano per rendertene conto meglio: “perche’ la riga di comando e’ piu’ facile dell’interfaccia grafica? perche’ e’ piu’ potente” “perche’ tizio e’ piu’ alto di caio? perche’ e’ piu’ biondo”

    Che centra potenza e facilita’?

  • http://www.free-box.org monossido

    Concordo con l’articolo
    le gui hanno sicuramente il vantaggio di essere più intuitive…ma se uno sa come usare la shell non c’è paragone ;)

  • ringhio

    quoto monossido! magari user friendly no… ma sicuramente più efficace!
    La shell richiede solo più attenzione quando digiti… attenzione alle dita che scivolano su un tasto in più!
    Windows senza prompt????? Sarebbe stato ingestibile!!!!!

  • http://www.multiplayer.it Daniele

    Sono un sistemista per un sito internet discretamente importante.

    Amministro 47 server debian, in nessuno ho l’interfaccia grafica.
    :-)

    • Franco Fait

      neppure ti servirebbe, ma l’ utente finale non è un sistemista , non deve amministrare 47 server , al limite col suo pc ci gestisce una piccola lan casalinga composta da 2 o3 non più postazioni. . No puoi pretendere che assuma un sistemista per farlo

  • http://www.plokko.it plokko

    …io sono sempre stato dell’idea che servono entrambe:
    certo la gui è molto piu potente ma se dobbiamo leggerci l’intera guida prima di capire come si utilizza un programma che magari utilizzeremo una volta sola nella vita è uno spreco di tempo,io invece preferisco tenere entrambe visto che le gui sono ottime per avere sottocchio tutte le variabili e passare comodamente da un programma all’altro tenendo a console i comandi piu comuni o comunque semplificabili a riga di comando.

    Per il resto ricordo nell’ambito gui che l’editor lilo di kde è totalmente inutilizzabile(tutte le volte che l’ho provato per evitare di andare di riga di comando ha sempre scritto caxxate immonde in tutte le versioni) quindi pur permettendo di vedere senza sapere dove e come si mettono le impostazioni,la console in certi momenti è indispensabile(in win quando faremo azioni massiccie di punta-clicca ripetitive la rimpiangeremo!!!).

  • Francesco

    @/V “5. I comandi sono molto potenti” scusa ma che centra “potente” con “user friendly”? Riscrivi la frase in italiano per rendertene conto meglio: “perche’ la riga di comando e’ piu’ facile dell’interfaccia grafica? perche’ e’ piu’ potente” “perche’ tizio e’ piu’ alto di caio? >perche’ e’ piu’ biondo” Che centra potenza e facilita’?

    Ok forse non mi sono spiegato perfettamente. Comunque era da intendere “più facile perchè più potente”. Infatti tramite la potenza di alcuni comandi shell è più facile fare talune operazioni. Effettivamente hai ragione forse rende meglio l’idea “efficace”…

    P.S.: presto ci sarà la seconda parte dell’articolo

  • Carl

    A quando un articolo su come sia molto meglio la grafica EGA a sedici colori delle varie SVGA e XGA ????

    • Franco Fait

      e che c’ entra la scheda grafica conla riga comando . Nulla impedisce di utilizzare le schede di qualsivoglia generazione , sono tutte e solo periferiche . in windows il videogioco è sbarcato in modo pressoche definitivo solo ad inizio anni 2000 con l’ introduzione da parte di microsoft di XP .

  • isidoro

    Non sono un utente linux, anche se mi ci stò avvicinando con interesse e ovviamente essendo un utente abbastanza pro di windows, mi rendo conto dell’importanza della linea di comando… ma da qui a dire che sia più comoda dell’interfaccia grafica credo che sia un pò troppo azzardato.
    Sicuramente la linea di comando essendo la base di partenza permetterà un numero di cose ed una flessibilità maggiore, ma anche richiede la conoscenza di tutti i comandi e la necessità di fare tutti i passaggi senza saltare maschere…
    Bene dato il mio parere approfitto per chiedere una cosa che non sò se c’è in ambiente linux e se si come realizzarla…
    esiste la possibilità di fare dei file batch in linux come in dos? se si, vi prego spiegatemi come…se è no…allora credo che sarebbe uno dei grossi handicap di linux…

    • Franco Fait

      esiste per qualunque SO , bash non è nato in windows , esisteva già da lunghissimo tempo quando neppure esisteva ancora Microsoft , ed essendo linguaggio interpretato è di conseguenza anche multipiattaforma . La riga di comando è inalienabile , le gui sono solo interfaccie di comunicazione fra operatore e computer , la stessa scheda grafica lo è , sempre e comunque.

  • Franzmaximilian

    “A quando un articolo su come sia molto meglio la grafica EGA a sedici colori delle varie SVGA e XGA ????”

    Vearamente io mi trovavo benissimo con la grafica Hercules in b/n…..
    E per il 70% di quello che faccio al computer mi sarebbe ancora sufficiente.
    La grande differenza fra GUI e riga di comando, nella mia esperienza è che la GUI mi mostra tutte le possibilità (se ben fatta ovviamente), mentre con la riga di comando devo sapere già cosa voglio. Per ritornare all’esempio iniziale, se voglio installare Firefox apro la shell e scrivo “sudo apt-get install firefox”. Se invece devo cercare nei repository un browser che si adatti alle mie esigenze aprirò Adept Manager e farò una ricerca, poi visto che son li userò il programma anche per installare… Ogni cosa ha la sua funzione ed i suoi vantaggi: basta con le guerre di religione!

  • /V

    @Francesco: ottimo chiarimento, francamente era piu’ un problema di forma che d’altro, anche perche’ casomai non l’avessi notato bisogna andarci coi piedi di piombi quando si fanno certe affermazioni qui che ti si magnano vivo come sgarri di tanto :-D.

    @isidoro: credo che uno dei punti di forza sottintesi nell’articolo sia proprio la maggiore flessibilita’ degli script sotto linux. Per farla breve, puoi fare script essenzialmente in qualunque linguaggio interpretato (perl, python…) anche se il piu’ diffuso a livello di shell script (si chiamano cosi’ i batch sotto linux) e’ proprio il linguaggio interno della shell bash (o di chi per lei, bash e’ il nome di una delle shell piu’ diffuse per linux, l’equivalente del prompt del cmd.exe di windows).

    Essenzialmente, basta che un file di testo abbia dei permessi di esecuzione e che cominci con una riga particolare (contenente il percorso dell’interprete che userai) e puoi fare script potentissimi in qualunque linguaggio interpretato.

    Molti dei comandi con cui si ha a che fare nei sistemi *nix sono di fatto degli script, solo che non ce ne si rende conto…

    Prova a guglare “bash tutorial” per saperne di piu’!

  • http://www.motumboe.net motumboe

    ovviamente dipende dal tipo di task che si deve compiere. In generale, comunque, la tastiera richiede una fase di apprendimento più lunga che poi viene compensata da una maggiore facilità di utilizzo.
    Mi sposto su un campo contiguo a questo: ad esempio Blender fa un utilizzo massiccio della tastiera, si impiega un sacco di tempo ad imparare ma poi in poco tempo si fanno cose che se si dovesse ricorrere ai menu e sotto menu richiederebbero molto più tempo.

  • domi84

    Secondo me l’unica cosa sbagliata qui è una parola nel titolo: “user friendly”.
    La riga di comando è molto potente…fa miracoli…ma NON è user friendly…

  • myname

    Uso spesso la shell, con dwm.

    Ma l’articolo è banale, e non spiega le vere differenze. Sarebbero state opportune altre considerazioni, più serie, che quella del postino, dell’aiuto su forum, etc….

  • http://www.tuxjournal.net argesino

    @myname: Quali considerazioni sarebbero state più opportune a tuo avviso? se ne potrebbe parlare in un altro articolo eventualmente… o potremmo aprire un post sul forum dove chiunque può dare il proprio parere …
    fammi sapere
    ciao

    P.S.: Comunque l’esempio del postino era solo un esempio :-D

  • mARCO

    si vede che non hai giocato abbastanza a Starcraft.. non ho MAI avuto crampi usando il mouse, MAI :D (e c’ho giocato ore ed ore di fila!)