I programmi per PC, i "software" e non quelli della TV, sono composti da sequenze di istruzioni logiche, finite e funzioni scritte in linguaggi di programmazione comprensibili all'uomo. Il codice di un programma è interpretato e poi tradotto in formato binario dal computer; quest'ultimo detto anche (linguaggio macchina o codice macchina) ci consente di comunicare con l'hardware del PC. L'eseguibile viene creato dopo la compilazione del file sorgente e solo allora si ottiene il programma vero e proprio che si può installare sui computer.
Programmi Java
Al contrario di quanto detto dobbiamo aggiungere una eccezione dovuta a un evoluzione rispetto al passato per il codice interpretato e non compilato. Ciò è dovuto alla virtualizzazione come ad esempio la Java Virtual Machine per i programmi scritti in linguaggio java.
La portabilità di Java
La JVM consente al codice Java una maggiore portabilità tra i diversi sistemi operativi rendendo i programmi scritti in linguaggio Java indipendenti dalla piattaforma sul quale sono ospitati. La differenza sta che per i programmi scritti in linguaggi alla c bisognava effettuare il portering del codice per i diversi sistemi operativi. Di contro i programmi Java subiscono uno smacco nei tempi di risposta questo però va appianandosi in gran parte grazie ai nuovi device sempre più veloci. Questo fattore è dovuto proprio al passaggio in più che il byte code di Java subisce in runtime per essere interpretato ogni volta che si avvia un programma.
I programmi
Tutto il software installato su PC è rappresentato dai programmi che un utente dispone per interagire con la parte hardware tramite il sistema operativo in input e output. Possiamo quindi affermare in senso metaforico che Il software può essere rappresentato come l'anima del computer e l'hardware come il corpo. Lo sviluppo di software è pensato non solo per la risoluzione di problemi o scopi lavorativi ma anche per svago e tempo libero. Alcuni esempi possono essere i programmi di:
- calcolo,
- grafica,
- videoscrittura,
- archivi di dati,
- giochi,
- media player.
La finalità del software sta nel cercare di migliorare la qualità della vita dell'uomo nelle più svariate attività.