Cet article évoque les événements majeurs de l'histoire des langages de programmation. Pour une chronologie détaillée de ces événements, consultez la chronologie des langages de programmation.
Les premiers langages de programmation précèdent l'ordinateur moderne. Au départ, les langages étaient de simples codes.
Pendant neuf mois entre 1842 et 1843, Ada Lovelace a traduit le mémoire du mathématicien italien Luigi Menabrea sur la Machine analytique, la dernière machine proposée par Charles Babbage. Elle ajouta cet article à une collection de notes dans lesquelles elle détaillait une méthode pour calculer les nombres de Bernouilli à l'aide de la Machine. Ces notes furent reconnues par certains historiens comme le premier programme informatique au monde Mais l'étendue des contributions originales d'Ada Lovelace, comparées à celles de son mari, est l'objet de débat parmi certains biographes.[réf. souhaitée].
En 1801, le métier Jacquard utilisait des trous dans des cartes perforées pour représenter les mouvements du bras du métier à tisser, et ainsi générer automatiquement des motifs décoratifs.
En observant les tickets de trains, où était décrite l'apparence du voyageur à l'aide de trous perforés sur les tickets (couleur des cheveux et des yeux, taille...), Herman Hollerith s'est rendu compte qu'il pouvait encoder de l'information sur des cartes perforées. Il a pu ainsi créer une machine à cartes perforées qui a servi au recensement de 1890.
À leurs débuts, les langages de programmation étaient très influencés par les restrictions matérielles. De ce fait, le premier vrai langage de programmation est difficile à identifier. Par exemple, les cartes perforées pouvaient avoir 80 colonnes, certaines d'entre elles étant utilisées comme numéro de tri sur chaque carte. Plus tard, les mémoires utilisées dans les premiers ordinateurs étaient faites de tambours magnétiques. Les programmes devaient donc tenir compte des rotations du tambour. Ils étaient donc beaucoup plus dépendants du matériel qu'à l'heure actuelle.
Pour certaines personnes, il est nécessaire que les « programmes » soient facilement lisibles par des êtres humains, et que la puissance mise en œuvre soit suffisante, pour pouvoir parler de langage de programmation. Le Métier Jacquart et la Machine Analytique de Charles Babbage avaient des langages extrêmement simples et limités pour décrire les actions effectuées par ces machines. On peut également considérer les rouleaux en papier d'un pianola (piano mécanique) comme un programme limité à un domaine très particulier, quoique non destiné à être exploité par des humains.