I primi computer venivano programmati impostando una serie di interruttori e premendo l'equivalente di un tasto "Invio". Ciascuna voce comprendeva un'istruzione al computer, il che rendeva la programmazione un processo dispendioso in termini di tempo. I linguaggi di programmazione sono stati sviluppati per accelerare questo processo e consentire a più persone di diventare programmatori. Ora ci sono molti linguaggi tra cui scegliere per un programmatore e variano in complessità e facilità d'uso da linguaggi di basso livello, che sono più vicini al linguaggio macchina, ai linguaggi di alto livello, che sono più vicini all'umano linguaggio.
Alto livello
I linguaggi di programmazione di alto livello si avvicinano al linguaggio umano nella sintassi e sono, quindi, più facili da usare per gli umani. Questa distanza dal linguaggio macchina rende i programmi in linguaggio di alto livello più facili da scrivere e per un programmatore di questo tipo sono richieste meno competenze tecniche. Il BASIC, un popolare linguaggio di inizio, è un esempio di linguaggio di alto livello. Il nome è in realtà un acronimo che sta per "Codice di istruzione simbolica per tutti gli usi per principianti". COBOL è un alto livello lingua utilizzata nel mondo aziendale e la sua vicinanza all'inglese consente al personale meno tecnicamente qualificato di scrivere COBOL programmi. Ciò si traduce in un enorme risparmio sui costi per un'azienda che utilizza COBOL. Uno svantaggio di questi linguaggi è che in genere forniscono solo grafica di testo semplice, poiché non sono in grado di produrre la grafica dei linguaggi di livello inferiore.
Video del giorno
Livello intermedio
Negli ultimi anni sono stati sviluppati linguaggi di livello medio per colmare il divario tra linguaggi di alto e basso livello. Molti di questi linguaggi rientrano nella categoria "orientata agli oggetti" e l'elenco include linguaggi come C#, C++ e Java. Questi linguaggi sono utili nello sviluppo di interfacce utente grafiche che vengono eseguite su personal computer, fornendo un "front-end" per le applicazioni mainframe legacy a cui si connettono. Questo aiuta il programmatore a "fare bella figura" su una precedente applicazione "schermo verde", che può essere un vantaggio competitivo per un prodotto software. I programmatori di lingue di livello medio tendono ad essere un po' più tecnicamente abili rispetto ai programmatori di alto livello e in genere sono pagati di più.
Basso livello
Le lingue di basso livello sono più lontane dal linguaggio umano e non si leggono facilmente a colpo d'occhio. Le lingue, come Assembler, richiedono personale tecnico altamente qualificato, con conseguente aumento dei costi per un datore di lavoro. La natura criptica della sintassi può anche causare tempi di risoluzione dei problemi più lunghi, a seconda del livello di abilità del tecnico. I programmi in linguaggio assembly per personal computer possono produrre una grafica straordinaria, ma i programmi in linguaggio assembly per mainframe vengono generalmente utilizzati come utilità, e raramente producono alcun output.
Linguaggio macchina
Il linguaggio macchina è il linguaggio di livello più basso, composto da 1 e 0 organizzati in gruppi di otto per formare vari caratteri. Ogni 1 o 0 è un "bit" e 8 bit formano un "byte". È stata la difficoltà nel programmare i primi computer utilizzando il linguaggio macchina che ha reso necessario lo sviluppo di linguaggi di programmazione. I programmi scritti nei linguaggi che rientrano nelle categorie sopra menzionate sono tipicamente "compilati" in linguaggio macchina in modo che il computer possa leggerli. I programmatori in grado di leggere e comprendere il linguaggio macchina sono altamente qualificati e hanno stipendi elevati.