Le premier langage de programmation a été créé. Comment choisissez-vous encore votre (premier) langage de programmation ? Ou Comment poser les bonnes questions ? Qu'est-ce qu'un langage de programmation

Si vous envisagez d'apprendre la programmation, le langage de programmation que vous décidez de choisir en premier est d'une grande importance, il doit être lié à ce que vous voulez faire à l'avenir et être pertinent. Bien que la programmation en général ne soit pas pour les paresseux, certains langages sont plus faciles à apprendre que d'autres et disposent de communautés dédiées à l'apprentissage et offrent des compétences utiles pour apprendre d'autres langages de programmation.

Schéma de sélection

Certaines questions sont posées si souvent que des diagrammes entiers sont créés pour y répondre. En voici par exemple un, dédié au choix du premier langage de programmation.

Lors du choix de votre premier langage de programmation, vous devez évaluer sobrement les facteurs suivants :

  • Marché du travail.
  • Perspectives à long terme pour la langue.
  • Difficulté à apprendre une langue.
  • Que pouvez-vous créer exactement au cours de vos études et, en le montrant aux autres, maintenir votre motivation.

Popularité et demande

Javascript

JavaScript, à ne pas confondre avec Java, est un langage de programmation développé dans les années 90 par Brendan Eich, anciennement de Netscape Communications et aujourd'hui de la Fondation Mozilla. JavaScript est l'une des technologies fondamentales qui alimentent la communauté Web telle que nous la connaissons. Ne vous y trompez pas, même si JavaScript existe en dehors du navigateur, il existe principalement dans le contexte des applications et services connectés.

Le langage lui-même est dynamique et donne aux programmeurs la flexibilité d'utiliser des styles de programmation orientés objet (puisque le langage lui-même est principalement orienté objet), ainsi que fonctionnel et impératif. Il tire l'essentiel de sa syntaxe du C, et si vous envisagez de développer du Web de quelque manière que ce soit, l'apprentissage de JavaScript devrait figurer sur votre liste.

Heureusement, JavaScript est relativement facile à apprendre, déjà présent dans votre navigateur pour que vous puissiez jouer avec, et bien qu'il existe depuis un certain temps, il gagne rapidement en popularité. Beaucoup d'entre vous qui l'ont nominé ont noté que le rapport qualité-prix lors de l'apprentissage de JavaScript est énorme, car vous pouvez immédiatement l'utiliser pour créer des éléments pour le Web, ce qui pourrait très bien être ce que beaucoup de gens apprennent à coder.

Python

Je peux également recommander Python.

Malgré un certain nombre de problèmes historiquement inhérents à Python, il continue d’être un outil leader dans un certain nombre de niches :

Impressionnant, n'est-ce pas ? Quant aux grands projets populaires écrits en Python, ce sont des monstres tels que :

Vous pouvez également le retrouver sur notre site Internet.

La programmation est un processus complexe et à forte intensité de main-d'œuvre que tout le monde ne peut pas comprendre. Le langage machine se compose de nombreux algorithmes et les ordinateurs d'aujourd'hui sont des équipements très avancés car ils sont programmés. Et l'histoire du développement logiciel n'aurait pas été aussi réussie si un langage spécial n'avait pas été inventé pour les machines qui traduisaient des mots-clés symboliques en codes machine. Regardons comment s'est formée l'histoire du développement des langages de programmation.

Les premiers autocodes sont apparus en 1955 grâce aux efforts des développeurs IBM sous la direction de l'ingénieur John Backus. Il s’agissait d’un langage de haut niveau appelé Fortran, non pas d’un ensemble de commandes simples isolées, mais d’une organisation de codes plus vastes appelés opérateurs ou langages algorithmiques. Pour les traduire en code machine, des traducteurs ont été inventés qui transforment les algorithmes et les rendent compréhensibles pour un ordinateur électronique. Cela se produit de deux manières : par interprétation et par compilation. En raison de leur simplicité, les versions Fortran ont rapidement été utilisées, et la dernière d'entre elles est encore aujourd'hui l'un des principaux ordinateurs.

Cependant, ce n'est pas le seul code automatique pour les voitures. L'histoire du développement des langages de programmation se poursuit avec la création des algorithmes Algol, principalement utilisés dans la communauté scientifique et contenant un grand nombre de nouveaux concepts. Cet événement a lieu en 1960. Et un peu plus tard, des employés curieux d'IBM ont imaginé le langage Cobol, orienté vers une utilisation en environnement professionnel et utilisé pour traiter des informations complexes et volumineuses à caractère économique.

L'histoire du développement des langages de programmation se poursuit avec les professeurs du Dartsmouth College, T. Kurtz et J. Kemeny, qui ont développé le célèbre BASIC. Il est beaucoup plus simple que Fortran et a donc été utilisé en Il a eu un effet explosif, devenant l'ensemble principal de codes d'auto-programmation et faisant des ordinateurs la propriété des utilisateurs les plus ordinaires.

La facilité d'utilisation et la possibilité de communication interactive sont les avantages les plus importants du langage BASIC. Les inconvénients incluent l'absence de restrictions sur la compilation des programmes, ce qui les confond très souvent et les rend logiquement incompréhensibles. Les programmes écrits en BASIC sont lents car ils ne sont pas basés sur des compilateurs, mais sur des interpréteurs.

Aujourd'hui, les scientifiques continuent de travailler à son amélioration et tentent de le rapprocher du programme Pascal, qui a encore marqué l'histoire du développement des langages de programmation. Le professeur de l'Université polytechnique de Zurich Niklaus Wirth est à juste titre considéré comme son créateur. Et il a donné le nom à son invention en l'honneur de Pascal, qui fut le premier concepteur du tout premier ordinateur. C'est l'un des langages de programmation les plus simples et les plus accessibles, vous permettant d'écrire des programmes clairs et compréhensibles.

L'histoire du développement de la programmation serait incomplète sans le langage Ada, du nom de la première programmeuse Ada Lovelace, fille du célèbre sweat. Il s'agit d'un langage de programmation plus avancé et universel basé sur Pascal.

L'histoire du développement logiciel compte dans son arsenal de nombreux autres langages de programmation écrits pour des domaines d'application particuliers. Par exemple, Simul, Simkrit et GPSS sont utilisés en modélisation. Le langage FORT est utilisé pour contrôler les équipements. écrit en langage SI. Les bases de données sont créées en utilisant le langage Kodasil. Logo, Robik et A.P. sont pratiques pour apprendre la programmation. Erchova.

L’histoire du développement de la programmation n’est pas encore entièrement écrite et il est peu probable que cela se produise dans un avenir proche.

L'une des idées les plus révolutionnaires qui ont conduit à la création d'ordinateurs numériques automatiques a été l'idée exprimée dans les années 20 du 19e siècle par Charles Babidge de pré-enregistrer l'ordre de fonctionnement de la machine pour la mise en œuvre automatique ultérieure des calculs - un programme . Et, bien que l'enregistrement de programmes sur des cartes perforées utilisées par Babyge, inventées pour contrôler de telles machines par l'inventeur français Joseph Marie Jacquard, n'ait techniquement rien de commun avec les méthodes modernes de stockage de programmes dans un PC, le principe ici est essentiellement le même. A partir de ce moment commence l'histoire de la programmation.
Ada Levellace, une contemporaine de Babidge, est considérée comme la première programmeuse au monde. Elle a théoriquement développé certaines techniques de contrôle de la séquence de calculs qui sont encore utilisées aujourd'hui en programmation. Elle a également décrit l'une des constructions les plus importantes de presque tous les langages de programmation modernes : une boucle.

Un moment révolutionnaire dans l'histoire des langages de programmation a été l'émergence d'un système de codage d'instructions machine à l'aide de caractères spéciaux, proposé par John Mauchly. Le système de codage qu'il a proposé a inspiré l'une de ses collaboratrices, Grace Murray Hopper. En travaillant sur l'ordinateur Mark-1, elle et son groupe ont dû faire face à de nombreux problèmes et tout ce qu'ils ont proposé était pour la première fois. En particulier, ils ont proposé des sous-programmes. Et un autre concept fondamental de la technique de programmation a été introduit pour la première fois par Hopper et son groupe : le « débogage ».
À la fin des années 40, J. Mauchly a créé un système appelé « Short Code », qui était un langage de programmation primitif de haut niveau. Dans ce document, le programmeur notait le problème à résoudre sous la forme de formules mathématiques, puis, à l'aide d'un tableau spécial, traduisait caractère par caractère, convertissant ces formules en codes à deux lettres. Par la suite, un programme informatique spécial a converti ces codes en code machine binaire. Le système développé par J. Mauchly est considéré comme l'un des premiers interprètes primitifs.

Déjà en 1951, Hopper créait le premier compilateur au monde et introduisait également ce terme. Le compilateur Hopper remplissait la fonction de combinaison de commandes et, lors de la traduction, organisait des sous-programmes, allouait de la mémoire informatique et convertissait les commandes de haut niveau (à l'époque des pseudocodes) en commandes machine. « Les sous-programmes se trouvent dans la bibliothèque (de l'ordinateur), et lorsque vous sélectionnez du matériel dans la bibliothèque, cela s'appelle compilation », c'est ainsi qu'elle a expliqué l'origine du terme qu'elle a inventé.

En 1954, un groupe dirigé par G. Hopper a développé un système comprenant un langage de programmation et un compilateur, appelé plus tard Math-Matic. Une fois Math-Matic terminé avec succès, Hopper et son équipe se sont mis à développer un nouveau langage et un nouveau compilateur qui permettraient aux utilisateurs de programmer dans un langage similaire à l'anglais ordinaire. En 1958, le compilateur Flow-Matic apparaît. Le compilateur Flow-Matic a été le premier langage destiné aux tâches de traitement de données commerciales.
Les évolutions dans ce sens ont conduit à la création du langage COBOL (Common Business Oriented Language). Elle a été créée en 1960. Dans ce langage, par rapport à Fortran et Algol, les outils mathématiques sont moins développés, mais les outils de traitement de texte et l'organisation de la sortie des données sous la forme du document requis sont bien développés. Il a été conçu comme le langage principal pour le traitement de masse des données dans les domaines de la gestion et des affaires.

Le milieu des années 50 est caractérisé par des progrès rapides dans le domaine de la programmation. Le rôle de la programmation dans les commandes des machines a commencé à diminuer. De nouveaux types de langages de programmation ont commencé à apparaître, agissant comme intermédiaire entre les machines et les programmeurs. Le premier et l'un des plus répandus était Fortran (FORTRAN, de FORmula TRANslator - traducteur de formules), développé par un groupe de programmeurs IBM en 1954 (première version). Ce langage était axé sur les calculs scientifiques et techniques de nature mathématique et est un langage de programmation classique pour résoudre des problèmes mathématiques et techniques sur PC.
Pour les premiers langages de programmation de haut niveau, l'orientation thématique des langages était une caractéristique.
Algol occupe une place particulière parmi les langages de programmation dont la première version est apparue en 1958. L'un des développeurs d'Algol était le « père » de Fortran, John Backus. Le nom ALGOrithmic Language souligne le fait qu’il est destiné à l’écriture d’algorithmes. Grâce à sa structure logique claire, Algol est devenu un moyen standard d'écriture d'algorithmes dans la littérature scientifique et technique.

Au milieu des années 60, Thomas Kurtz et John Kameny (employés du département de mathématiques du Dartmouth College) ont créé un langage de programmation spécialisé composé de simples mots anglais. Le nouveau langage s’appelait « Code d’instruction symbolique polyvalent pour débutants, ou BASIC en abrégé ». L'année de naissance du nouveau langage peut être considérée comme 1964. Aujourd'hui, le langage BASIC universel (qui existe en de nombreuses versions) a acquis une grande popularité et est répandu parmi les utilisateurs de PC de diverses catégories dans le monde entier. Cela a été grandement facilité par le fait que BASIC a commencé à être utilisé comme langage intégré aux ordinateurs personnels, dont l'utilisation généralisée a commencé à la fin des années 70. Cependant, BASIC est un langage non structuré et est donc mal adapté à l’enseignement d’une programmation de qualité. Pour être juste, il convient de noter que les dernières versions de BASIC pour PC (par exemple, QBasic) sont devenues plus structurelles et, dans leurs capacités visuelles, se rapprochent de langages comme Pascal.

Les développeurs ont concentré les langages sur différentes classes de tâches, les ont liés à un degré ou à un autre à une architecture PC spécifique et ont mis en œuvre des goûts et des idées personnels. Dans les années 60, des tentatives ont été faites pour surmonter cette « discorde » en créant un langage de programmation universel. La première idée originale de cette direction fut le PL/1 (Programm Language One), développé par IBM en 1967. Ce langage prétendait pouvoir résoudre n'importe quel problème : informatique, traitement de texte, accumulation et récupération d'informations. Cependant, il s'est avéré trop complexe, le traducteur n'était pas assez optimal et contenait un certain nombre d'erreurs non détectées.
Cependant, la ligne vers l'universalisation des langues a été soutenue. Les langages anciens ont été modernisés en versions universelles : ALGOL-68 (1968), Fortran-77. On supposait que ces langages se développeraient et s'amélioreraient et commenceraient à supplanter tous les autres. Cependant, aucune de ces tentatives n’a abouti.

Le langage LISP est apparu en 1965. Le concept principal est le concept de fonctions définies de manière récursive. Puisqu'il a été prouvé que tout algorithme peut être décrit à l'aide d'un certain ensemble de fonctions récursives, LISP est essentiellement un langage universel. Avec son aide, un PC peut simuler des processus assez complexes, en particulier l'activité intellectuelle des personnes.
Prolog a été développé en France en 1972 pour résoudre des problèmes d'« intelligence artificielle ». Prologue permet de décrire formellement diverses affirmations, la logique du raisonnement, et oblige le PJ à donner des réponses aux questions posées.
Un événement marquant dans l'histoire des langages de programmation fut la création du langage Pascal en 1971. Son auteur est le scientifique suisse Niklaus Wirth. Wirth lui a donné le nom du grand mathématicien et philosophe religieux français du XVIIe siècle Blaise Pascal, qui a inventé le premier dispositif d'addition, c'est pourquoi la nouvelle langue porte son nom. Ce langage a été développé à l'origine comme langage pédagogique pour la programmation structurée et, en effet, il est désormais l'un des principaux langages pour l'enseignement de la programmation dans les écoles et les universités.

En 1975, deux événements sont devenus des jalons dans l'histoire de la programmation : Bill Gates et Paul Allen se sont annoncés en développant leur version de BASIC, et Wirth et Jensen ont publié la description classique du langage « Pascal User Manual and Report ».

Un succès non moins impressionnant, y compris financier, a été obtenu par Philip Kahn, un Français qui a développé le système Turbo-Pascal en 1983. L'essence de son idée était de combiner les étapes successives du traitement du programme - compilation, édition des liens, débogage et diagnostic des erreurs - dans une seule interface. Turbo Pascal n'est pas seulement un langage et un traducteur, mais également un shell d'exploitation qui permet à l'utilisateur de travailler facilement en Pascal. Ce langage a dépassé son objectif pédagogique et est devenu un langage de programmation professionnel doté de capacités universelles. Grâce à ces avantages, Pascal est devenu la source de nombreux langages de programmation modernes. Depuis, plusieurs versions de Turbo Pascal sont apparues, la dernière en date étant la septième.
Borland/Inprise a complété la gamme de produits Turbo Pascal et a ensuite lancé un système de développement visuel pour Windows - Delphi.

Le langage C (première version – 1972), très populaire parmi les développeurs de systèmes logiciels (y compris les systèmes d’exploitation), a laissé une grande empreinte sur la programmation moderne. Ce langage a été créé comme langage instrumental pour développer des systèmes d'exploitation, des traducteurs, des bases de données et d'autres programmes système et d'application. C combine à la fois les fonctionnalités d'un langage de haut niveau et d'un langage orienté machine, permettant au programmeur d'accéder à toutes les ressources de la machine, ce que des langages comme BASIC et Pascal ne fournissent pas.
La période de la fin des années 60 au début des années 80 a été caractérisée par une croissance rapide du nombre de langages de programmation différents qui a accompagné la crise du logiciel. En janvier 1975, le Pentagone décida de mettre de l’ordre dans le chaos des traducteurs et créa un comité chargé de développer une langue universelle. En mai 1979, le gagnant a été annoncé : un groupe de scientifiques dirigé par Jean Ikhbia. La langue gagnante a été baptisée Ada, en l'honneur d'Augusta Ada Levellace. Ce langage est destiné à la création et à la maintenance à long terme (à long terme) de grands systèmes logiciels ; il permet un traitement parallèle et un contrôle de processus en temps réel.

Pendant de nombreuses années, les logiciels ont été construits sur la base de langages opérationnels et procéduraux tels que Fortran, BASIC, Pascal, Ada, C. À mesure que les langages de programmation évoluaient, d'autres approches fondamentalement différentes de la création de programmes se sont généralisées.
Il existe un grand nombre de classifications de langages de programmation selon divers critères. Les classifications les plus courantes sont :
 langages de programmation de haut niveau (Pascal, BASIC) et de bas niveau (Assembleur) ;
 strictement typé (Pascal) et vaguement typé (BASIC) ;
 avec et sans support de la programmation orientée objet (C++), etc.

Considérons une autre classification. Les langages de programmation sont divisés en :
1) Langages orientés machine :
- les langages machines ;
- les langages de codage symbolique ;
 codes automatiques ;
-macro.
2) Langages indépendants de la machine :
- les langages orientés problèmes ;
- les langues universelles ;
- les langages interactifs ;
- les langages non procéduraux.

Langages orientés machine

Les langages orientés machine sont des langages dont les ensembles d'opérateurs et de moyens graphiques dépendent de manière significative des caractéristiques du PC (langage interne, structure mémoire, etc.). Les langages orientés machine ont les fonctionnalités suivantes :
 haute qualité des programmes créés (compacité et rapidité d'exécution) ;
 la possibilité d'utiliser des ressources matérielles spécifiques ;
 prévisibilité du code objet et des ordres de mémoire ;
 pour créer des programmes efficaces, vous devez connaître le système de commande et les fonctionnalités de fonctionnement de ce PC ;
 le processus d'écriture de programmes à forte intensité de main d'œuvre (notamment dans les langages machine et JSC), mal protégé contre les erreurs ;
 faible vitesse de programmation ;
 l'impossibilité d'utiliser directement les programmes compilés dans ces langages sur d'autres types d'ordinateurs.
Les langages orientés machine sont divisés en classes selon le degré de programmation automatique.

Language de machine

Un ordinateur individuel possède son propre langage machine spécifique (ci-après dénommé ML), il est prescrit d'effectuer des opérations spécifiées sur les opérandes qu'ils définissent, donc ML est un langage de commande. La commande rapporte des informations sur l'emplacement des opérandes et le type d'opération en cours.
Dans les nouveaux modèles de PC, il existe une tendance à améliorer les langages internes du matériel pour implémenter des commandes plus complexes, plus proches dans leurs actions fonctionnelles des opérateurs de langages de programmation algorithmiques.

Langages de codage symbolique

Les langages de codage symbolique (ci-après dénommés SKL), tout comme le ML, sont des langages de commande. Cependant, les codes d'opération et les adresses dans les instructions machine, qui sont une séquence de chiffres binaires (dans le code interne) ou octaux (souvent utilisés lors de l'écriture de programmes), sont remplacés dans YSC par des symboles (identifiants), dont la forme d'écriture aide le programmeur. mémoriser plus facilement le contenu sémantique de l'opération. Cela garantit une réduction significative du nombre d'erreurs lors de la compilation des programmes.
L'utilisation d'adresses symboliques est la première étape pour créer un YASK. Les commandes PC contiennent des adresses symboliques au lieu de véritables adresses (physiques). Sur la base des résultats du programme compilé, le nombre requis de cellules pour stocker les valeurs intermédiaires initiales et résultantes est déterminé. L'attribution des adresses, effectuée séparément de la compilation du programme en adresses symboliques, peut être effectuée par un programmeur moins qualifié ou par un programme spécial, ce qui facilite grandement le travail du programmeur.

Codes automatiques

Il existe des langages qui incluent toutes les capacités de YSC, grâce à l'introduction étendue de commandes macro - elles sont appelées autocodes.

Dans divers programmes, il existe des séquences de commandes assez fréquemment utilisées qui correspondent à certaines procédures de conversion d'informations. La mise en œuvre efficace de telles procédures est assurée par leur conception sous forme de macro-commandes spéciales et l'inclusion de ces dernières dans un langage de programmation accessible au programmeur. Les commandes macro sont traduites en commandes machine de deux manières : disposition et génération. Le système intermédiaire contient des « squelettes » – une série de commandes qui implémentent la fonction requise, indiquée par une macro-commande. Les macro-instructions assurent le transfert de paramètres réels qui, pendant le processus de traduction, sont insérés dans le « squelette » du programme, le transformant en un véritable programme machine.
Dans un système de génération, il existe des programmes spéciaux qui analysent la macro-commande, déterminent quelle fonction doit être exécutée et forment la séquence de commandes nécessaire qui implémente cette fonction.
Ces deux systèmes utilisent des traducteurs JSC et un ensemble de commandes macro, qui sont également des opérateurs de codage automatique.
Les autocodes développés sont appelés assembleurs. En règle générale, les programmes de service, etc., sont écrits en langages assembleur.

Macro

Un langage qui est un outil permettant de remplacer une séquence de caractères décrivant l'exécution des actions informatiques requises sous une forme plus condensée est appelé macro (outil de remplacement).
Fondamentalement, une macro vise à raccourcir l’enregistrement du programme original. Le composant logiciel qui permet aux macros de fonctionner est appelé processeur de macros. Le macroprocesseur reçoit le texte source et définissant la macro. La réponse du macroprocesseur à un appel consiste à émettre un texte de sortie.
Les macros peuvent fonctionner de la même manière avec les programmes et les données.

Langages indépendants de la machine

Les langages indépendants de la machine sont un moyen de décrire des algorithmes permettant de résoudre des problèmes et des informations à traiter. Ils sont faciles à utiliser pour un large éventail d'utilisateurs et ne nécessitent pas qu'ils connaissent les spécificités de l'organisation du fonctionnement d'un PC.
Ces langages sont appelés langages de programmation de haut niveau. Les programmes compilés dans de tels langages sont des séquences d'instructions structurées selon les règles de visualisation du langage (tâches, segments, blocs, etc.). Les opérateurs de langage décrivent les actions que le système doit effectuer après la traduction du programme en ML.
Ainsi, les séquences de commandes (procédures, sous-programmes), souvent utilisées dans les programmes machines, sont représentées dans les langages de haut niveau par des instructions individuelles. Le programmeur a pu non pas décrire en détail le processus de calcul au niveau des instructions machine, mais se concentrer sur les principales caractéristiques de l'algorithme.

Langages orientés problèmes

Avec l'expansion des domaines d'application de la technologie informatique, le besoin s'est fait sentir de formaliser la présentation de la formulation et de la solution de nouvelles classes de problèmes. Il était nécessaire de créer des langages de programmation qui, en utilisant des notations et une terminologie dans ce domaine, permettraient de décrire les algorithmes de solution requis pour les problèmes assignés ; ils sont devenus des langages orientés problèmes ; Ces langages sont axés sur la résolution de problèmes spécifiques et doivent fournir au programmeur des outils qui lui permettent de formuler brièvement et clairement un problème et d'obtenir des résultats sous la forme requise.
Il existe de nombreux langages problématiques, par exemple :
- Fortran, Algol – langages créés pour résoudre des problèmes mathématiques ;
- Simula, Slang - pour la modélisation ;
- Lisp, Snoball - pour travailler avec des structures de liste.

Langues universelles

Des langages universels ont été créés pour un large éventail de tâches : commerciales, scientifiques, de modélisation, etc. Le premier langage universel a été développé par IBM, qui est devenu PL/1 dans la séquence des langages. Le deuxième langage universel le plus puissant s’appelle ALGOL-68.

Langages conversationnels

L'émergence de nouvelles capacités techniques a posé une tâche aux programmeurs système : créer des outils logiciels qui assurent une interaction rapide entre une personne et un PC ; ils sont appelés langages interactifs ;
Ce travail a été réalisé dans deux directions. Des langages de contrôle spéciaux ont été créés pour fournir un impact opérationnel sur l'achèvement des tâches, qui ont été compilées dans des langages (sans dialogue) jusqu'alors non développés. Des langages ont également été développés qui, en plus des objectifs de contrôle, fourniraient une description des algorithmes permettant de résoudre des problèmes.
La nécessité d'assurer une interaction rapide avec l'utilisateur nécessitait de stocker une copie du programme source dans la mémoire de l'ordinateur même après avoir reçu le programme objet en code machine. Lors de la modification d'un programme à l'aide d'un langage interactif, le système de programmation, à l'aide de tables spéciales, établit la relation entre les structures des programmes source et objet. Cela vous permet d'effectuer les modifications éditoriales requises dans le programme objet.
Un exemple de langage conversationnel est BASIC.

Langages non procéduraux

Les langages non procéduraux constituent un groupe de langages qui décrivent l'organisation des données traitées à l'aide d'algorithmes fixes (langages tabulaires et générateurs de rapports) et des langages de communication avec les systèmes d'exploitation.
Permettant de décrire clairement à la fois la tâche et les actions nécessaires pour la résoudre, les tableaux de décision permettent de déterminer clairement quelles conditions doivent être remplies avant de passer à toute action. Une table de décision, décrivant une certaine situation, contient tous les schémas fonctionnels possibles d'implémentations d'algorithmes de solution.
Les méthodes tabulaires sont facilement maîtrisées par les spécialistes de n'importe quelle profession. Les programmes écrits en langage tabulaire décrivent facilement des situations complexes qui surviennent lors de l'analyse du système.
Les langages de programmation servent à différentes fins et leur choix est déterminé par la convivialité, l'adéquation à un ordinateur donné et à une tâche donnée. Et les problèmes d'un ordinateur peuvent être très divers : informatiques, économiques, graphiques, experts, etc. Cette diversité de problèmes résolus par un ordinateur détermine la variété des langages de programmation. En programmation, les meilleurs résultats sont obtenus avec une approche individuelle basée sur la classe du problème, le niveau et les intérêts du programmeur.

Historique de la création du langage de programmation Basic et Visual Basic

Le langage de programmation Basic a été créé en 1964 par deux professeurs du Dartmouth College, John Kenemi et Thomas Kurtz, pour enseigner aux étudiants des compétences en programmation. La langue s'est avérée si simple et compréhensible qu'après un certain temps, elle a commencé à être utilisée dans d'autres établissements d'enseignement. En 1975, avec l’avènement des premiers micro-ordinateurs, le relais Basic a été repris par Bill Gates et Paul Allen, les fondateurs de Microsoft. Ce sont eux qui ont créé une nouvelle version de Basic pour les premiers ordinateurs Altair (MITS Altairs), capable de fonctionner avec 4 Ko de RAM. Au fil du temps, c'est cette version qui est devenue l'un des langages de programmation les plus populaires au monde. Sur le chemin de l'apogée de la gloire, Basic a connu de nombreuses difficultés, qu'il a toujours surmontées avec honneur, et lorsque les premiers ordinateurs personnels IBM PC sont apparus, il est devenu le standard en matière de programmation, mais sous la forme de GW-Basic. Ensuite, il y avait Turbo Basic, QuickBasic, Basic PDS, mais toujours lors du développement d'une nouvelle version du langage, la compatibilité avec les versions précédentes était maintenue et un programme écrit pour presque le premier Basic pourrait bien (avec des modifications mineures) fonctionner dans les versions ultérieures de ce langue. Mais de nouveaux temps sont arrivés et au début des années 90, le système d'exploitation Microsoft Windows est apparu avec une nouvelle interface utilisateur graphique (GUI).

La vie des programmeurs est devenue un enfer. Pour créer un programme simple, il fallait écrire plusieurs pages de code : créer des menus et des fenêtres, changer les polices, vider la mémoire, « dessiner » des boutons, etc. Cependant, les avantages de la nouvelle interface étaient si indéniables que déjà la troisième version de ce système d'exploitation est devenue le standard de facto pour un ordinateur personnel. A cette époque, plusieurs projets parallèles étaient en cours au sein de Microsoft pour créer un nouveau langage de programmation pour Windows. Et en 1991, sous le slogan « Désormais, même les programmeurs débutants peuvent facilement créer des applications pour Windows », la première version du nouvel outil Microsoft Visual Basic est apparue. À cette époque, Microsoft évaluait assez modestement les capacités de ce système, le ciblant principalement sur la catégorie des programmeurs débutants et non professionnels. La tâche principale était alors de lancer sur le marché un outil de développement simple et pratique dans l'environnement Windows alors relativement nouveau, dont la programmation était un problème même pour les professionnels expérimentés. Le système de programmation créé par les développeurs de Visual Basic a permis de « prendre du recul » par rapport à la structure interne complexe de Windows et de créer des programmes à partir de « cubes », comme dans un jeu de construction pour enfants. Des menus, des fenêtres, des listes, des boutons, des champs de saisie de texte et d'autres éléments de l'interface Windows ont été ajoutés au programme à l'aide de simples opérations de glisser-déposer.

Les programmeurs VB ont créé leur premier programme quelques minutes après avoir commencé à apprendre ce langage ! De plus, Visual Basic a permis aux développeurs de créer de nouveaux objets « cubes » qui pourraient également être utilisés dans des programmes en plus des objets standards. Et bien que de nombreux programmeurs C se soient moqués des tentatives de Microsoft de créer un outil simple et compréhensible pour développer des programmes Windows, Visual Basic a commencé sa marche victorieuse à travers le monde et rien n'a pu arrêter ce processus. Les dernières barrières sont tombées en 1994 avec la sortie de Visual Basic pour Applications. C'est à cette époque, après l'inclusion de VBA dans Microsoft Office, que Basic a commencé à devenir l'un des principaux standards de programmation pour Windows. Pour Microsoft, le langage Basic revêt une importance particulière ; à une époque, le développement d'une version Basic pour l'ordinateur Altair 8800 a marqué le début de la carrière de programmation de ses fondateurs, Bill Gates et Paul Allen. Par conséquent, à un moment donné - en 1989, lorsque le moment est venu de répartir les principales orientations de création d'environnements de développement dans divers langages de programmation entre différentes entreprises, Microsoft a retenu QuickBasic - un environnement pour développer des programmes en Basic, refusant, par exemple, de continuer travailler sur le langage de programmation Pascal, le laissant à Borland, qui, à son tour, arrêta de travailler sur sa version Basic (Pascal devint plus tard le langage Delphi).

Initialement conçu comme un jouet, Visual Basic de Microsoft a pris d'assaut le monde de la programmation. Sa popularité est due à deux raisons : la relative simplicité et la productivité. Les programmes VB sont plus lents que leurs homologues C/C++, mais ils restent suffisamment rapides pour de nombreuses tâches commerciales et nécessitent beaucoup moins de temps de développement. Les formulaires étaient la même abstraction permettant d'économiser des efforts que VB offrait aux programmeurs Windows. L'IDE VB a permis de concevoir des fenêtres graphiquement en faisant glisser des contrôles tels que des boutons et des zones de liste depuis la barre d'outils vers un formulaire. Une fois que vous étiez satisfait de l'apparence du formulaire, vous pouvez passer au code et écrire des gestionnaires d'événements pour chaque contrôle de formulaire.

Développer une application en VB consistait ainsi à créer plusieurs formulaires qui communiquaient entre eux et consultaient éventuellement une base de données pour obtenir les informations nécessaires. La forme résultante s’est avérée être une fenêtre, qui offrait un moyen beaucoup plus pratique d’utiliser les techniques de fenêtrage. VB a réduit les erreurs en supprimant certaines syntaxes C/C++ cachées. Sauf cas particuliers, les expressions étaient limitées à une seule ligne de code et les variables devaient être déclarées et initialisées sur des lignes de code distinctes. Les opérateurs d'affectation et de comparaison utilisaient le même symbole, mais la grammaire VB exigeait que ces opérateurs soient utilisés d'une manière qui rende clairement leur intention.

Peut-être plus important encore, il n'y avait aucun pointeur - une exigence de Bill Gates depuis les premières versions de Microsoft BASIC. Bien que les pointeurs soient utiles car ils permettent un accès direct à la mémoire à n’importe quelle adresse, leur utilisation est sujette à des erreurs s’ils ne sont pas utilisés avec précaution. L'exigence de simplicité grammaticale du BASIC vient du fait qu'il a été créé à l'origine comme un langage d'enseignement : le « Code pédagogique symbolique polyvalent pour débutants ». La version 6 de VB est déjà un langage puissant qui peut être utilisé pour créer des applications distribuées en utilisant Composants COM et Microsoft Transaction Server Microsoft a proposé une approche à trois niveaux pour les architectures client-serveur dans laquelle des interfaces utilisateur légères interagissaient avec des composants VB distants pour récupérer des données d'une base de données ou d'une autre machine.

À l'aide de VBScript et VBA (VB pour Applications), vous pouvez écrire des scripts pour les navigateurs Web et automatiser les applications Microsoft Office. De plus, VB6 peut être utilisé pour créer des contrôles Active-X fonctionnant avec Internet Explorer, bien que cela soit rarement fait car cela nécessite l'installation de la DLL d'exécution VB sur la machine client Internet. À partir de VB5, les programmes VB ont été compilés en code machine, mais ils étaient basés sur l'utilisation d'une DLL qui fournissait des fonctions couramment utilisées et implémentait les capacités objet de VB. Ce qui est intéressant, c'est que le compilateur VB utilise le mode multi-passes pour la traduction et s'appuie finalement sur le compilateur Microsoft C++ pour produire une sortie de code machine après compilation dans un langage intermédiaire. Les germes de .NET sont visibles dans cette fonctionnalité de VB : l'utilisation d'une bibliothèque d'exécution et d'un backend C++.

Histoire de la création du langage de programmation C#

Le langage C# est né en juin 2000 grâce au travail minutieux d'un grand groupe de développeurs Microsoft, dirigé par Anders Hejlsberg. Cet homme est connu comme l'auteur de l'un des premiers langages de programmation compilés pour les ordinateurs personnels IBM - Turbo Pascal. Probablement, sur le territoire de l'ex-Union soviétique, de nombreux développeurs expérimentés, et simplement des personnes ayant étudié la programmation sous une forme ou une autre dans les universités, ont découvert le charme et la facilité d'utilisation de ce produit. De plus, alors qu'il travaillait chez Borland Corporation, Anders Hejlsberg est devenu célèbre pour avoir créé l'environnement intégré Delphi (il a dirigé ce projet jusqu'à la sortie de la version 4.0).
Ce n'est pas un hasard si l'apparition du langage C# et de l'initiative .NET s'est produite au début de l'été 2000. C'est à cette époque que Microsoft préparait des versions industrielles de nouvelles technologies et solutions de composants dans le domaine de la messagerie et de l'échange de données, comme ainsi que la création d'applications Internet (COM+, ASP+, ADO+ , SOAP, Biztalk Framework). Sans aucun doute, la meilleure façon de promouvoir ces nouveaux produits est de créer une boîte à outils pour les développeurs avec leur plein soutien. C'est l'un des principaux objectifs du nouveau langage C#. En outre, Microsoft ne pouvait plus étendre les mêmes outils et langages de développement, ce qui les rendait de plus en plus complexes pour répondre aux exigences contradictoires de prise en charge du matériel moderne et de maintien de la compatibilité ascendante avec les produits créés au début des années 1990. lors de la première apparition de Windows. Il arrive un moment où il est nécessaire de repartir de zéro afin de créer un ensemble simple mais complexe de langages, d'environnements et d'outils de développement qui permettront au développeur de créer facilement des produits logiciels modernes.

C# et .NET sont le point de départ. Pour faire simple, .NET est une nouvelle plateforme, une nouvelle API pour la programmation sous Windows, et C# est un nouveau langage créé de toutes pièces pour fonctionner avec cette plateforme, et pour tirer pleinement parti des progrès des environnements de développement et de nos compréhension des principes de la programmation orientée objet depuis 20 ans.
Il convient de noter que la compatibilité ascendante n’est pas perdue. Les programmes existants fonctionneront et la plate-forme .NET a été conçue pour fonctionner avec les logiciels existants. La communication entre les composants de Windows se fait désormais presque entièrement via COM. Dans cet esprit, .NET a la capacité de (a) créer des wrappers autour des composants COM existants afin que les composants .NET puissent communiquer avec eux, et (b) créer des wrappers autour des composants .NET afin qu'ils ressemblent à des composants COM classiques.

Les auteurs de C# ont cherché à créer un langage qui combine la simplicité et l'expressivité des langages modernes orientés objet (comme Java) avec la richesse et la puissance du C++. Selon Anders Hejlsberg, C# emprunte l’essentiel de sa syntaxe au C++. En particulier, il contient des types de données aussi pratiques que les structures et les énumérations (un autre descendant du C++ - Java - ne dispose pas de ces éléments, ce qui crée certains inconvénients lors de la programmation). Les constructions syntaxiques C# sont héritées non seulement de C++, mais également de Visual Basic. Par exemple, C#, comme Visual Basic, utilise des propriétés de classe. Comme C++, C# permet la surcharge d'opérateurs pour les types que vous créez (Java ne prend en charge aucune de ces fonctionnalités). C# est en fait un hybride de différents langages. Dans le même temps, C# n'est pas moins (sinon plus) syntaxiquement propre que Java, aussi simple que Visual Basic, et a presque la même puissance et la même flexibilité que C++.

Fonctionnalités de C# :

Un ensemble complet et bien défini de types de base.
- Prise en charge intégrée de la génération automatique de documentation XML. Libération automatique de la mémoire allouée dynamiquement.
- Possibilité de marquer les classes et les méthodes avec des attributs définis par l'utilisateur. Cela peut être utile pour la documentation et affecter le processus de compilation (par exemple, vous pouvez marquer les méthodes qui ne doivent être compilées qu'en mode débogage).
- Accès complet à la bibliothèque de classes de base .NET, ainsi qu'un accès facile à l'API Windows (si vous en avez vraiment besoin).
- Pointeurs et accès direct à la mémoire, si nécessaire. Cependant, le langage est conçu de telle manière que dans presque tous les cas, vous pouvez vous en passer.
- Prise en charge des propriétés et des événements de style VB.
- Clés de compilation faciles à modifier. Permet d'obtenir des exécutables ou des bibliothèques de composants .NET pouvant être appelés par d'autres codes de la même manière que les contrôles ActiveX (composants COM).
- Capacité à utiliser C# pour écrire des pages Web ASP.NET dynamiques.

Un domaine auquel ce langage n'est pas destiné est celui des programmes à temps critique et à haut débit, pour lesquels il est important de savoir si une boucle prend 1 000 ou 1 050 cycles machine à s'exécuter et où les ressources doivent être libérées immédiatement. C++ reste le meilleur langage de bas niveau dans ce domaine. C# manque de certaines fonctionnalités clés nécessaires pour créer des applications hautes performances, telles que des fonctions en ligne et des destructeurs dont l'exécution est garantie à certains points du code. Ce langage est également activement utilisé pour créer des jeux vidéo modernes, par exemple, le jeu Battlefield 3 est partiellement écrit en C# et entièrement en technologie .NET.

Consistait à installer des interrupteurs à clé sur le panneau avant de l'appareil informatique. Évidemment, seuls de petits programmes pourraient être écrits de cette manière.

Avec le développement de la technologie informatique, le langage machine est apparu, à l'aide duquel le programmeur pouvait définir des commandes fonctionnant avec des cellules de mémoire, en utilisant pleinement les capacités de la machine. Cependant, utiliser la plupart des ordinateurs au niveau du langage machine est difficile, notamment en matière d'entrée/sortie. Nous avons donc dû abandonner son utilisation.

Par exemple, pour lire un bloc de données sur une disquette, le programmeur peut utiliser 16 commandes différentes, chacune nécessitant 13 paramètres, comme le numéro de bloc sur le disque, le numéro de secteur sur la piste, etc. l'opération terminée, le contrôleur renvoie 23 valeurs reflétant la présence et les types d'erreurs qui doivent être analysées.

Les « mots » en langage machine sont appelés instructions, dont chacun représente une action élémentaire pour le processeur central, comme par exemple lire une information dans une cellule mémoire.

Chaque modèle de processeur possède son propre ensemble d'instructions machine, même si la plupart d'entre elles sont identiques. Si le processeur A comprend parfaitement le langage du processeur B, alors le processeur A est dit compatible avec le processeur B. Le processeur B sera dit incompatible avec le processeur A si A a des instructions qui ne sont pas reconnues par le processeur B.

Tout au long des années 60, les demandes de développement de logiciels ont augmenté et les programmes sont devenus très volumineux. Les gens ont commencé à réaliser que créer des logiciels était une tâche beaucoup plus difficile qu’ils ne l’avaient imaginé. Cela a conduit au développement d’une programmation structurée. Avec le développement de la programmation structurée, la prochaine avancée concerne les procédures et les fonctions. Par exemple, si une tâche est exécutée plusieurs fois, elle peut alors être déclarée comme fonction ou procédure et simplement appelée lors de l'exécution du programme. Dans ce cas, le code global du programme devient plus petit. Les fonctions vous permettent de créer des programmes modulaires.

L'avancée suivante fut l'utilisation de structures, qui conduisirent à des cours. Les structures sont des types de données composites construits à l'aide d'autres types. Par exemple, la structure du temps. Il comprend : les heures, les minutes, les secondes. Le programmeur pourrait créer une structure temporelle et travailler avec elle comme une structure distincte. Une classe est une structure qui possède ses propres variables et fonctions qui fonctionnent avec ces variables. Ce fut une très grande réussite dans le domaine de la programmation. Désormais, la programmation pouvait être divisée en classes et tester non pas l'intégralité du programme, composé de 10 000 lignes de code, mais le programme pouvait être divisé en 100 classes et tester chaque classe. Cela a rendu l’écriture d’un produit logiciel beaucoup plus facile.

Langage d'assemblage

Dans le cas où il est nécessaire d'avoir un programme efficace, à la place des langages machine, on utilise des langages orientés machine qui leur sont proches - les assembleurs. Les gens utilisent des commandes mnémoniques au lieu de commandes machine.

Mais même travailler avec un assembleur est assez compliqué et nécessite une formation particulière.

La programmation structurée implique des structures de contrôle définies avec précision, des blocs de programme, des instructions sans saut inconditionnel (GOTO), des sous-programmes autonomes, la prise en charge de la récursivité et des variables locales.

L'essence de cette approche est la capacité de diviser un programme en ses éléments constitutifs.

Également créé fonctionnel langues (applicatives) (Exemple : Lisp - Anglais. Traitement de liste, 1958) et casse-tête langues (exemple : Prolog - Anglais) PROgrammation en LOGique, 1972).

Bien que la programmation structurée, lorsqu'elle est utilisée, ait produit des résultats remarquables, elle échoue même lorsque le programme atteint une certaine longueur. Afin d’écrire un programme plus complexe (et plus long), une nouvelle approche de la programmation était nécessaire.

POO

C’est ainsi que les principes de la programmation orientée objet ont été développés à la fin des années 1970 et au début des années 1980. La POO combine les meilleurs principes de la programmation structurée avec de nouveaux concepts puissants, les concepts de base étant appelés encapsulation, polymorphisme et héritage.

Des exemples de langages orientés objet sont Object Pascal, C++, Java, etc.

La POO vous permet d'organiser les programmes de manière optimale en divisant un problème en ses composants et en travaillant avec chacun séparément. Un programme dans un langage orienté objet, résolvant un certain problème, décrit essentiellement une partie du monde liée à ce problème.

Un exemple d'écriture d'un programme dans différentes langues

Langage de haut niveau (Delphi)

X : = péché (y* Pi) + 1 ;

Assembleur x86 (coprocesseur)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1), st (0) fstp qword ptr [ X]

Code machine (hexadécimal, chaque commande commence sur une nouvelle ligne)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Code machine (représentation binaire)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Liens


Fondation Wikimédia. 2010.

  • Aye Aye
  • Kabanov, Nikolaï Alexandrovitch

Découvrez ce qu'est « Histoire des langages de programmation » dans d'autres dictionnaires :

    Histoire du langage de programmation Python- Python a été conçu dans les années 1980 et sa création a commencé en décembre 1989 par Guido van Rossum dans le cadre du Centre de mathématiques et d'informatique des Pays-Bas. Le langage Python a été conçu comme un descendant du langage de programmation ABC, capable de traiter... ... Wikipédia

    Chronologie des langages de programmation- Listes de langages de programmation Par catégorie Chronologique Généalogique Chronologie des langages de programmation Une liste chronologiquement organisée des langages de programmation. Contenu... Wikipédia

    Comparaison des langages de programmation- Cet article devrait être wikifié. Veuillez le formater conformément aux règles de formatage de l'article. Conventions... Wikipédia

    Un bref historique du développement des langages de programmation- À mesure que la technologie informatique se développait, différentes techniques de programmation sont apparues. À chaque étape, une nouvelle approche a été créée pour aider les programmeurs à faire face à la complexité croissante des programmes. Table des matières 1 Début du développement 2 Langage d'assemblage 3 Structure ... Wikipédia

    Histoire de la logique- étudie le développement de la science sur les formes et les lois de la pensée correcte (logique). L'émergence de la logique en tant qu'analyse développée des principes d'inférence concerne exclusivement trois civilisations locales, à savoir : la Chine, l'Inde et l'Antiquité... ... Wikipédia

    Histoire de Linux- Cet article ou cette section doit être révisé. Merci d'améliorer l'article conformément aux règles de rédaction des articles... Wikipédia

    Histoire du logiciel libre- L'expression « Logiciel Libre », ou Logiciel Libre, fait référence à des produits distribués sous licences libérales qui offrent à l'utilisateur plus d'options que les licences logicielles traditionnelles... ... Wikipédia

Il est très important de connaître l'histoire générale des langages de programmation et l'histoire du développement des langages connus et inconnus. Dans cet article, vous en ferez connaissance, mais rappelons-nous d’abord « Qu’est-ce qu’un langage de programmation ? »

Langage de programmation est un système de notation et de règles qui vous permet d'écrire un programme pour résoudre un problème sous la forme d'un texte séquentiel sous une forme pratique pour une personne.

années 50

Dans les années cinquante du XXe siècle, avec l'avènement des ordinateurs à tubes sous vide, le développement rapide des langages de programmation a commencé. La programmation a commencé par l’écriture de programmes directement sous forme d’instructions machine (en codes, comme disent les programmeurs). Les ordinateurs, qui coûtaient à l’époque beaucoup plus cher que le développement de n’importe quel programme, nécessitaient un code très efficace.

Pour faciliter le codage, un système orienté machine a été développé, ce qui a permis d'écrire des instructions machine sous forme symbolique. Le langage assembleur dépendait du système d’instructions d’un ordinateur particulier. C'était assez pratique pour programmer de petites tâches nécessitant une vitesse d'exécution maximale.

Cependant, les grands projets étaient difficiles à développer en langage Assembly. Le principal problème était qu’un programme écrit en Assembly était lié à l’architecture d’un ordinateur particulier et ne pouvait pas être transféré sur d’autres machines. Lorsque l'ordinateur a été amélioré, tous les programmes d'Assembly ont dû être réécrits.

Presque immédiatement avec l'avènement des ordinateurs, des langages de haut niveau ont été développés, c'est-à-dire des langages qui ne dépendent pas d'une architecture spécifique. Pour exécuter un programme dans un langage de haut niveau, il faut d’abord le traduire en langage de commande machine. Un programme spécial qui effectue une telle traduction est appelé traducteur ou compilateur.

Le programme traduit est ensuite exécuté directement par l'ordinateur. Il existe également la possibilité de traduire le programme dans un langage intermédiaire qui ne dépend pas de l'architecture d'un ordinateur particulier, mais qui est néanmoins aussi proche que possible du langage de commande de la machine.

Le programme de langage intermédiaire est ensuite exécuté par un programme spécial appelé interprète. Il est également possible de compiler à la volée, lorsque le fragment de programme exécuté est traduit d'un langage intermédiaire vers le langage de commande de la machine immédiatement avant son exécution.

Au milieu des années 50, sous la direction de John Backus, le langage de programmation algorithmique de haut niveau FORTRAN a été développé pour IBM. Malgré le fait qu'il y avait déjà des développements dans les langages qui convertissaient les expressions arithmétiques en code machine, la création du langage FORTRAN (FORMula TRANslator), qui offrait la possibilité d'écrire un algorithme de calcul à l'aide d'instructions conditionnelles et d'opérateurs d'entrée/sortie, est devenue le point de départ de l’ère des langages de programmation de haut niveau.

Alternative au langage FORTRAN, initialement destiné à l'architecture IBM, ALGOL (ALGOrithmic Language) a été développé sous la houlette de Peter Naur à la fin des années 50. L'objectif principal poursuivi par les développeurs de ce langage était l'indépendance vis-à-vis de l'architecture spécifique du système informatique.

De plus, les créateurs du langage ALGOL ont cherché à développer un langage pratique pour décrire des algorithmes et utiliser un système de notation proche de celui adopté en mathématiques. FORTRAN et ALGOL ont été les premiers langages axés sur la programmation informatique.

années 60

À la fin des années 60, sous la direction de Nayard et Dahl, le langage Simula-67 a été développé, utilisant le concept de types de données définis par l'utilisateur. En fait, c’est le premier langage à utiliser le concept de classes.

années 70

Au milieu des années 70, Wirth propose le langage Pascal, qui devient immédiatement largement utilisé. Dans le même temps, à l'initiative du ministère américain de la Défense, les travaux ont commencé pour créer un langage de haut niveau appelé Ada - en l'honneur d'Ada Lovelace, programmeuse et fille de Lord Byron.

La création du langage a commencé par la définition des exigences et l’élaboration des spécifications. Quatre groupes indépendants ont travaillé sur le projet, mais ils ont tous utilisé Pascal comme base. Au début des années 80, le premier compilateur industriel pour le langage Ada a été développé.

Développement C

Le langage de programmation universel a été développé au milieu des années 70 par Denis Ritchie et Ken Thompson. Le langage est devenu un langage de programmation système populaire et a été utilisé à une certaine époque pour écrire le noyau du système d'exploitation UNIX.

La norme du langage C a été développée par un groupe de travail ANSI en 1982. La norme internationale pour le langage C a été adoptée en 1990. Le langage C a constitué la base du développement des langages de programmation et de Java.

Le langage C a effectivement permis de s'affranchir d'Assembler lors de la création de systèmes d'exploitation. Par exemple, presque tout le texte du système d’exploitation Unix est écrit en C et ne dépend donc pas d’un ordinateur particulier.

Le principal avantage du C est sa simplicité et l’absence de solutions pseudo-scientifiques. Le mécanisme de transmission des paramètres à une fonction (par valeur uniquement) est décrit simplement et clairement. Un programmeur créant un programme C comprend toujours clairement comment ce programme sera exécuté.

Le concept de pointeur, de variables statiques et automatiques (pile) du langage C reflète le plus fidèlement la structure de tout ordinateur moderne, les programmes C sont donc efficaces et pratiques pour le débogage.

Actuellement, la grande majorité des programmes sont écrits en C et C++. L'interface de tout système d'exploitation (la soi-disant API - Application Program Interface), c'est-à-dire un ensemble d'appels système destiné aux développeurs d'applications est généralement un ensemble de fonctions en langage C.

Aux côtés des langages algorithmiques, des langages destinés au traitement des informations commerciales, ainsi que des langages d'intelligence artificielle, se sont développés en parallèle. Le premier inclut le langage COBOL (COmmon Business Oriented Language), et le second comprend les langages LISP (LISt Processing) et Prolog.

Le langage LISP, développé dans les années 60 sous la direction de J. McCarthy, fut le premier langage de traitement de listes fonctionnelles à trouver une large application dans la théorie des jeux.

années 90

Dans les années 90, avec la diffusion d'Internet, les possibilités de traitement distribué des données se sont élargies, ce qui a également affecté le développement des langages de programmation. Des langages axés sur la création d'applications serveur sont apparus, tels que Perl, les langages de description de documents et XML.

Les langages de programmation traditionnels C++ et Pascal ont également subi des changements : un langage de programmation a commencé à désigner non seulement la fonctionnalité du langage lui-même, mais également les bibliothèques de classes fournies par l'environnement de programmation.

L'accent a été déplacé de la spécification des langages de programmation eux-mêmes vers la standardisation des mécanismes d'interaction des applications distribuées. De nouvelles technologies sont apparues - COM et CORBA, qui précisent l'interaction des objets distribués.

Domaines d'application des langages de programmation

Actuellement, les langages de programmation sont utilisés dans une grande variété de domaines de l'activité humaine, tels que :

  • calcul scientifique (langages C++, FORTRAN, Java) ;
  • programmation système (langages C++, Java) ;
  • traitement de l'information (langages C++, COBOL, Java) ;
  • intelligence artificielle (LISP, Prolog) ;
  • activités de publication (Postscript, TeX) ;
  • traitement de l'information à distance (Perl, PHP, Java, C++) ;
  • description des documents (HTML, XML).

Sur la base de l'histoire des langages de programmation, on peut dire qu'au fil du temps, certains langages se sont développés, ont acquis de nouvelles fonctionnalités et sont restés en demande, tandis que d'autres ont perdu de leur pertinence et ont aujourd'hui, au mieux, un intérêt purement théorique.



 

Il pourrait être utile de lire :