Primi cenni sul software, seguendo la traccia del syllabus ECDL/ICDL per il modulo Computer Essentials – concetti base del computer.

Definizioni

L’insieme delle istruzioni per far funzionare un computer (o uno smartphone), e per fargli compiere le azioni di interesse per l’utente, è detto “programmi” o “software”.
Esistono almeno due tipi di software:

  • il software di base (o “il sistema operativo”) è il software che deve essere necessariamente installato sul nostro dispositivo (è il software che permette il funzionamento di base del computer/smartphone)
  • il software applicativo (o “le app” o “le applicazioni”) è il software che permette di svolgere una determinata funzione (ad esempio una calcolatrice per fare i calcoli, un videogioco per giocare, un browser per navigare in Internet e così via)

Il software può essere installato sul proprio dispositivo (computer, tablet, smartphone) oppure essere disponibile online (ossia solo quando si è connessi ad Internet).

Software di base

Il sistema operativo è composto da un insieme di programmi che ha il compito di garantire il corretto funzionamento di tutte le componenti hardware e software. Si pone fra l’essere umano e il computer e fa da interfaccia uomo macchina, ossia permette all’essere umano di utilizzare il computer senza dover necessariamente conoscere il linguaggio della macchina (che renderebbe l’interazione uomo-macchina molto più difficoltosa).

Fra i compiti del sistema operativo c’è quello di creare e gestire il file system, ossia il sistema che permette agli utenti di memorizzare i propri dati in archivi detti file e di organizzarli in insieme di file detti cartelle (directory).
Trattiamo l’argomento nell’articolo sul file system.

Fra i sistemi operativi più diffusi ricordiamo Windows, Mac OS, linux (per i computer) e iOS, Android (per smartphone).

Mentre Windows e Mac OS si installano con un preciso insieme di programmi che li compongono, volendo utilizzare linux vi sono molte più scelte possibili. Con il nome linux infatti si identificano diverse distribuzioni (dette anche distro) basate sulla medesima logica: un kernel e un insieme di pacchetti per il software di base, un ulteriore insieme di pacchetti per il software applicativo. Dunque non si “installa linux” ma si “installa una distribuzione di linux”. Fra le distribuzioni linux più diffuse ricordiamo ad esempio Ubuntu, CentOS, RedHat, Debian, Suse. Inoltre linux può essere utilizzato anche senza installarlo sul nostro computer, ma ad esempio lasciandolo su una chiavetta USB esterna o su un DVD: in tal caso si parla di distro live.

 

Software applicativo

Le applicazioni più comuni comprendono:

  • le suite (=insieme di programmi) per la produttività di ufficio, formate almeno da: un elaboratore testi (per scrivere), un foglio elettronico (per fare calcoli), uno strumento per le presentazioni (per presentare informazioni); possono anche contenere altri software come un gestore di basi di dati, un client di posta elettronica, una agenda ecc.
  • software per comunicare con altre persone
  • software che permettono di accedere ai social (abbreviazione per “social network” ovvero “reti sociali”)
  • software per svolgere elaborazioni multimediali, ossia trattare audio, immagini fisse, immagini in movimento (video)
  • software che supportano il design e la progettazione in genere
  • app specifiche per i dispositivi mobili (come smartphone e tablet)

Licenze software

Il software è, giustamente, considerato una “opera dell’ingegno umano” nel senso che viene pensato (da un ideatore), viene progettato (da un analista) e viene sviluppato (da un programmatore). Una o più persone possono dunque detenere la cosiddetta “proprietà intellettuale” ossia il riconoscimento della paternità dell’opera (il software in questo caso).
Ogni tipo di software è accompagnato da una licenza, ovvero un contratto che regola cosa l’utente finale (end-user) può o non può fare con quel software.
Queste licenze sono dette EULA ovvero “End-User License Agreement”.
L’utente deve accettare la licenza prima di utilizzare il software (questa operazione a volte è detta, con un italiano non molto bello, “licenziare il software”).

Esistono molti tipi di licenze software. I più comuni sono:

  • proprietaria o commerciale, quando l’utente paga una certa somma (una tantum oppure ogni tot giorni) e in cambio può utilizzare il software; è detta proprietaria perché legata ad uno specifico software
  • di prova, quando l’utente ha a disposizione un numero ridotto di funzioni per testare il software prima di acquistarlo (potrebbe anche essere un videogioco di cui sono sbloccati solo i primi due livelli ad esempio)
  • shareware, quando l’utente ha a disposizione il software completo ma per un periodo di tempo limitato (ad esempio 30 giorni) e poi se vuole continuare ad usarlo deve “registrare il software” ovvero pagare una licenza completa
  • freeware, quando l’utente può usare il software senza dover pagare nulla
  • free software (o “open source”), quando l’utente non solo può usare liberamente il software, ma può anche “aprire il cofano” per vedere come è stato fatto questo software dal programmatore che lo ha creato

Versioni, aggiornamenti e release

Nel processo di sviluppo di un software da parte di un programmatore, prima che una applicazione sia vendibile, possono circolare alcune versioni iniziali dette “alpha” (primissima pubblicazione del software, limitata a pochissime persone) o “beta” (versione non definitiva, a volte pubblicata in Internet per avere il feedback di alcuni utenti che lo possono provare, detti beta-tester).

Uno stesso software viene più volte modificato (ciò può essere dovuto all’introduzione di nuove funzionalità, ma anche alla correzione di errori, detti bug). Le modifiche prendono il nome di aggiornamenti e sono identificate da un numero di release: ad esempio la versione iniziale si chiama 1.0, poi segue la 1.1, la 1.2 e così via; le modifiche minori fanno cambiare la seconda cifra numerica, mentre ad esempio si passa da 1.2 a 2.0 in caso di modifiche sostanziali.

 

Bibliografia:
– ECDL/ICDL syllabus “computer essentials”
– Rossignoli, N., Introduzione all’informatica, Lampidistampa, Milano, 2007
– Dulli, S., Rossignoli, N., Informatica e multimedialità, CUSL NuovaVita, Padova, 2000

Immagine: Photo by Markus Spiske temporausch.com from Pexels