La programmazione è un processo creativo che istruisce un computer su come eseguire un'attività. Hollywood ha contribuito a instillare un'immagine di programmatori come super-tecnici che possono sedersi al computer e infrangere qualsiasi password in pochi secondi. La realtà è molto meno interessante.
I computer fanno ciò che viene loro detto e le loro istruzioni arrivano sotto forma di programmi scritti da umani. Molti programmatori informati scrivono codice sorgente che può essere letto dagli umani ma non dai computer. In molti casi, quel codice sorgente viene compilato per tradurre il codice sorgente in codice macchina, che può essere letto dai computer ma non dagli umani. Questi linguaggi di programmazione per computer compilati includono:
Alcune programmazioni non devono essere compilate separatamente. Piuttosto, è composto da un processo just-in-time sul computer per il quale è in esecuzione. Questi programmi sono chiamati programmi interpretati. I linguaggi di programmazione per computer interpretati più popolari includono:
I linguaggi di programmazione richiedono ciascuno conoscenza delle proprie regole e del proprio vocabolario. L'apprendimento di un nuovo linguaggio di programmazione è simile all'apprendimento di una nuova lingua parlata.
Fondamentalmente i programmi manipolano numeri e testo. Questi sono i mattoni di tutti i programmi. I linguaggi di programmazione consentono di utilizzarli in diversi modi utilizzando numeri e testo e memorizzando i dati su disco per il successivo recupero.
Questi numeri e testi sono chiamati variabili e possono essere gestiti singolarmente o in raccolte strutturate. In C ++, una variabile può essere utilizzata per contare i numeri. Una variabile struct nel codice può contenere i dettagli del libro paga per un dipendente come:
Un database può contenere milioni di questi record e recuperarli rapidamente.
Ogni computer ha un sistema operativo, che è esso stesso un programma. I programmi eseguiti su quel computer devono essere compatibili con il suo sistema operativo. I sistemi operativi più diffusi includono:
Prima di Java, i programmi dovevano essere personalizzati per ciascun sistema operativo. Un programma eseguito su un computer Linux non può essere eseguito su un computer Windows o Mac. Con Java, è possibile scrivere un programma una volta e quindi eseguirlo ovunque come viene compilato in un codice comune chiamato bytecode, che viene quindi interpretato. Ogni sistema operativo ha un interprete Java scritto per esso e sa come interpretare il bytecode.
Molta programmazione informatica avviene per aggiornare applicazioni e sistemi operativi esistenti. I programmi utilizzano le funzionalità fornite dal sistema operativo e quando cambiano, i programmi devono cambiare.
Molti programmatori scrivono il software come una presa creativa. Il web è pieno di siti web con codice sorgente sviluppato da programmatori amatoriali che lo fanno per divertimento e sono felici di condividere il loro codice. Linux è iniziato in questo modo quando Linus Torvalds ha condiviso il codice che aveva scritto.
Lo sforzo intellettuale nello scrivere un programma di medie dimensioni è paragonabile alla scrittura di un libro, tranne per il fatto che non è mai necessario eseguire il debug di un libro. I programmatori di computer trovano gioia nello scoprire nuovi modi per far accadere qualcosa o nel risolvere un problema particolarmente spinoso.