Vantaggi e svantaggi del linguaggio di alto e basso livello
I primi computer venivano programmati impostando una serie di interruttori e premendo l'equivalente di un tasto "Invio". Ogni voce comprendeva un'istruzione al computer, il che rendeva la programmazione un processo che richiedeva molto 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 un programmatore e variano in complessità e facilità d'uso da linguaggi di basso livello, che sono più vicini al linguaggio macchina, a linguaggi di alto livello, che sono più vicini al linguaggio umano.
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 esseri umani. Questa distanza dal linguaggio macchina rende più facile scrivere programmi in linguaggio di alto livello e richiede meno competenze tecniche per un tale programmatore. BASIC, una lingua di partenza popolare, è un esempio di una lingua di alto livello. Il nome è in realtà un acronimo che sta per "Codice di istruzione simbolica per tutti gli usi del principiante". COBOL è un linguaggio di alto livello utilizzato nel mondo aziendale e la sua vicinanza all'inglese consente a personale tecnicamente meno qualificato di scrivere programmi COBOL. Ciò si traduce in un enorme risparmio sui costi per un'azienda che utilizza COBOL. Uno svantaggio di queste lingue è che in genere forniscono solo grafica di testo semplice, poiché non sono in grado di produrre la grafica di lingue di livello inferiore.
Livello intermedio
Le lingue di livello medio sono state sviluppate negli ultimi anni per colmare il divario tra le lingue di alto e basso livello. Molti di questi linguaggi rientrano nella categoria "orientati agli oggetti" e l'elenco include linguaggi come C#, C++ e Java. Questi linguaggi sono utili per lo sviluppo di interfacce utente grafiche che funzionano 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 linguaggi di livello medio tendono ad essere un po' più abili dal punto di vista tecnico rispetto ai programmatori di alto livello e in genere sono pagati di più.
Livello basso
Le lingue di basso livello sono più lontane dal linguaggio umano e non sono facilmente lette 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 grafica sbalorditiva, ma i programmi in linguaggio assembly mainframe vengono in genere utilizzati come utilità, producendo raramente 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à nella programmazione dei primi computer utilizzando il linguaggio macchina che ha reso necessario lo sviluppo di linguaggi di programmazione. I programmi scritti nelle lingue 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.