Komputillingvoj ekzistas por skribi komputilajn programojn. Multaj skemoj ekzistas por klasifiki ilin. Oni parolas pri generacioj de komputillingvoj:
- Unua generaciaj lingvoj estas maŝinlingvoj, la lingvoj de la procesoro. Ili estas binara kaj estas malfacila por personoj.
- Dua generaciaj lingvoj estas [asemblaj lingvoj]?. La ordenoj de la procesoro havas simbolajn nomojn.
- Tria generaciaj lingvoj estas proceduraj lingvoj kiel Fortran?, C, Pascal?, COBOL?, Algol?, kaj Basic?.
- La kvara generacio estis kiam tiuj nomoj pereis. Tiuj lingvoj ne estis nur lingvoj. Ili havis datumbazojn, uzantajn interfacajn bibliotekojn, kaj tion kio ni nun nomigas programada medio (angle "integrated development environment").
Ankaŭ ekzistas lingvojn kiujn ne akordas kun tiu ĉi klasifiko. Objektemaj? lingvoj kiel C++, Ĝavo kaj Smalltalk? pritraktas objektojn. Objekto estas instanco de klaso. Kaj objektoj havas metodojn kiujn vi povas voki por peti ke la objekto faras ion.
[Funkciaj Lingvoj]? reprezentas partojn de programoj kiel funkcioj. Funkcio prenis informojn de parametroj kaj redonas respondon. Lispo estis la unua funkcia lingvo. Aliaj estas Scheme? kaj Dylan?. Ekde la 1970-a jardeko Lispo ankaŭ estas objektema lingvo.
Hodiaŭ multaj lingvoj subtenas multajn stilojn de programojn. Perl povas esti procedura aŭ objektema kaj ankaŭ C++.