Software

Da Semantic WikiSUN.

Il software e’ un insieme di programmi in grado di produrre o eseguire determinate funzioni. Il vocabolo è la fusione di due termini della lingua inglese: "soft" (morbido) e "ware" (manufatto, oggetto). Con il termine generico si intendono programmi e procedure utilizzati per far eseguire a un qualsiasi apparato, con capacità di elaborazione, un determinato compito.Questi programmi sono composti da specifiche proprietà come ad esempio lo stand alone che li distinguono.

Indice

Classificazione del software

Il software è composto dal Software di sistema perchè è indispensabile al funzionamento del computer dal momento che senza di esso non sarebbe che hardware inutilizzabile. Rappresenta l'insieme di quei software come sistema operativo, utility, driver e software di rete che permettono al computer di funzionare o di svolgere attività specifiche. Il software di sistema è un software progettato per funzionare in simbiosi con l'hardware del computer e per fornire una piattaforma per l'esecuzione di software applicativo.

  1. software applicativo. Esso comprende i programmi che il programmatore realizza utilizzando le prestazioni che offre il sistema operativo e tra essi troviamo ad esempio applicazioni gestionali destinati alle esigenze specifiche di un utente o di un'azienda (Sistema informativo) e tutto ciò che riguarda l'office automation, per esempio l'applicazione openoffice writer o microsoft word ed i loro molteplici comandi disponibili per facilitare la scrittura del testo come taglia e incolla, undo, e comandi di formattazione.
  2. Middleware che controlla e coordina i sistemi distribuiti.
  3. I linguaggi di programmazione che definiscono la sintassi e la semantica dei programmi per computer. Per esempio, molte applicazioni bancarie mature sono state scritte in lingua COBOL, originariamente inventato nel 1959. Le applicazioni più recenti sono spesso scritte in linguaggi di programmazione più moderni.
  4. Testware è un software per l'hardware di test o di un pacchetto software.
  5. Firmware è un basso livello di software spesso memorizzato su dispositivi di memoria programmabile elettricamente. Il suo nome deriva dal fatto che è trattato come hardware ed è eseguito da altri programmi software.
  6. Shrinkware è il vecchio nome dato a-acquistato software consumer, perché era spesso venduto nei negozi al dettaglio in shrink-wrapped box.
  7. I driver di periferica di controllo di parti di computer, come dischi , stampanti , unità CD , o monitor di computer.
  8. Strumenti di programmazione per aiutare le attività di elaborazione condotta in una categoria di cui sopra. Per i programmatori, questi potrebbero essere gli strumenti per il debugging o reverse engineering vecchi sistemi legacy al fine di verificare la compatibilità del codice sorgente.

Dal punto di vista gerarchico i software possono essere divisi in quattro categorie principali: firmware; software di base (che a sua volta si divide in sistemi operativi, compilatori e interpreti , librerie); e driver; programmi applicativi

Storia del software

La parola software ha origine durante la seconda guerra mondiale. I tecnici dell'esercito inglese erano impegnati nella decrittazione dei codici tedeschi di Enigma, di cui già conoscevano la meccanica interna (detta hardware, componente dura,) grazie ai servizi segreti polacchi. La prima versione di Enigma sfruttava tre rotori per mescolare le lettere.

Dopo il 1941, ad Enigma venne aggiunto un rotore, e il team di criptanalisti inglesi, capitanati da Alan Turing, si dovette interessare non più alla sua struttura fisica, ma alle posizioni in cui venivano utilizzati i rotori della nuova Enigma.

Dato che queste istruzioni erano scritte su pagine solubili nell'acqua (per poter essere più facilmente distrutte, evitando in tal modo che cadessero nelle mani del nemico) furono chiamate software (componente tenera), in contrapposizione all'hardware.

Il senso moderno del termine deriva dalle istruzioni date ed è stato utilizzato per la prima volta nel 1957 da John Wilder Tukey, noto statistico statunitense.

Dal 1950 l'analogia tra l'hardware ed il corpo umano e quella tra il software e la mente umana si è fatta molto forte, dal momento che Turing ha sostenuto che il progresso tecnologico sarebbe riuscito a creare, entro il 2000, delle macchina intelligente|macchine intelligenti (in grado cioè di "pensare" autonomamente) atte alla risoluzione dei problemi.


Realizzazione del software

Utilizzando uno o più linguaggi di programmazione viene normalmente realizzato un software. Se il progetto diventa complesso, è opportuno dividere il programma in uno o più modulo (programmazione), che possono essere così affidati a diversi programmatore|programmatori, modificati più semplicemente e riutilizzati in altri progetti.

La fase detta di compilazione, traduce ogni file del codice sorgente, scritto nel o nei linguaggi di programmazione, in un file oggetto contenente il [[Programma (informatica)|programma in linguaggio macchina adeguato all'architettura hardware di destinazione. In seguito tutti i file oggetto attraversano una fase di linking per giungere al prodotto finale: il file eseguibile.

La realizzazione del software è un'attività complessa articolata in più fasi, per questo motivo spesso il software è associato ad un prodotto ingegneristico. Quindi, il software linguaggio di programmazione Il programma compilato e quindi completato è detto codice sorgente. Perciò ogni programma che definisce un software presenta quindi un codice sorgente.

Licenze d'utilizzo e distribuzione

La Licenza (informatica)|licenza d'uso è un documento che accompagna il software e specifica i diritto|diritti e i doveri di chi lo riceve e di chi lo diffonde.

Tutte le licenze d'uso traggono il loro valore legale dalle norme sul diritto d'autore (il copyright).

Esistono licenze libere, le licenze Open Source e licenze proprietarie. Nasce in seguito anche l'Open content che ha come scopo quello di trasferire le licenze su opere diverse dal software.

Le Licenza (informatica)|licenze di utilizzo e distribuzione del software libere ed Open Source sono numerose, ma quelle effettivamente diffuse sono poche. Per l'89% si tratta di GNU General Public License|GPL,GNU Lesser General Public License|LGPL] e BSD (licenza storica di Unix, tornata in uso dall'avvento di Linux).


[1]

Collegamenti esterni

    Alan Turing
    Leggi di Moore
    Firmware
    Software di base
    Driver
    Programmi Applicativi
    Crittografia
    Seconda guerra mondiale
Strumenti personali