Che cos’è il software e a cosa serve?

Vorresti capire meglio il significato e l’origine della parola software? Che cos’è il software e a cosa serve? Dai un’occhiata qui…

Che cos’è il software e a cosa serve

La parola software deriva dall’inglese (“soft” significa leggero e “ware” significa oggetto) e significa letteralmente “materiale leggero”.

Il software, infatti, è l’insieme di informazioni memorizzate su un dispositivo ed utilizzate da quest’ultimo – insieme all’hardware, ai comandi che noi diamo al dispositivo stesso (ad esempio quando schiacciamo un bottone) e all’energia elettrica – per svolgere operazioni più o meno complesse. Il software è comunemente riconosciuto come la controparte dell’hardware, perché “da le istruzioni” a quest’ultimo. Se l’hardware è il corpo di un dispositivo, il software ne rappresenta la memoria, l’energia elettrica il cibo e le azioni umane la mente.

In un PC faranno parte del software, ad esempio, il sistema operativo, il programma che usiamo per scrivere, il programma che usiamo per sentire la musica etc. cioè tutte quelle componenti (copiate in una qualche memoria) che danno informazioni alla macchina allo scopo di svolgere precise istruzioni come cambiare i pixel dello schermo, muovere la stampante, comporre musica etc.

Il software, perciò, è la parte fondamentale grazie alla quale possiamo utilizzare a pieno il nostro hardware. A seconda delle possibilità più o meno concrete di un hardware (una scheda video non fa il caffè, ma può gestire in mille modi i pixel del monitor a cui è collegata) si possono creare dei software per impartire comandi ad una macchina.

Alcuni chiarimenti

  • Il software, essendo un “componente immagazzinato” nella memoria, può essere sostituito o modificato una volta memorizzato nel dispositivo.
  • Proprio per la sua facilità di sostituzione e di modifica, il software (detto anche spesso “applicativo”) gode di una proprietà che l’hardware non possiede: il copia-incolla (e la conseguente mobilità estrema che ne deriva). Risulta infatti possibile copiare, incollare e trasferire (a parità di hardware e rispettando la stessa “architettura”, cioè lo stesso linguaggio di progettazione e di programmazione) quante volte si vuole un software da un dispositivo all’altro e/o da una parte dello stesso dispositivo all’altra. Proprio a causa della sua modellabilità, il software è molto fragile perché legato ad un tipo prefissato di architettura costruttiva, “mai definitivo” (ciò può portare a problemi legati alla sicurezza e all’affidabilità negli anni) perché sempre migliorabile e per questo “sempre incompleto”.
  • Spesso il tipo di software viene trascurato, ma è essenziale saper distinguere fondamentalmente tra due forme di software: il software libero e il software proprietario. Infatti, quando “si scrive” una stringa di codice, si potrà decidere di offrire il frutto del proprio lavoro (non il lavoro stesso, spesso anche qui retribuito) liberamente e gratuitamente per chi verrà dopo di noi, oppure si potrà avere la volontà tutelare il proprio lavoro (o i propri investimenti) registrando un brevetto.
  • Nella creazione di un software entra (spessissimo) in gioco anche un altro aspetto fondamentale: la cumulabilità del linguaggio di programmazione. Infatti, un software di successo è in continuo sviluppo (sia per introdurre nuove versioni che per fixare bug e/o ottimizzare la sicurezza) e le nuove versioni, pur basandosi su quelle vecchie (e spesso rinnovando da 0 il brevetto!) sono il risultato di un processo “accumulabile graduale” dove cioè, piano piano, è sempre più grande il divario non solo con le vecchie versioni, ma anche (e soprattutto) con degli stessi software che potrebbero avere le stesse funzioni ma, ad esempio, non sono sviluppati da un team di 100 programmatori prezzolati ma da 10 volontari.

Quest’ultimo dato è molto evidente se si considera la differenza tra un software proprietario e uno libero: un software proprietario, molto spesso, è un software sviluppato da uno o più imprenditori, i quali pagano dei programmatori per ottenere un codice in licenza che loro non potrebbero/saprebbero mai fare da soli. Un software libero è, in genere, un software sviluppato da uno o più volontari, i quali lavorano gratuitamente o grazie a delle donazioni oppure stipendiati in organizzazioni senza fini di lucro per creare un codice la cui licenza non appartiene solamente a loro, ma all’umanità tutta. Nel software libero le donazioni vanno a coprire le ore di fatica e non intaccano il brevetto, il quale non appartiene solo agli scrittori del codice ma a tutti i possibili utilizzatori (presenti e futuri!). Nel software proprietario, gli stipendi coprono le ore di fatica dei programmatori, ma il brevetto non appartiene a nessuno se non all’imprenditore che ne paga il lavoro.

La guida è finita. Se ti è tornata utile, fai una donazione con PayPal (clicca qui) e il sito rimarrà online anche grazie a te! Hai qualcosa da dirci? Scrivici! Per condividere questa guida su social:

Torna in alto