Il termine software (usato in ambito informatico) indica un programma o l'insieme di essi in grado di funzionare su un elaboratore.
Il senso moderno del termine deriva dalle istruzioni date ai computer, ed è stata utilizzata per la prima volta nel 1957 da John W. Tukey, noto statistico statunitense.
Nathan Myhrvold, direttore dell'Advanced Technology Group della Microsoft, ha effettuato uno studio sui prodotti Microsoft calcolando le linee di codifica per le successive release dello stesso software:
La continua aggiunta di nuove funzionalità al software esistente giustifica la costante richiesta di processori più veloci, memorie più grandi e più ampie capacità di I/O (Input/Output).
Infatti, anche le altre tecnologie si sono evolute di pari passo:
Myhrvold traccia un parallelismo con la legge di Moore: "abbiamo aumentato la dimensione e la complessità del software ancora più rapidamente di quanto non prevedeva la legge di Moore", "gli utenti del software hanno sempre consumato le maggiori capacità di elaborazione ad una velocità uguale o superiore a quella con cui i produttori di chip le mettevano a disposizione" (Stewart Brand, 1995).
La maggior potenza di ogni nuovo chip Intel, deriva da una nuova generazione di applicazioni basate sul sistema operativo Windows (noto per la pesantezza del codice), che dà origine a una rinnovata domanda di chip ancora più potenti necessari per far girare nuovi software a loro volta ancora più esigenti in termini di potenza.
Questo ciclo "vizioso" ha preso il nome nome di "Ciclo WINTEL", dal nome dai colossi di riferimento (processori Intel e sistemi Windows).
Schaller nel 1996 disse a proposito del ciclo Wintel: "every time Andy Grove makes a faster chip, Bill uses all of it" (ogni volta che Andy Grove crea un chip più veloce, Bill Gates lo usa tutto quanto).
Un software viene normalmente realizzato utilizzando uno o più linguaggi di programmazione. Se il progetto diventa complesso, è opportuno dividere il programma in uno o più moduli, che possono essere così affidati a diversi programmatori, modificati più semplicemente e riutilizzati in altri progetti.
La fase detta di compilazione, traduce ogni file del codice sorgente in un file oggetto contenente il 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.
Alcuni software non vengono compilati in quanto le istruzioni contenute nel codice sorgente vengono subito eseguite da un software detto interprete.
La gestione del processo di sviluppo è caratterizzato dalla scelta di un modello di sviluppo del software codificato nell'ambito dell'Ingegneria del Software (Software Engineering), esistono:
La realizzazione del software è un'attività complessa articolata in più fasi. Per questo motivo può essere associato ad un prodotto ingegneristico, ma se ne differenzia soprattutto per alcune caratteristiche:
Le licenze d'utilizzo e distribuzione sul software sono numerose (54 circa), ma quelle effettivamente diffuse sono poche. Per l’89% si tratta di GPL, LGPL o BSD (licenza storica di Unix, tornata in uso dall’avvento di Linux).
La licenza d'uso è un documento che accompagna il software e specifica i diritti e i doveri di chi lo riceve e di chi lo diffonde. Esistono licenze liberali (come la licenza Open Source) e licenze proprietarie. Tutte le licenze d'uso traggono il loro valore legale dalle norme sul diritto d'autore (il copyright). Nasce in seguito anche l’Open content che ha come scopo quello di trasferire le licenze su opere diverse dal software.
Alcune licenze:
Le varie licenze analizzano sommariamente i seguenti aspetti:
Software | Innovazione tecnologica
Sagteware | Programa d'ordenador | Софтуер | Softver | Programari | Software | Computerprogram | Software | Computer software | Programaro | Software | Tarkvara | نرمافزار | Logiciel | Programa informático | תוכנה | सोफ्टवेर | Softver | Szoftver | Perangkat lunak | ソフトウェア | 컴퓨터 소프트웨어 | Nivîsbarî | Programinė įranga | Programmatūra | Software | Software | Dataprogram | Oprogramowanie | Software | Software | Программное обеспечение | Software | Softvér | Programska oprema | Software | Programvara | ซอฟต์แวร์ | Software | Sanaq programı | Програмне забезпечення | Phần mềm | 软件
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Software".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world