Vantaggi e Svantaggi dei Linguaggi di Alto e Basso Livello
I primi computer venivano programmati impostando una serie di interruttori e premendo l'equivalente di un tasto "Invio". Ogni inserimento comprendeva un'istruzione, rendendo la programmazione un processo lentissimo. I linguaggi di programmazione furono sviluppati per accelerare il processo e permettere a più persone di diventare programmatori. Oggi esistono molti linguaggi, con complessità e facilità d'uso che vanno dai linguaggi di basso livello, più vicini al linguaggio macchina, a quelli di alto livello, più vicini al linguaggio umano.
Alto Livello
I linguaggi di alto livello si avvicinano al linguaggio umano nella sintassi e sono più facili da usare. Questa distanza dal linguaggio macchina rende i programmi più facili da scrivere, con minori requisiti di competenze tecniche. BASIC, linguaggio popolare per principianti, è un esempio di alto livello. Il nome è un acronimo per "Beginner's All-purpose Symbolic Instruction Code". COBOL è usato in ambito aziendale e la sua vicinanza all'inglese permette a personale meno tecnico di scrivere programmi, con notevole risparmio sui costi. Uno svantaggio: forniscono tipicamente solo grafica testuale, non potendo produrre la grafica dei linguaggi di basso livello.
Medio Livello
I linguaggi di medio livello sono stati sviluppati per colmare il divario tra alto e basso livello. Molti rientrano nella categoria "object-oriented": C#, C++, Java. Sono utili per sviluppare interfacce grafiche per PC, fornendo un "front end" per applicazioni mainframe legacy. Questo aiuta a "mettere una bella faccia" su una vecchia applicazione a "schermo verde", vantaggio competitivo per un prodotto software. I programmatori di medio livello tendono a essere più qualificati e meglio pagati.
Basso Livello
I linguaggi di basso livello sono più lontani dal linguaggio umano e non facilmente leggibili a colpo d'occhio. Linguaggi come Assembler richiedono personale altamente qualificato, con costi maggiori per il datore di lavoro. La sintassi criptica può causare tempi di debug più lunghi. I programmi in assembly per PC possono produrre grafica sorprendente, ma quelli per mainframe sono tipicamente usati come utility, raramente producendo output.
Linguaggio Macchina
Il linguaggio macchina è il livello più basso, composto da 1 e 0 organizzati in gruppi di otto per formare caratteri. Ogni 1 o 0 è un "bit", 8 bit formano un "byte". La difficoltà di programmare i primi computer in linguaggio macchina rese necessari i linguaggi di programmazione. I programmi scritti nei linguaggi sopra citati vengono tipicamente "compilati" in linguaggio macchina. I programmatori che leggono e capiscono il linguaggio macchina sono altamente qualificati e richiedono salari elevati.