cette histoire a été écrite au printemps 2000 lorsque j’étais en huitième année. Pendant plusieurs années après que je l’ai écrit, le texte était disponible en ligne et il est devenu une référence pour d’autres articles, entrées Wikipedia, et même des cours universitaires. J’ai placé le rapport ici pour la postérité et l’amusement (comment aurais-je pu laisser de côté Python??). En 2004, j’ai fait deux mises à jour en réponse à des critiques envoyées par courrier électronique, mais le texte est par ailleurs inchangé. Pour une référence plus à jour, je vous pointe sans vergogne vers Wikipedia.,
— Andrew Ferguson
une histoire des langages de Programmation informatique
Depuis l’invention du moteur de différence de CharlesBabbage en 1822, les ordinateurs ont besoin d’un moyen de les instruire pour effectuer une tâche spécifique. Ce moyen est connu sous le nom de langage aprogramming. Les langages informatiques ont d’abord été composés d’une série d’étapes pour câbler un programme particulier; ceux-ci se sont transformés en une série d’étapes clés dans l’ordinateur, puis exécutés; plus tard, ces langages ont acquis des caractéristiques avancées telles que la ramification logique et l’orientation des objets., Les langues informatiques des cinquante dernières années se sont déroulées en deux étapes, la première langue majeure et la seconde langue majeure, qui sont utilisées aujourd’hui.
Au début, le moteur de différence de Charles Babbage ne pouvait être créé que pour exécuter des tâches en changeant les engrenages qui exécutaient les calculs. Ainsi, la première forme d’un ordinateurla langue était le mouvement physique. Finalement, le mouvement physique a été remplacé parles signaux électriques lorsque le gouvernement américain a construit l’ENIAC en 1942., Il suivait beaucoup des mêmes principes du moteur de Babbage et ne pouvait donc être »programmé” qu’en préréglant les commutateurs et en recâblant l’ensemble du système pour chaque nouveau « programme” ou calcul. Ce processus s’est avéré être très fastidieux.
en 1945, John Von Neumann étaittravailler à L’Institute for Advanced Study. Il a développé deux importantsconcepts qui ont directement affecté le chemin des langages de programmation informatique.Le premier était connu sous le nom de « technique de programme partagé » (www.softlord.com). cette technique a déclaré que le matériel informatique réel devrait être simple et non nécessaire d’être câblé à la main pour chaque programme., Au lieu de cela, des instructions complexes devraientêtre utilisé pour contrôler le matériel simple, ce qui lui permet d’être reprogrammé beaucoup plus vite.
le deuxième concept était égalementextrêmement important pour le développement des langages de programmation. Von Neumann L’a appelé « transfert de contrôle conditionnel » (www.softlord.com). cette idée renvoie à la notion de sous-programmes, ou de petits blocs de code qui pourraient être ajoutés dans n’importe quel ordre, au lieu d’un seul ensemble d’étapes ordonnées chronologiquement pour que l’ordinateur prenne., La deuxième partie de l’idée a déclaré quele code informatique devrait pouvoir se ramifier en fonction d’instructions logiques telles que IF(expression) THEN, et bouclé comme avec une instruction FOR. « Conditionalcontrol transfer « a donné lieu à l’idée de” bibliothèques », qui sont des blocs de code qui peuvent être réutilisés encore et encore. (Mise à jour le 1er août 2004: à cette époque, Konrad Zuse, un Allemand, inventait ses propres systèmes informatiques de manière indépendante et développait plusieurs des mêmes concepts, à la fois dans ses machines et dans le langage de programmation Plankalkul. Hélas, son travail n’est devenu largement connu que beaucoup plus tard., Pour plus d’informations, voir ce site: http://www.epemag.com/zuse/, ou les entrées sur Wikipedia: Konrad Zuse et Plankalkul.)
en 1949, quelques années après le travail de Von Neumann, le code court de la langue est apparu (www.byte.com C’était le premier langage informatique pour electronicdevices et il obligeait le programmeur à changer ses instructions en 0 et 1 à la main. Pourtant, c’était le premier pas vers les langues complexes oftoday. En 1951, Grace Hopper écrit le premier compilateur, A – 0 (www.byte.com)., Acompiler est un programme qui transforme les instructions du langage en 0 et 1 pour que l’ordinateur comprenne. Cela a conduit à une programmation plus rapide, car le programmateur n’avait plus à faire le travail à la main.
en 1957, la première des principales langues est apparue sous la forme deortran. Son nom signifie Système de traduction de Formule. Le langage étaitconçu chez IBM pour le calcul scientifique. Les composants étaient très simples, etfournit au programmeur un accès de bas niveau aux entrailles des ordinateurs., Aujourd’hui, ce langage serait considéré comme restrictif car il n’incluait que les instructions IF, DO, andGOTO, mais à l’époque, ces commandes étaient un grand pas en avant. Les types de données de base utilisés aujourd’hui ont commencé dans FORTRAN, ceux-ci includedlogical variables (TRUE ou FALSE), et integer, real, et double-precisionnumbers.
bien que FORTAN était bon pour gérer les chiffres, il n’était pas si bon pour gérer les entrées et les sorties, ce qui importait le plus pour l’informatique d’entreprise. L’informatique d’entreprise a commencé à décoller en 1959, età cause de cela, COBOL a été développé., Il a été conçu à partir de zéro commela langue pour les hommes d’affaires. Ses seuls types de données étaient des nombres et des chaînes de texte. Il a également permis de les regrouper en tableaux et enregistrements, afin que les données puissent être suivies et mieux organisées. Il est intéressant de noter que le programme aCOBOL est construit d’une manière similaire à un essai, avec quatre ou cinq principauxsections qui construisent dans un ensemble élégant. Les instructions COBOL ont également un trèsgamme de type anglais, ce qui la rend assez facile à apprendre. Toutes ces fonctionnalités ont été conçues pour faciliter l’apprentissage et l’adoption par l’entreprise moyenne.,
(mis à jour le 11 août 2004) en 1958, John McCarthy du MITC a créé le langage LISP (LISt Processing). Il a été conçu pour ArtificialIntelligence (IA) de recherche. Parce qu’il a été conçu pour un domaine spécialisé, la version originale de LISP avait une syntaxe unique: essentiellement aucune. Les programmeurs ont écrit le code dans les arbres d’analyse, qui sont généralement un intermédiaire généré par le compilateur entre une syntaxe plus élevée (comme en C ou Java) et du code de niveau inférieur., Une autre différence évidente entre ce langage (sous sa forme originale) et d’autres langages est que le type de données de base et unique est la liste; au milieu des années 1960, LISP a acquis d’autres types de données. Une liste LISP est désignée par une séquence d’éléments entourée parparenthèses. Les programmes LISP eux-mêmes sont écrits comme un ensemble de listes, de sorte quelisp a la capacité unique de se Modifier, et donc de se développer tout seul., TheLISP syntaxe était connu comme « Cambridge Polish”, car il était très différent de la logique booléenne standard (Wexelblat, 177):
- X V Y – Cambridge Polish, ce qui a été utilisé pour décrire le programme LISP
- ou(X,y) – préfixe entre parenthèses notation, ce qui a été utilisé dans le programme LISP
Lisp reste utilisé aujourd’hui en raison de sa nature hautement spécialisée et abstraite.
la langue Algol a été créée par un comité à usage scientifique en 1958., Sa contribution majeure est la racine de l’arbre qui a conduit à des langages tels que Pascal, C, C++ et Java.It était également la première langue avec une grammaire formelle, connue sous le nom de Backus-NaarForm ou BNF (McGraw-Hill Encyclopedia of Science and Technology, 454). Bien qu’Algol ait implémenté de nouveaux concepts, tels que l’appel récursif de fonctions, la version suivante du langage, Algol 68, est devenue gonflée et difficile à utiliser (www.byte.com). cela a conduit à l’adoption de langues plus petites et plus compactes, telles que Pascal.
Pascal a été commencé en 1968 par NiklausWirth., Son développement était principalement par nécessité pour un bon enseignement tool.In au début, les concepteurs de langues n’espéraient pas qu’il jouisse d’une adoption généralisée. Au lieu de cela, ils se sont concentrés sur le développement de bons outils pour l’enseignement tels qu’un système de débogage et d’édition et le support pour les machines à microprocesseur courantes qui étaient utilisées dans les établissements d’enseignement.
Pascal a été conçu dans une approche très ordonnée, il a combiné Plusieurs des meilleures caractéristiques des langages utilisés à l’époque, COBOL, FORTRAN et ALGOL., Ce faisant, beaucoup de leurrégularités et déclarations bizarres de ces langues ont été nettoyées,ce qui l’a aidé à gagner des utilisateurs (Bergin, 100-101). La combinaison de fonctionnalités, d’entrée / sortie et de fonctionnalités mathématiques solides, en a fait un langage très réussi. Pascal a également amélioré le type de données” pointeur », une caractéristique très puissante de tout langage qui l’implémente., Il a également ajouté une instruction CASE,qui permettait aux instructions de se ramifier comme un arbre de cette manière:
Pascal a également aidé au développement de variables dynamiques, qui pouvaient être créées pendant l’exécution d’un programme, via les commandes NEW et DISPOSE.Cependant, Pascal n’a pas implémenté de tableaux dynamiques, ni de groupes de variables,ce qui s’est avéré nécessaire et a conduit à sa chute (Bergin, 101-102). Wirthlater a créé un successeur à Pascal, Modula-2, mais au moment où il est apparu, Cwas gagne en popularité et les utilisateurs à un rythme rapide.,
C a été développé en 1972 par DennisRitchie alors qu’il travaillait chez Bell Labs dans le New Jersey. La transition dans l’usage des premières grandes langues vers les principales langues d’aujourd’hui s’est produite avec la transition entre Pascal et C. ses ancêtres directs sont B et BCPL, mais ses similitudes avec Pascal sont assez évidentes. Toutes les fonctionnalités de Pascal, y compris les nouvelles telles que L’instruction CASE sont disponibles dans C. C usespointers largement et a été construit pour être rapide et puissant au détriment d’être difficile à lire., Mais parce qu’il a corrigé la plupart des erreurs de Pascal, itwon sur les anciens utilisateurs de Pascal assez rapidement.
Ritchie a développé C pour le nouvel Unixsystem en cours de création en même temps. Pour cette raison, C et Unix vont main dansla main. Unix offre en C des fonctionnalités avancées telles que les variables dynamiques, le multitâche,la gestion des interruptions, Le bifurcation et les entrées-sorties fortes et de bas niveau. Pour cette raison, C est très couramment utilisé pour programmer des systèmes d’exploitation tels que Unix,Windows, MacOS et Linux.
à la fin des années 1970 et au début des années 1980,une nouvelle méthode de programmation était en cours de développement., Il était connu comme orienté Objectprogrammation, ou POO. Les objets sont des éléments de données qui peuvent être empaquetés etmanipulé par le programmeur. Bjarne Stroustroup a aimé cette méthode etdéveloppé des extensions à C connues sous le nom de « C With Classes. »Cet ensemble d’extensionsdéveloppé dans le langage complet C++, qui a été publié en 1983.
C++ a été conçu pour organiser la puissance brute de C en utilisant OOP, mais maintenir la vitesse de C et être capable de fonctionner sur de nombreux types d’ordinateurs. C++ est le plus souvent utilisé dans les simulations, telles quejeux., C++ fournit un moyen élégant de suivre et de manipuler des centaines de personnes dans les ascenseurs, ou des armées remplies de différents types de soldiers. C’est la langue de choix dans les cours D’Informatique AP d’aujourd’hui.
Au début des années 1990, la télévision interactive était la technologie du futur. Sun Microsystems a décidé que la télévision interactive avait besoin d’une langue spéciale, portable (peut fonctionner sur de nombreux types de machines). Cette langue est finalement devenue Java. En 1994, L’équipe du projet Java a changé leurfocus pour le web, qui devenait « the cool thing” après interactive TVfailed., L’année suivante, Netscape sous licence Java pour une utilisation dans leur navigateur Internet, Navigator. À ce stade, Java est devenu le langage du futur etplusieurs entreprises ont annoncé des applications qui seraient écrites en Java, dont aucune n’est entrée en service.
bien que Java ait des objectifs très élevés et soit un exemple de Livre de texte d’un bon langage, il peut être le « langage qui n’était pas.” il a de sérieux problèmes d’optimisation, ce qui signifie que les programmes écrits dans celui-ci fonctionnent très lentement. Et Sun a nui à L’acceptation de Java en s’engageant dansdes batailles politiques à ce sujet avec Microsoft., Mais Java peut finir par devenir le langage de construction de demain car il est vraiment orienté objet et met en œuvre des techniques avancées telles que la véritable portabilité du code et garbagecollection.
Visual Basic est souvent enseigné comme un premier langage de programmation aujourd’hui car il est basé sur le langage BASIC développé en 1964 par John Kemeny et Thomas Kurtz. BASIC est très limitélangue et a été conçu pour les non-informaticiens. Les instructions arechiefly s’exécutent séquentiellement, mais le contrôle du programme peut changer en fonction de IF..,Ensuite, et les instructions GOSUB qui exécutent un certain bloc de code, puis reviennent au point d’origine dans le flux du programme.
Microsoft a étendu BASIC dans son produit Visual Basic (VB). Le cœur de VB est le formulaire ou la fenêtre vide sur laquelle vous faites glisser et déposer des composants tels que des menus, des images et des barres de curseur.Ces éléments sont connus sous le nom de » widgets. »Les Widgets ont des propriétés (telles que itscolor) et des événements (tels que les clics et les double-clics) et sont centraux pour construire n’importe quelle interface utilisateur aujourd’hui dans n’importe quelle langue., VB est le plus souvent utilisé aujourd’hui pour créer des interfaces rapides et simples vers d’autres produits Microsoft tels queexcel et Access sans avoir besoin de beaucoup de code, bien qu’il soit possible de créer des applications complètes avec.
Perl a souvent été décrit comme le »ruban adhésif de l’Internet”, car il est le plus souvent utilisé comme moteur pour l’interface aweb ou dans les scripts qui modifient les fichiers de configuration. Il a des fonctions de correspondance de texte très fortes qui le rendent idéal pour ces tâches., Perl a été développé par Larry Wall en 1987 parce que les outils Unix sed et awk (utilisés pour la manipulation de texte) n’étaient plus assez puissants pour répondre à ses besoins.Selon qui vous demandez, Perl signifie Extraction pratique et Rapporterlangue ou Lister de déchets pathologiquement éclectique.
les langages de programmation ont été développés pendant des années et le resteront pendant de nombreuses années. Ils commencent par une liste d’étapes pour câbler un ordinateur pour effectuer une tâche.Ces étapes ont finalement trouvé leur chemin dans le logiciel et ont commencé à acquerrenewer et de meilleures fonctionnalités., Les premières grandes langues ont été caractérisées par le simple fait qu’elles étaient destinées à un seul but et à un seul but,tandis que les langues d’aujourd’hui sont différenciées par la manière dont elles sont programmées, car elles peuvent être utilisées à presque tous les fins. Et peut-être que les langages oftomorrow seront plus naturels avec l’invention des ordinateurs quantiques et biologiques.