Il y a plusieurs paramètres d'un langage de programmation que l'on peut utiliser pour décrire brièvement le langage.
On peut caractériser sa syntaxe. Cette caractérisation se fait souvent par une comparaison avec des langages connus. Si la syntaxe ne ressemble à aucun autre langage, on peut donner une description brève des points les plus importants.
La signification de l'affectation peut varier d'un langage à un autre. Dans certains langages, l'identité d'un objet est préservée par l'affectation. Nous allons appeler cette fonctionnalité sémantique par référence uniforme, car l'affectation manipule des références à des objets et non les objets eux-mêmes. Certains autres langages définissent l'affectation comme une copie de l'objet affecté. Nous allons appeler cette fonctionnalité sémantique par copie.
Certains langages imposent que le programmeur libère explicitement la mémoire allouée. Nous parlons alors de gestion manuelle de la mémoire. Si par contre le langage s'occupe lui-même de cette libération, nous parlons de gestion automatique de la mémoire.
Pour certains langages, le type (par exemple entier, flottant, chaîne de caractères, etc) de chaque variable doit être connu du compilateur, donc avant l'exécution du programme. Ces langages sont dits à typage statique. Si de plus c'est au programmeur d'indiquer le type, on parle de typage explicite. On dit typage statique mais typage implicite si c'est le compilateur qui s'occupe de déterminer le type des variables. Un langage dont les variables ne sont pas typées, mais dont les objets valeurs de ces variables le sont est dit à typage dynamique.
Un langage dont le moyen d'abstraction principal est la procédure est appelé langage procédural. La plupart des langages impératifs classiques sont procéduraux. Un langage dont le moyen d'abstraction principal est la fonction (une fonction étant une procédure sans effet de bord, c'est-à-dire qu'elle ne peut modifier l'environnement à partir duquel elle est appelée) est appelé un langage fonctionnel. La programmation avec un tel langage consiste à construire et à composer de petites fonctions. Un langage orienté-objets est un langage dont l'abstraction principale est l'objet.