L'interfaccia utente grafica (GUI; a volte pronunciata "gooey") è oggi utilizzata dalla maggior parte dei sistemi operativi e dei programmi software più diffusi in commercio. È il tipo di interfaccia che consente agli utenti di manipolare elementi sullo schermo utilizzando un mouse, uno stilo o persino un dito. Questo tipo di interfaccia consente ai programmi di elaborazione testi o web design, ad esempio, di offrire opzioni WYSIWYG (ciò che vedi è ciò che ottieni).
Prima che i sistemi GUI diventassero popolari, i sistemi a riga di comando (CLI) erano la norma. Su questi sistemi, gli utenti dovevano inserire comandi usando righe di testo codificato. I comandi variavano da semplici istruzioni per l'accesso a file o directory a comandi molto più complicati che richiedevano molte righe di codice.
Come puoi immaginare, i sistemi GUI hanno reso i computer molto più intuitivi rispetto ai sistemi CLI.
Un computer con una GUI ben progettata può essere utilizzato da quasi tutti, indipendentemente da quanto tecnicamente esperto potrebbe essere l'utente. Considerare i sistemi di gestione della liquidità, o registratori di cassa informatici, oggi in uso nei negozi e nei ristoranti. Inserire le informazioni è semplice come premere numeri o immagini su un touchscreen per effettuare ordini e calcolare pagamenti, siano essi contanti, credito o debito. Questo processo di immissione delle informazioni è semplice, praticamente chiunque può essere addestrato a farlo e il sistema può archiviare tutti i dati di vendita per successive analisi in innumerevoli modi. Tale raccolta di dati era molto più laboriosa nei giorni precedenti le interfacce della GUI.
Immagina di provare a navigare sul Web usando un sistema CLI. Invece di puntare e fare clic sui collegamenti a siti Web visivamente sbalorditivi, gli utenti dovrebbero richiamare directory di file basate su testo e forse dovrebbero ricordare URL lunghi e complicati per inserirli manualmente. Sarebbe certamente possibile, e quando il sistema CLI dominava il mercato, il calcolo era molto prezioso, ma poteva essere noioso e generalmente limitato alle attività legate al lavoro. Se visualizzare foto di famiglia, guardare video o leggere le notizie su un computer di casa significava dover memorizzare input di comandi talvolta lunghi o complessi, non molte persone lo troverebbero un modo rilassante per passare il loro tempo.
Forse l'esempio più ovvio del valore della CLI è con coloro che scrivono codice per programmi software e web design. I sistemi di interfaccia grafica rendono le attività più accessibili agli utenti medi, ma combinare una tastiera con un mouse o un touchscreen di qualche tipo può richiedere molto tempo quando la stessa attività può essere eseguita senza dover distogliere le mani dalla tastiera. Coloro che scrivono il codice conoscono i codici di comando che devono includere e non vogliono perdere tempo a puntare e fare clic se non è necessario.
L'immissione manuale dei comandi offre anche la precisione che un'opzione WYSIWYG in un'interfaccia GUI potrebbe non fornire. Ad esempio, se l'obiettivo è creare un elemento per una pagina Web o un programma software che abbia una larghezza e un'altezza precise in pixel, può essere più veloce e più preciso inserire tali dimensioni direttamente piuttosto che provare a disegnare l'elemento con un topo.