I programmatori scrivono, verificano ed effettuano
le istruzioni dettagliate, chiamate programmi, che i calcolatori
devono seguire per effettuare le loro funzioni. Egualmente
concepiscono, progettano e verificano le strutture logiche a risolvere
i problemi dal calcolatore. Molte innovazioni tecniche nella
programmazione -- tecnologie di calcolo avanzate e nuovi linguaggi
specializzati e strumenti di programmazione -- hanno ridefinito il
ruolo di un programmatore ed hanno elevato gran parte del lavoro di
programmazione fatto oggi. I titoli e le descrizioni di lavoro
possono variare, secondo l'organizzazione. In questa istruzione
professionale, il programmatore si riferisce agli individui di cui la funzione di lavoro
principale sta programmandosi; questo gruppo ha una vasta gamma
delle responsabilità e degli ambiti di provenienza educativi.
I programmi destinati all'elaboratore dicono al
calcolatore a che cosa fare -- le al quali informazioni da
identificare ed accedere a, come elaborarle e che apparecchiatura per
usare. I programmi variano ampiamente la dipendenza dal tipo di
informazioni da raggiungere o generato. Per esempio, le
istruzioni addette ad aggiornare i record finanziari sono molto
differenti da quelle richieste per duplicare le circostanze a bordo
un velivolo per i piloti che addestrano in un simulatore di volo.
Anche se i programmi semplici possono essere scritti in alcune
ore, i programmi che usano le formule matematiche complesse, di cui le
soluzioni possono approssimarsi a soltanto, o che dissipa dati da
molti sistemi attuali possono richiedere più di un anno di lavoro.
Nella maggior parte dei casi, parecchi programmatori funzionano
insieme in gruppo sotto controllo del programmatore maggiore.
I programmatori scrivono i programmi secondo le specifiche
determinate soprattutto dalle Software Engineei del calcolatore e
dagli analisti funzionali. (le istruzione separate
sulle Software Engineei del calcolatore e sugli analisti dei sistemi di
elaborazione, sugli amministratori della base di dati e sugli
informatici compaiono altrove nel manuale.) Dopo che il
processo di disegno sia completo, è il lavoro del programmatore
convertire quel disegno in serie logica di istruzioni che il
calcolatore può seguire. Il programmatore allora codifica
queste istruzioni in un linguaggio di programmazione convenzionale,
quale COBOL; un linguaggio di intelligenza artificiale, quale il
prolog; o uno dei linguaggi orientati oggettivamente più
avanzati quali Java, C++, o le chiacchiere. I linguaggi di
programmazione differenti sono usati secondo lo scopo del programma.
COBOL, per esempio, è usato comunemente per le applicazioni
commerciali/gestionali, mentre il fortran (corto per "la traduzione di
formula") è usato nella scienza e nell'ingegneria. C++
ampiamente è usato per sia le applicazioni scientifiche che
commerciali/gestionali. Molti programmatori al livello di
impresa egualmente si pensano che conoscano i linguaggi di
platform-specifico usati nella programmazione della base di dati.
I programmatori sanno generalmente di più di un linguaggio di
programmazione e, perché molti linguaggi sono simili, possono
imparare spesso relativamente facilmente i nuovi linguaggi. In
pratica, i programmatori si riferiscono a spesso dal linguaggio che
conoscono, come sono i programmatori del Java, o il tipo di funzione
effettuano o ambiente in cui lavorano, che è la cassa per i
programmatori della base di dati, elaboratore centrale programmatori,
o programmatori di Web.
Aggiornamento di molti programmatori, riparazione,
modifica ed espande i programmi attuali. Quando fare cambia ad
una sezione del codice, chiamata una
procedura, programmatori debba informare altri
utenti dell'operazione che la procedura deve effettuare. Fanno
questo inserendo le osservazioni nelle istruzioni codificate, di modo
che altri possono capire il programma. Molti programmatori
utilizzano gli strumenti di tecnologia della programmazione su
ordinatore (CASO) per automatizzare gran parte del processo di
codificazione. Questi strumenti permettono ad un programmatore
di concentrarsi sulla scrittura delle parti uniche del programma,
perché gli strumenti automatizzano le varie parti del programma che
è costruito. Gli strumenti di CASO generano automaticamente le
sezioni intere del codice, piuttosto che si allineano dalla riga.
I programmatori egualmente utilizzano le librerie del codice
prestabilito, che possono allora essere modificate o personalizzate
per un'applicazione specifica. Ciò egualmente rende i
programmi più certi e più costanti ed aumenta il rendimento dei
programmatori eliminando alcuni punti sistematici.
I programmatori verificano un programma facendolo
funzionare per accertarsi che le istruzioni siano corrette e che il
programma produce il risultato voluto. Se gli errori accadono,
il programmatore deve fare il cambiamento adatto e riverificare il
programma fino a che non fornisca i risultati corretti. Questo
processo è chiamato esaminare e mettere a punto. I
programmatori possono continuare a riparare questi problemi durante la
durata di un programma. I programmatori che funzionano in un
ambiente di elaboratore centrale, che coinvolge un grande calcolatore
centralizzato, possono preparare le istruzioni per un operatore di
calcolatore che farà funzionare il programma. (l'istruzione
separata di A sugli operatori di calcolatore compare altrove nel
manuale.) Anche possono contribuire ad un
manuale per le persone che useranno il programma.
I programmatori sono raggruppati spesso in due vasti tipi
-- programmatori di applicazioni e programmatori di sistemi. I programmatori di applicazioni scrivono i programmi per maneggiare un lavoro specifico,
quale un programma rintracciare l'inventario all'interno di
un'organizzazione. Possono anche modificare il software
impaccato esistente o personalizzare le applicazioni generiche
chiamate middleware. I programmatori di
sistemi, d'altra parte, scrivono i programmi per
effettuare e software dei sistemi di elaborazione di controllo, quali
i sistemi operativi, sistemi networked e sistemi della base di dati.
Questi operai fanno i cambiamenti negli insiemi delle istruzioni
che determinano come la rete, le stazioni di lavoro e l'unità
centrale di elaboratore della maniglia del sistema i vari lavori sono
state date e come comunicano con apparecchiatura periferica quali i
terminali, le stampanti e gli azionatori del disco. A causa
della loro conoscenza di intero sistema di elaborazione, i
programmatori di sistemi aiutano spesso i programmatori di
applicazioni a determinare la sorgente dei problemi che possono
accadere con i loro programmi.
I programmatori nelle aziende di sviluppo del software
possono lavorare direttamente con gli esperti dai vari campi per
creare il software -- programmi progettati per i clienti specifici o
software impaccato per uso generale -- che variano dai giochi ed il
software educativo ai programmi per la pubblicazione desktop ed il
piano di finanziamento. Molto di questo tipo di programmazione
avviene nella preparazione di software impaccato, che costituisce uno
dei segmenti il più velocemente crescenti dell'industria di servizi
EDP.
In alcune organizzazioni, specialmente quelle piccole,
operai conosciuti comunemente come gli
programmatore-analisti sono responsabili sia
dell'analisi dei sistemi che del lavoro di programmazione reale.
(la descrizione dettagliata di A del lavoro degli
programmatore-analisti è presentata nell'istruzione
sugli analisti dei sistemi di elaborazione, sugli
amministratori della base di dati e sugli informatici altrove nel manuale.) ha avanzato i linguaggi di programmazione e le nuove
possibilità di programmazione orientate oggettivamente stanno
aumentando il risparmio di temi ed il rendimento sia dei programmatori
che degli utenti. La transizione da un ambiente di elaboratore
centrale ad uno che è basato soprattutto sui personal computer (pc)
ha offuscato la distinzione una volta rigida fra il programmatore e
l'utente. Sempre più, gli utilizzatori finali adept stanno
assumendo la direzione di molte delle mansioni precedentemente
effettuate dai programmatori. Per esempio, l'utilizzazione
crescente di software impaccato, quali i pacchetti di programmi della
gestione di base di dati e del foglio elettronico, permette che gli
utenti scrivano i programmi semplici per accedere ai dati ed
effettuare i calcoli.