Un bref aperçu des langages de programmation bien connus. Langages de programmation de haut niveau et de bas niveau : lesquels apprendre ?

Avant de vouloir apprendre un langage de programmation, vous devez connaître un peu son histoire et où il est utilisé.

Je vous présente brève revue 25 langages de programmation célèbres. Du plus célèbre au moins populaire. L'article est destiné aux débutants dans le domaine de la programmation. Vous pouvez lire sur chaque langue et choisir celle que vous préférez étudier.

Avant de commencer à apprendre les langages de programmation, je vous recommande de suivre un cours sur .

1. Javascript

Langage de programmation de script orienté prototype. JavaScript a été créé à l’origine pour rendre les pages Web « vivantes ». Dans le navigateur, ils se connectent directement au HTML et, dès le chargement de la page, ils sont immédiatement exécutés.

Quand a-t-il été créé Langage JavaScript, il portait à l'origine un nom différent : "LiveScript". Mais ensuite, le langage Java est devenu très populaire et les spécialistes du marketing ont décidé qu'un nom similaire ferait nouveau langage plus populaire.

Il était prévu que JavaScript ressemble à ceci " jeune frère»Java. Cependant, l'histoire a son propre chemin, JavaScript s'est beaucoup développé et c'est désormais un langage complètement indépendant, avec sa propre spécification et n'a rien à voir avec Java.

2. Java


Un langage de programmation orienté objet fortement typé. Applications Java généralement traduits en bytecode spécial, afin qu'ils puissent s'exécuter sur n'importe quelle architecture informatique utilisant une machine virtuelle Java.

L'avantage de cette méthode d'exécution de programmes est l'indépendance totale du bytecode du système d'exploitation et du matériel, ce qui vous permet d'exécuter des applications Java sur n'importe quel appareil pour lequel il existe un correspondant. machine virtuelle. Une autre caractéristique importante Technologies Java est un système de sécurité flexible dans lequel l'exécution du programme est entièrement contrôlée par la machine virtuelle.

Le langage s'appelait à l'origine Oak et a été développé par James Gosling pour la programmation d'appareils électroménagers. appareils électroniques. Par la suite, il a été renommé Java et a commencé à être utilisé pour écrire des applications client et serveur. logiciel.

3.PHP


Est une langue interprétée courante usage général Open source ( langage de script). PHP a été créé spécifiquement pour le développement Web et son code peut être intégré directement dans le code HTML. La syntaxe du langage provient de C, Java et Perl et est facile à apprendre.

L'objectif principal de PHP est de fournir aux développeurs Web la possibilité de créer rapidement des pages Web générées dynamiquement, mais la portée de PHP ne se limite pas à cela.

4.Python

Un langage de programmation généraliste de haut niveau visant à améliorer la productivité des développeurs, la lisibilité du code et le développement d'applications Web. La syntaxe de base de Python est minimaliste. Le code en Python est organisé en fonctions et classes, qui peuvent être combinées en modules.

5.C#


Langage de programmation orienté objet. Développé en 1998-2001 par un groupe d'ingénieurs dirigé par Anders Hejlsberg chez Microsoft en tant que langage de développement d'applications pour la plateforme Microsoft. NET-Framework. C# appartient à une famille de langages à syntaxe de type C, dont sa syntaxe est la plus proche de C++ et Java.

Le langage a un typage statique, prend en charge le polymorphisme, la surcharge d'opérateurs, les délégués, les attributs, les événements, les propriétés, les types et méthodes génériques, les itérateurs, les fonctions anonymes avec prise en charge des fermetures, LINQ, les exceptions, les commentaires au format XML.

6.C++


Un langage de programmation à usage général compilé et typé statiquement. C'est l'une des langues les plus parlées au monde. Google Chrome, Mozilla Firefox, Winamp et la gamme de produits Adobe ont été développés en C++. De plus, certains jeux modernes et les systèmes d'exploitation ont été développés en C++ en raison de son traitement et de sa compilation rapides.

7. Rubis


Un langage de programmation simple et lisible destiné au développement d'applications Web. Conçu par Yukihiro Matsumto en 1995. Le langage a une implémentation indépendante du système d'exploitation du multithreading, du typage dynamique strict et d'un garbage collector.

L'objectif principal de Ruby est de créer des programmes simples et en même temps compréhensibles, où ce n'est pas la vitesse du programme qui est importante, mais le temps de développement court, la clarté et la simplicité de la syntaxe. Le langage suit le principe de la « moindre surprise » : le programme doit se comporter comme le programmeur l'attend.

8.CSS


Feuilles de style en cascade (feuilles de style en cascade) langage de description formelle apparence document rédigé à l’aide d’un langage de balisage.
Principalement utilisé comme moyen de décrire et de concevoir l'apparence de pages Web écrites à l'aide de langages Balisage HTML et XHTML, mais peut également s'appliquer à n'importe quel document XML.

9.C


Un langage de programmation compilé, typé statiquement et à usage général. Le langage C a été développé par Dennis Ritchie en 1972 aux Bell Labs. C'est le prédécesseur des langages de programmation tels que C++, Java, C#, JavaScript et Perl. Pour cette raison, l’apprentissage de cette langue conduit à la compréhension d’autres langues. Le langage C est utilisé pour développer des applications de bas niveau, car il est considéré comme le plus proche du matériel.

10. Objectif-C


Un langage de programmation orienté objet compilé utilisé par Apple Corporation, construit sur le langage C et les paradigmes Smalltalk. Le langage Objective-C est un sur-ensemble du langage C, le code C est donc entièrement compréhensible par le compilateur Objective-C. Le langage est principalement utilisé pour Mac OS X (Cocoa) et GNUstep - implémentations de l'interface OpenStep orientée objet. Le langage est également utilisé pour iOS (Cocoa Touch).

11.Coquille

Ce n'est pas tant un langage qu'un interpréteur de commandes (langage de commande). Ses scripts sont utilisés pour automatiser les mises à jour logicielles. Contient des constructions standard pour les boucles, les branchements et les déclarations de fonctions. La famille de systèmes d'exploitation UNIX utilise SHELL comme langage standard de contrôle des tâches.

12. R.


Un langage de programmation pour le traitement des données statistiques et graphiques, ainsi qu'un environnement informatique gratuit et open source dans le cadre du projet GNU. R est largement utilisé comme logiciel statistique pour l’analyse des données et est devenu la norme de facto pour les programmes statistiques. R utilise une interface de ligne de commande.

13. Perl


Un langage de programmation dynamique à usage général interprété de haut niveau. Le nom du langage est un acronyme qui signifie Practical Extraction and Report Language - « un langage pratique pour extraire des données et rédiger des rapports ». La principale caractéristique du langage réside dans ses riches capacités de travail avec du texte, notamment avec des expressions régulières intégrées à la syntaxe. Sur ce moment il est utilisé pour effectuer un large éventail de tâches, notamment l'administration système, le développement Web, programmation réseau, jeux, bioinformatique, développement d'interfaces utilisateur graphiques.

14. Échelle


Un langage de programmation multi-paradigmes conçu pour être concis et sécurisé pour une création facile et rapide de logiciels basés sur des composants, combinant les capacités de la programmation fonctionnelle et orientée objet. Les programmes Scala sont similaires aux programmes Java à bien des égards et peuvent interagir librement avec le code Java.

15. Allez


Un langage de programmation multithread compilé développé par Google. Le langage Go a été développé en tant que langage de programmation système permettant de créer des programmes très efficaces fonctionnant sur des systèmes distribués modernes et des processeurs multicœurs. Cela peut être considéré comme une tentative de créer un substitut au langage C. Lors du développement, une attention particulière a été accordée à garantir une compilation très efficace. Les programmes Go sont compilés en code objet et ne nécessitent pas d'exécution de machine virtuelle.

16.SQL

Langage de requêtes structurées. un langage de programmation formel et non procédural utilisé pour créer, modifier et manipuler des données dans une base de données relationnelle arbitraire gérée par un système de gestion de base de données approprié. SQL est avant tout un langage logique d'information conçu pour décrire, modifier et récupérer des données stockées dans des bases de données relationnelles. Chaque instruction SQL est soit une demande de données provenant d'une base de données, soit un appel à la base de données qui entraîne la modification des données de la base de données.

17. Haskel


Un langage de programmation standardisé, pur, fonctionnel et à usage général. C'est l'un des langages de programmation les plus courants prenant en charge l'informatique paresseuse. Une caractéristique distinctive de la langue est son attitude sérieuse à l'égard de la dactylographie. Haskell est un excellent langage pour apprendre et expérimenter des types de données fonctionnelles complexes.

18. Rapide


Un langage de programmation ouvert, multi-paradigmes, compilé et à usage général. Créé par Apple principalement pour les développeurs iOS et OS X, Swift fonctionne avec les frameworks Cocoa et Cocoa Touch et est compatible avec la base de code Objective-C principale d'Apple. Swift était destiné à être un langage plus facile à lire et plus résistant aux erreurs que son prédécesseur, Objective-C. Swift emprunte beaucoup à Objective-C, mais il n'est pas défini par des pointeurs, mais par les types de variables traitées par le compilateur. De nombreux langages de script fonctionnent sur un principe similaire.

19. Matlab


Un langage de programmation interprété de haut niveau qui comprend des structures de données matricielles, un large éventail de fonctionnalités, un environnement de développement intégré, des capacités orientées objet et des interfaces avec des programmes écrits dans d'autres langages de programmation. Les programmes écrits dans MATLAB sont de deux types : les fonctions et les scripts. Les fonctions ont des arguments d'entrée et de sortie, ainsi que leurs propres arguments. Espace de travail pour stocker les résultats de calcul intermédiaires et les variables. Les scripts utilisent un espace de travail commun. Les scripts et les fonctions sont enregistrés sous forme de fichiers texte et compilés dynamiquement en code machine.

20. Visual Basic


Un langage de programmation et un environnement de développement logiciel intégré développés par Microsoft Corporation. Langue Visual Basic a hérité de l'esprit, du style et de la syntaxe de son ancêtre, le langage BASIC, qui compte de nombreux dialectes. Dans le même temps, Visual Basic combine les procédures et les éléments des langages de programmation orientés objet et orientés composants.

Visual Basic est également bon remède développement rapide d'applications de bases de données RAD pour les systèmes d'exploitation de la famille Microsoft Windows. De nombreux composants prêts à l'emploi fournis avec l'environnement sont conçus pour aider le programmeur à commencer immédiatement à développer la logique métier de l'application, sans détourner son attention sur l'écriture du code de lancement du programme.

21. Delphes


Un langage de programmation impératif, structuré et orienté objet avec un typage de variables statiques fort. Le principal domaine d'utilisation est l'écriture de logiciels d'application.

Aujourd'hui, outre la prise en charge du développement de programmes 32 et 64 bits pour Windows, la possibilité de créer des applications pour AppleMac OS X et aussi pour Google-Android(directement exécuté sur un processeur ARM).

22. Groovy


Un langage de programmation orienté objet conçu pour la plateforme Java en complément de Langage Java avec les capacités Python, Ruby et Smalltalk. Groovy utilise une syntaxe de type Java avec compilation dynamique du bytecode JVM et fonctionne directement avec d'autres codes et bibliothèques Java. Le langage peut être utilisé dans n'importe quel projet Java ou comme langage de script.

23. Visual Basic .NET


Un langage de programmation orienté objet, qui peut être considéré comme la prochaine évolution de Visual Basic, implémenté sur la plateforme Microsoft .NET. VB.NET n'est pas rétrocompatible avec plus première version(Visuel Basic 6.0). Le développement de projets d'anciennes versions (*.vbp) n'est possible qu'après leur conversion préalable au format VB.NET par un assistant spécial (Migration Wizard) ; cependant, après la conversion, d'importantes modifications manuelles des textes sont nécessaires.

24.D

Un langage de programmation compilé multi-paradigmes créé par Walter Bright de Digital Mars. D a été conçu à l’origine comme une réingénierie du langage C++, cependant, malgré l’influence significative du C++, il n’en est pas une variante. Le langage a également été influencé par les concepts des langages de programmation Python, Ruby, C#, Java et Eiffel.

25. Assembleur


Un langage orienté machine de bas niveau avec des commandes qui ne correspondent pas toujours aux commandes machine, qui peut apporter des fonctionnalités supplémentaires telles que des macros ; code automatique étendu par les constructions du langage de programmation haut niveau, tels que des expressions, des macros, des moyens d'assurer la modularité du programme.

Le langage assembleur est un système de notation utilisé pour représenter des programmes écrits en code machine sous une forme lisible par l'homme. Le langage assembleur permet au programmeur d'utiliser des codes d'opération mnémoniques alphabétiques, d'attribuer des noms symboliques aux registres et à la mémoire de l'ordinateur à sa discrétion, et également de définir des schémas d'adressage qui lui conviennent. De plus, il vous permet d'utiliser divers systèmes notation pour représenter les constantes numériques et permet d'étiqueter les lignes de programme avec des étiquettes avec des noms symboliques afin qu'elles soient accessibles.

L'introduction de l'informatique dans toutes les sphères de l'activité humaine nécessite que des spécialistes de profils variés maîtrisent les compétences d'utilisation la technologie informatique. Le niveau de formation des étudiants universitaires augmente, qui dès la première année sont initiés à l'utilisation des ordinateurs et aux méthodes numériques simples, sans compter que lors de la réalisation de cours et de projets de diplôme, l'utilisation de la technologie informatique devient la norme dans la grande majorité des universités.

La technologie informatique est désormais utilisée non seulement dans les calculs techniques et les sciences économiques, mais également dans des spécialités traditionnellement non mathématiques comme la médecine, la linguistique et la psychologie. À cet égard, on peut affirmer que l’utilisation des ordinateurs s’est généralisée. Une grande catégorie de spécialistes a émergé - les utilisateurs d'ordinateurs qui ont besoin de connaissances sur l'utilisation des ordinateurs dans leur secteur - de compétences pour travailler avec des logiciels existants, ainsi que pour créer leur propre logiciel adapté pour résoudre tâche spécifique. Et ici, les descriptions des langages de programmation viennent en aide à l'utilisateur.

2. Qu'est-ce qu'un langage de programmation

Langage de programmation- un système de signes formel conçu pour décrire les algorithmes sous une forme qui convient à l'interprète (par exemple, un ordinateur). Un langage de programmation définit un ensemble de règles lexicales, syntaxiques et sémantiques utilisées pour composer un programme informatique. Il permet au programmeur de déterminer exactement à quels événements l'ordinateur réagira, comment les données seront stockées et transmises et quelles actions doivent être effectuées sur celui-ci dans diverses circonstances.

Depuis la création des premières machines programmables, l'humanité a déjà inventé plus de deux mille cinq cents langages de programmation. Chaque année, leur nombre est reconstitué par de nouveaux. Certains langages ne sont utilisés que par un petit nombre de leurs propres développeurs, tandis que d'autres sont connus de millions de personnes. Les programmeurs professionnels utilisent parfois plus d'une douzaine de langages de programmation différents dans leur travail.

Les créateurs de langage interprètent le concept différemment langage de programmation. Parmi les points communs reconnus par la plupart des développeurs figurent les suivants :

· Fonction: un langage de programmation conçu pour écrire logiciels d'ordinateur, qui sont utilisés pour transmettre des instructions à l'ordinateur pour effectuer un processus informatique particulier et organiser le contrôle d'appareils individuels.

· Tâche: Un langage de programmation diffère des langages naturels en ce sens qu'il est conçu pour transmettre des commandes et des données d'une personne à un ordinateur, tandis que les langages naturels ne sont utilisés que pour permettre aux personnes de communiquer entre elles. En principe, nous pouvons généraliser la définition des « langages de programmation » - il s'agit d'un moyen de transmettre des commandes, des ordres, des orientations claires pour l'action ; alors que les langues humaines servent aussi à échanger des informations.

· Exécution: Un langage de programmation peut utiliser des constructions spéciales pour définir et manipuler des structures de données et contrôler le processus de calcul.

3. Étapes de résolution d'un problème sur un ordinateur.

VT a trouvé son application la plus efficace lors de la réalisation de calculs à forte intensité de main-d'œuvre dans la recherche scientifique et les calculs d'ingénierie. Lors de la résolution d'un problème sur un ordinateur, le rôle principal appartient toujours à la personne. La machine exécute ses tâches uniquement selon le programme développé. Le rôle de l’homme et de la machine est facile à comprendre si le processus de résolution d’un problème est divisé en étapes énumérées ci-dessous.

Formulation du problème. Cette étape consiste en une formulation (physique) significative du problème et en la détermination de solutions finales.

Construction d'un modèle mathématique. Le modèle doit décrire correctement (adéquatement) les lois fondamentales processus physique. La construction ou la sélection d'un modèle mathématique à partir de modèles existants nécessite une compréhension approfondie du problème et une connaissance des branches pertinentes des mathématiques.

Développement de la Coupe du monde. Puisqu’un ordinateur ne peut effectuer que les opérations les plus simples, il ne « comprend » pas la formulation du problème, même dans une formulation mathématique. Pour le résoudre, il faut trouver une méthode numérique permettant de réduire le problème à un certain algorithme de calcul. Dans chaque cas spécifique, vous devez choisir solution adaptéeà partir de standards déjà développés.

Développement d'algorithmes. Le processus de résolution d'un problème (processus informatique) s'écrit comme une séquence d'arithmétique élémentaire et opérations logiques, conduisant au résultat final et appelé un algorithme pour résoudre le problème.

La programmation. L'algorithme permettant de résoudre un problème est écrit dans un langage compréhensible par machine sous la forme d'une séquence d'opérations précisément définie - un programme. Le processus est généralement effectué à l'aide d'un langage intermédiaire et sa traduction est effectuée par la machine elle-même et son système.

Ajustement du programme. Le programme compilé contient diverses sortes erreurs, inexactitudes, fautes de frappe. Le débogage comprend la surveillance du programme, le diagnostic (recherche et détermination du contenu) des erreurs et leur élimination. Le programme est testé en résolvant des problèmes de contrôle (test) pour obtenir la confiance dans la fiabilité des résultats.

Effectuer des calculs. A ce stade, les données initiales pour les calculs sont préparées et les calculs sont effectués à l'aide d'un programme bien établi. Dans le même temps, pour réduire le travail manuel dans le traitement des résultats, des formes pratiques de publication des résultats sous forme de texte et d'informations graphiques, sous une forme compréhensible pour l'homme, peuvent être largement utilisées.

Analyse des résultats. Les résultats des calculs sont soigneusement analysés et une documentation scientifique et technique est établie.

4. A quoi servent les langages de programmation ?

Le processus de fonctionnement d’un ordinateur consiste à exécuter un programme, c’est-à-dire un ensemble de commandes très spécifiques dans un ordre très précis. La forme machine de l'instruction, composée de zéros et de uns, indique exactement quelle action le processeur central doit effectuer. Cela signifie que pour donner à l'ordinateur une séquence d'actions qu'il doit effectuer, vous devez spécifier une séquence de codes binaires pour les commandes correspondantes. Les programmes de code machine sont constitués de milliers d’instructions. Écrire de tels programmes est une tâche difficile et fastidieuse. Le programmeur doit mémoriser la combinaison de zéros et de uns du code binaire de chaque programme, ainsi que codes binaires adresses de données utilisées lors de son exécution. Il est beaucoup plus facile d'écrire un programme dans un langage plus proche du langage humain naturel, et le travail de traduction de ce programme en codes machines confiez-le à l’ordinateur. C'est ainsi qu'est né les langages conçus spécifiquement pour l'écriture de programmes - langages de programmation.

Il existe de nombreux langages de programmation différents. En fait, vous pouvez utiliser n’importe lequel d’entre eux pour résoudre la plupart des problèmes. Les programmeurs expérimentés savent quel langage est le mieux utilisé pour résoudre chaque problème spécifique, car chaque langage a ses propres capacités, son orientation vers certains types de problèmes et sa propre manière de décrire les concepts et les objets utilisés pour résoudre les problèmes.

Tous les nombreux langages de programmation peuvent être divisés en deux groupes : langages de bas niveau Et langages de haut niveau.

Les langages de bas niveau incluent les langages d'assemblage (de l'anglais toassemble - assembler, assembler). Le langage assembleur utilise des commandes symboliques faciles à comprendre et rapides à retenir. Au lieu d'une séquence de codes binaires de commandes, leurs désignations symboliques sont écrites, et au lieu d'adresses binaires de données utilisées lors de l'exécution d'une commande, les noms symboliques de ces données choisis par le programmeur sont écrits. Le langage assembleur est parfois appelé code mnémonique ou autocode.

La plupart des programmeurs utilisent des langages de haut niveau pour écrire des programmes. Comme le langage humain ordinaire, une telle langue possède son propre alphabet - un ensemble de symboles utilisés dans la langue. Ces symboles sont utilisés pour constituer les soi-disant mots-clés de la langue. Chacun des mots clés remplit sa propre fonction, tout comme dans notre langue familière, les mots constitués de lettres de l'alphabet d'une langue donnée peuvent remplir les fonctions de différentes parties du discours. Les mots-clés sont liés entre eux en phrases selon certaines règles syntaxiques du langage. Chaque phrase définit une certaine séquence d'actions que l'ordinateur doit effectuer.

Un langage de haut niveau agit comme intermédiaire entre une personne et un ordinateur, permettant à une personne de communiquer avec un ordinateur d'une manière plus familière aux humains. Souvent cette langue aide à choisir bonne méthode résoudre le problème.

Avant d'écrire un programme dans un langage de haut niveau, le programmeur doit écrire algorithme résoudre un problème, c'est-à-dire un plan d'action étape par étape qui doit être complété pour résoudre ce problème. Par conséquent, les langages qui nécessitent une compilation préalable d'un algorithme sont souvent appelés langages algorithmiques.

    Listes de langages de programmation Par catégorie Chronologique Généalogique Une liste de langages de programmation regroupés par catégorie est fournie. Certaines langues entrent dans plusieurs catégories. Contenu... Wikipédia

    Listes de langages de programmation Par catégorie Chronologique Généalogique Une liste généalogique des langages de programmation est fournie. Les langues sont classées selon les langues antécédentes qui ont eu une forte influence sur la formation de... Wikipédia

    Table des matières 1 Par fabricant ou plate-forme 1.1 Flash 1.2 Java 1.3 Microsof ... Wikipedia

    Listes de langages de programmation par catégorie Chronologique La Chronologie généalogique des langages de programmation est une liste organisée chronologiquement de langages de programmation. Contenu... Wikipédia

    Cet article devrait être Wikiifié. Veuillez le formater conformément aux règles de formatage de l'article. Légende... Wikipédia

    Cette page est une liste d'informations. Langages de programmation .NET (langages compatibles CLI ou langages CLI) langages de programmation informatique utilisés pour créer des bibliothèques et des programmes qui satisfont aux exigences de Comm ... Wikipedia

    Article principal : Liste de l'éditeur de texte éditeurs de texte Fenêtres et tableau comparatif. Table des matières 1 Tableau comparatif des éditeurs de texte célèbres... Wikipédia

    Le langage de programmation C# est aujourd’hui l’un des langages de programmation les plus populaires. Logiciel de traitement open source Paint.NET graphiques raster SharpDevelop IDE ouvert pour C#, Visual Basic .NET (VB.NET), Boo ... Wikipédia

    Il s'agit d'une liste de logiciels développés par la Free Software Foundation dans le cadre du projet GNU UNIX, un système d'exploitation similaire composé entièrement de logiciels libres. La plupart de ces packages également... ... Wikipédia

    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

Livres

  • Python pour les enfants. Tutoriel de programmation par Jason Briggs. À propos du livre Ce livre est un didacticiel sur l'un des langages de programmation les plus populaires aujourd'hui : Python. Partant du tout gestes simples, étape par étape, vous écrirez votre...
  • JavaScript pour les enfants. Tutoriel de programmation, Morgan Nick. À propos du livre Ce livre vous permettra de vous plonger dans la programmation et de maîtriser JavaScipt en toute simplicité. Vous écrirez plusieurs jeux réels - à la recherche de trésors sur la carte, "Le Pendu" et "Serpent". Sur tout...

2) Qu'est-ce qu'un langage de programmation page 2

3) A quoi servent les langages de programmation page 3

4) Quels langages de programmation existent pp. 4 – 7

5) Qu'est-ce qu'un compilateur et un interprète page 8

6) Références page 9

Introduction

Jusqu'au milieu des années 60, les ordinateurs étaient des machines trop coûteuses qui n'étaient utilisées que pour des tâches spécifiques et n'exécutaient qu'une seule tâche à la fois (ce qu'on appelle. le traitement par lots).

Les langages de programmation de cette époque, comme les ordinateurs sur lesquels ils étaient utilisés, étaient conçus pour des tâches spécifiques, comme le calcul scientifique. Étant donné que les machines étaient coûteuses et qu’une seule tâche était effectuée à la fois, le temps machine était coûteux – la vitesse d’exécution du programme passait donc en premier.

Cependant, au cours des années 60, le prix des ordinateurs a commencé à baisser, de sorte que même les petites entreprises pouvaient se les permettre ; La vitesse des ordinateurs n'a cessé d'augmenter et le moment est venu où ils ont souvent commencé à rester inactifs sans tâches. Pour éviter que cela ne se produise, ils ont commencé à introduire des systèmes avec partage de temps(partage de temps).

Dans de tels systèmes, le temps processeur était « tranché » et tous les utilisateurs recevaient à leur tour de courtes sections de ce temps. Les machines étaient suffisamment rapides pour que chaque utilisateur du terminal ait l'impression de piloter seul le système. La machine, à son tour, était moins inactive, puisqu'elle effectuait non pas une, mais plusieurs tâches à la fois. Le partage du temps a radicalement réduit le coût du temps machine, car une machine pouvait être partagée par des centaines d'utilisateurs.

Dans ces conditions - lorsque l'énergie est devenue bon marché et disponible - les créateurs de langages de programmation ont de plus en plus commencé à réfléchir à facilité d'écriture programmes, et pas seulement la vitesse de leur exécution. Les « petites » opérations (atomiques) effectuées directement par des machines ont été combinées en opérations « plus grandes » de haut niveau et en structures entières avec lesquelles il est beaucoup plus facile et plus pratique de travailler pour les humains.

Qu'est-ce qu'un langage de programmation

Langage de programmation- un système de signes formel conçu pour décrire les algorithmes sous une forme qui convient à l'interprète (par exemple, un ordinateur). Un langage de programmation définit un ensemble de règles lexicales, syntaxiques et sémantiques utilisées pour composer un programme informatique. Il permet au programmeur de déterminer exactement à quels événements l'ordinateur réagira, comment les données seront stockées et transmises et quelles actions doivent être effectuées sur celui-ci dans diverses circonstances.

Depuis la création des premières machines programmables, l'humanité a déjà inventé plus de deux mille cinq cents langages de programmation. Chaque année, leur nombre est reconstitué par de nouveaux. Certains langages ne sont utilisés que par un petit nombre de leurs propres développeurs, tandis que d'autres sont connus de millions de personnes. Les programmeurs professionnels utilisent parfois plus d'une douzaine de langages de programmation différents dans leur travail.

Les créateurs de langage interprètent le concept différemment langage de programmation. Parmi les communautés de lieux reconnues par la plupart des promoteurs figurent les suivantes :

  • Fonction: Un langage de programmation est destiné à écrire des programmes informatiques utilisés pour transmettre des instructions à un ordinateur pour effectuer un processus informatique particulier et organiser le contrôle d'appareils individuels.
  • Tâche: Un langage de programmation diffère des langages naturels en ce sens qu'il est conçu pour transmettre des commandes et des données d'une personne à un ordinateur, tandis que les langages naturels ne sont utilisés que pour permettre aux personnes de communiquer entre elles. En principe, nous pouvons généraliser la définition des « langages de programmation » - il s'agit d'un moyen de transmettre des commandes, des ordres, des orientations claires pour l'action ; alors que les langues humaines servent aussi à échanger des informations.
  • Exécution: Un langage de programmation peut utiliser des constructions spéciales pour définir et manipuler des structures de données et contrôler le processus de calcul.

A quoi servent les langages de programmation ?

Le processus de fonctionnement d’un ordinateur consiste à exécuter un programme, c’est-à-dire un ensemble de commandes très spécifiques dans un ordre très précis. La forme machine de l'instruction, composée de zéros et de uns, indique exactement quelle action le processeur central doit effectuer. Cela signifie que pour donner à l'ordinateur une séquence d'actions qu'il doit effectuer, vous devez spécifier une séquence de codes binaires pour les commandes correspondantes. Les programmes de code machine sont constitués de milliers d’instructions. Écrire de tels programmes est une tâche difficile et fastidieuse. Le programmeur doit mémoriser la combinaison de zéros et de uns du code binaire de chaque programme, ainsi que les codes binaires des adresses de données utilisées lors de son exécution. Il est beaucoup plus facile d'écrire un programme dans un langage plus proche du langage humain naturel et de confier le travail de traduction de ce programme en codes machine à un ordinateur. C'est ainsi qu'est né les langages conçus spécifiquement pour l'écriture de programmes - langages de programmation.

Il existe de nombreux langages de programmation différents. En fait, vous pouvez utiliser n’importe lequel d’entre eux pour résoudre la plupart des problèmes. Les programmeurs expérimentés savent quel langage est le mieux utilisé pour résoudre chaque problème spécifique, car chaque langage a ses propres capacités, son orientation vers certains types de problèmes et sa propre manière de décrire les concepts et les objets utilisés pour résoudre les problèmes.

Tous les nombreux langages de programmation peuvent être divisés en deux groupes : langages de bas niveau Et langages de haut niveau.

Les langages de bas niveau incluent les langages d'assemblage (de l'anglais toassemble - assembler, assembler). Le langage assembleur utilise des commandes symboliques faciles à comprendre et rapides à retenir. Au lieu d'une séquence de codes binaires de commandes, leurs désignations symboliques sont écrites, et au lieu d'adresses binaires de données utilisées lors de l'exécution d'une commande, les noms symboliques de ces données choisis par le programmeur sont écrits. Le langage assembleur est parfois appelé code mnémonique ou autocode.

La plupart des programmeurs utilisent des langages de haut niveau pour écrire des programmes. Comme le langage humain ordinaire, une telle langue possède son propre alphabet - un ensemble de symboles utilisés dans la langue. Ces symboles sont utilisés pour constituer les soi-disant mots-clés de la langue. Chacun des mots clés remplit sa propre fonction, tout comme dans notre langue familière, les mots constitués de lettres de l'alphabet d'une langue donnée peuvent remplir les fonctions de différentes parties du discours. Les mots-clés sont liés entre eux en phrases selon certaines règles syntaxiques du langage. Chaque phrase définit une certaine séquence d'actions que l'ordinateur doit effectuer.

Un langage de haut niveau agit comme intermédiaire entre une personne et un ordinateur, permettant à une personne de communiquer avec un ordinateur d'une manière plus familière aux humains. Souvent, un tel langage aide à choisir la bonne méthode pour résoudre un problème.

Avant d'écrire un programme dans un langage de haut niveau, le programmeur doit écrire algorithme résoudre un problème, c'est-à-dire un plan d'action étape par étape qui doit être complété pour résoudre ce problème. Par conséquent, les langages qui nécessitent une compilation préalable d'un algorithme sont souvent appelés langages algorithmiques.

Quels sont les langages de programmation ?

Fortran

Les langages de programmation ont commencé à apparaître au milieu des années 50. L'un des premiers langages de ce type fut le langage Fortran (anglais FORTRAN de FORmulaTRANslator - traducteur de formules), développé en 1957. Fortran est utilisé pour décrire un algorithme permettant de résoudre des problèmes scientifiques et techniques à l'aide d'un ordinateur numérique. Tout comme les premiers machines informatiques, ce langage était principalement destiné à effectuer des calculs de sciences naturelles et mathématiques. Sous une forme améliorée, cette langue a survécu jusqu'à ce jour. Parmi les langues modernes de haut niveau, c’est l’une des plus utilisées dans la recherche scientifique. Les variantes les plus courantes sont Fortran-II, Fortran-IV, EASICFortran et leurs généralisations.

ALGOL

Après Fortran en 1958-1960, le langage Algol (Algol-58, Algol-60) est apparu (anglais ALGOL de ALGOrithmicLanguage - langage algorithmique). Algol a été amélioré en 1964-1968 - Algol-68. Algol a été développé par un comité dans lequel comprenait des scientifiques européens et américains. C'est un langage de haut niveau qui vous permet de traduire facilement des formules algébriques en commandes de programme. Algol était populaire en Europe, y compris en URSS, tandis que le Fortran comparable était courant aux États-Unis et au Canada. Algol a eu une influence significative sur tous les langages de programmation développés ultérieurement, et en particulier sur Langue pascale. Ce langage, comme le Fortran, était destiné à résoudre des problèmes scientifiques et techniques. De plus, ce langage était utilisé comme moyen d'enseigner les bases de la programmation - l'art d'écrire des programmes.

Habituellement, le terme ALGOL désigne la langue ALGOL-60, alors que ALGOL-68 est considérée comme une langue indépendante. Même lorsque Algol a presque cessé d’être utilisé pour la programmation, il est resté le langage officiel pour la publication d’algorithmes.

COBOL

En 1959 - 1960, le langage COBOL est développé (anglais COBOL de COmmom Business Oriented Language - langage mutuel orienté vers le business). Il s'agit d'un langage de programmation de troisième génération, destiné principalement au développement d'applications commerciales. Cobol était également destiné à résoudre des problèmes économiques, à traiter des données pour les banques, les compagnies d'assurance et autres institutions de ce type. Le développeur du premier standard Cobol unifié était Grace Hopper ( grand-mère Cobola).

COBOL est généralement critiqué pour être verbeux et encombrant, car l'un des objectifs des créateurs du langage était de créer des constructions aussi proches que possible de langue anglaise. (Cobol est toujours considéré comme le langage de programmation dans lequel le plus grand nombre de lignes de code ont été écrites). Dans le même temps, COBOL disposait d'excellentes fonctionnalités pour travailler avec des structures de données et des fichiers pour l'époque, ce qui garantissait sa longue durée de vie dans les applications commerciales, du moins aux États-Unis.

Le manuel se compose de deux sections : théorique et pratique. La partie théorique du manuel décrit les fondements de l'informatique moderne en tant que discipline scientifique et technique complexe, comprenant l'étude de la structure et des propriétés générales de l'information et processus d'information, les principes généraux de construction des appareils informatiques, les questions d'organisation et de fonctionnement des réseaux d'information et informatiques sont pris en compte, sécurité informatique, les concepts clés de l'algorithmique et de la programmation, des bases de données et des SGBD sont présentés. Pour contrôler les connaissances théoriques acquises, des questions d'auto-évaluation et des tests sont proposés. La partie pratique couvre les algorithmes pour les actions de base lorsque l'on travaille avec traitement de texte Microsoft Word, éditeur de feuilles de calcul Microsoft Excel, un programme permettant de créer des présentations Microsoft Power Point, des programmes d'archivage et des programmes antivirus. Pour consolider le cours pratique réalisé, à la fin de chaque section il est proposé de réaliser un travail indépendant.

Livre:

Sections sur cette page :

8.2. Langages de programmation

Types de programmation

Progrès la technologie informatique a déterminé le processus d'émergence de nouveaux systèmes de signes divers pour l'enregistrement d'algorithmes - les langages de programmation. La signification de l'apparition d'un tel langage est un ensemble équipé de formules informatiques pour des informations supplémentaires, qui se transforment en cet ensemble dans l’algorithme.

Les langages de programmation sont des langages créés artificiellement. Ils diffèrent des naturels par le nombre limité de « mots » et des règles très strictes d'écriture des commandes (opérateurs). La totalité de ces exigences forme la syntaxe d'un langage de programmation, et la signification de chaque commande et des autres constructions du langage forme sa sémantique.

Les langages de programmation sont des langages formels pour la communication humaine avec un ordinateur, conçus pour décrire un ensemble d'instructions dont l'exécution garantit la solution correcte de la tâche requise. Leur rôle principal est de planifier les activités de traitement de l'information. Tout langage de programmation est basé sur un système de concepts et, avec son aide, une personne peut exprimer ses pensées.

Le lien entre le langage dans lequel nous pensons/programmons et les problèmes et solutions que nous pouvons imaginer dans notre esprit est très étroit. Pour cette raison, limiter les propriétés d’un langage uniquement dans le but d’éliminer les erreurs de programmation est pour le moins dangereux. Comme pour les langues naturelles, être au moins bilingue présente d’énormes avantages. Le langage fournit au programmeur un ensemble d'outils conceptuels : s'ils ne répondent pas à la tâche, ils sont tout simplement ignorés. Par exemple, de sévères limitations du concept de pointeur obligent le programmeur à utiliser des vecteurs et l'arithmétique entière pour implémenter des structures, des pointeurs, etc. Bon design et l’absence d’erreurs ne peut être garantie uniquement par le langage.

Cela peut paraître surprenant, mais un ordinateur donné est capable d’exécuter des programmes écrits dans son langage machine natif. Il existe presque autant de langages machine différents qu'il y a d'ordinateurs, mais ce sont tous des variantes d'une même idée : opérations simples sont produits à une vitesse fulgurante sur des nombres binaires.

Langages de programmation dépendants de la machine

Les langages dépendants de la machine sont des langages dont les ensembles d'opérateurs et de moyens visuels dépendent de manière significative des caractéristiques de l'ordinateur (langage interne, structure de la mémoire, etc.). Ces langages sont appelés langages de programmation de bas niveau. Ils se concentrent sur un type spécifique de processeur et prennent en compte ses fonctionnalités. Les opérateurs d'un tel langage sont proches du code machine et se concentrent sur des commandes spécifiques du processeur, c'est-à-dire langue donnée dépend de la machine. Le langage de bas niveau est le langage Assembly. Avec son aide, des programmes très efficaces et compacts sont créés, puisque le développeur a accès à toutes les capacités du processeur. Des langages similaires sont utilisés pour écrire en petit applications système, pilotes de périphériques, bibliothèques. Dans les cas où la quantité de RAM et de ROM est faible (de l'ordre de plusieurs kilo-octets), il n'y a pas d'alternative à l'assembleur. Ce sont ces langages de programmation qui permettent d'obtenir le code de programme le plus court et le plus rapide.

Langages de programmation indépendants des machines

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 ordinateur et d'un système informatique.

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 instructions de langage décrivent les actions que le système doit effectuer après avoir traduit un programme en langage machine.

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.

Les langages de programmation de haut niveau sont beaucoup plus proches et compréhensibles des humains. Ils ne prennent pas en compte les caractéristiques spécifiques architectures informatiques, c'est-à-dire que ces langages sont indépendants de la machine. Cela permet à un programme une fois écrit dans un tel langage d’être utilisé sur différents ordinateurs.

Il est possible d’écrire des programmes directement en langage machine, même si cela reste difficile. À l’aube de l’informatisation (au début des années 1950), le langage machine était le seul langage ; l’homme n’avait alors rien inventé d’autre. Pour sauver les programmeurs des rigueurs du langage de programmation machine, des langages de haut niveau (c'est-à-dire des langages non-machine) ont été créés, qui sont devenus une sorte de pont de connexion entre les humains et le langage machine de l'ordinateur. Les langages de haut niveau fonctionnent grâce à des programmes de traduction qui saisissent du « code source » (un code hybride mots anglais et les expressions mathématiques que la machine lit) et amènent finalement l'ordinateur à exécuter les commandes correspondantes données en langage machine.

Les langages de programmation de haut niveau sont les suivants : Fortran, Cobol, Algol, Pascal, Basic, C, C++, Java, HTML, Perl et autres.

À l'aide d'un langage de programmation, ce n'est pas un programme fini qui est créé, mais seulement son texte, qui décrit un algorithme préalablement développé. Pour obtenir un programme fonctionnel, vous devez soit traduire automatiquement ce texte en code machine, puis l'utiliser séparément du texte source, soit exécuter immédiatement les commandes de langage spécifiées dans le texte du programme. Des programmes de traduction sont utilisés à cet effet.

Il existe deux principaux types de traducteurs (Figure 8.4) : les interprètes, qui analysent et vérifient le code source en une seule étape, et les compilateurs, qui analysent le code source pour produire un texte de programme en langage machine qui est ensuite exécuté séparément.


Graphique 8.4. Types de traducteurs

Lors de l'utilisation de compilateurs, l'intégralité du texte source du programme est converti en codes machine, et ce sont ces codes qui sont écrits dans la mémoire du microprocesseur. Lors de l'utilisation d'un interpréteur, le texte source du programme est écrit dans la mémoire du microprocesseur et la traduction est effectuée lors de la lecture de l'instruction suivante. Naturellement, les performances des interpréteurs sont bien inférieures à celles des compilateurs, car lors de l'utilisation d'un opérateur dans une boucle, celui-ci est traduit plusieurs fois. Cependant, lors de la programmation dans un langage de haut niveau, la quantité de code qui doit être stockée dans mémoire interne, peut être nettement inférieur par rapport au code exécutable. Un autre avantage de l’utilisation d’interpréteurs est la portabilité aisée des programmes d’un processeur à un autre.

Un avantage souvent cité de l’implémentation interprétative est qu’elle permet un « mode immédiat ». Le mode direct permet de poser une tâche à l'ordinateur et vous renvoie la réponse dès que vous appuyez sur ENTER. De plus, les interpréteurs disposent d’attributs spéciaux qui facilitent le débogage. Vous pouvez par exemple interrompre le traitement d'un programme interpréteur, afficher le contenu de certaines variables, parcourir le programme, puis poursuivre son exécution. Cependant, les langues interprétatives présentent des inconvénients. Il est nécessaire, par exemple, d'avoir en mémoire à tout moment une copie de l'interpréteur, alors que de nombreuses capacités de l'interprète, et donc ses capacités, peuvent ne pas être nécessaires à l'exécution. programme spécifique. Lors de l'exécution des instructions du programme, l'interprète doit d'abord analyser chaque instruction pour lire son contenu (que cette personne me demande de faire ?), puis effectuer l'opération demandée. Les opérateurs dans les boucles sont analysés de manière excessive.

Un compilateur est un traducteur de texte en langage machine qui lit le texte source. Il l'évalue selon la structure syntaxique du langage et le traduit en langage machine. En d’autres termes, le compilateur n’exécute pas les programmes, il les construit. Les interprètes ne peuvent être séparés des programmes qu’ils exécutent ; les compilateurs font leur travail et quittent la scène. Lorsque vous travaillez avec un langage compilé tel que Turbo BASIC, vous devrez penser à vos programmes en termes de deux phases principales de leur vie : la période de compilation et la période d'exécution. La plupart des programmes fonctionneront quatre à dix fois plus vite que leurs équivalents interprètes. Si vous travaillez à l’améliorer, vous pouvez obtenir une amélioration des performances de 100 fois. Le revers de la médaille est que les programmes qui passent la plupart de leur temps à manipuler des fichiers sur le disque ou à attendre une entrée ne seront pas en mesure d'afficher des augmentations de vitesse impressionnantes.

Le processus de création d'un programme est appelé programmation.

Il existe plusieurs types de programmation.

Algorithmique ou modulaire

L'idée de base de la programmation algorithmique est de diviser un programme en une séquence de modules dont chacun effectue une ou plusieurs actions. La seule exigence pour un module est que son exécution commence toujours par la première commande et se termine toujours par la toute dernière (c'est-à-dire qu'il soit impossible d'accéder aux commandes du module de l'extérieur et de transférer le contrôle du module vers d'autres commandes, en contournant le dernier).

L'algorithme dans le langage de programmation sélectionné est écrit à l'aide de commandes permettant de décrire les données, de calculer des valeurs et de contrôler la séquence d'exécution du programme.

Le texte du programme est une séquence linéaire d’instructions d’affectation, de boucle et conditionnelles. De cette façon, vous ne pouvez pas très bien résoudre tâches complexes et composer des programmes contenant plusieurs centaines de lignes de code. Après cela, la compréhensibilité du texte source diminue fortement en raison du fait que structure générale L’algorithme se perd derrière des opérateurs de langage spécifiques qui effectuent des actions élémentaires trop détaillées. Il existe de nombreux imbriqués expressions conditionnelles et les opérateurs de boucle, la logique devient complètement confuse ; lorsqu'on essaie de corriger un opérateur erroné, plusieurs nouvelles erreurs sont introduites liées aux particularités du fonctionnement de cet opérateur, dont les résultats sont souvent pris en compte à divers endroits du programme.

Programmation structurée

Lors de la création d'applications de taille moyenne (plusieurs milliers de lignes code source) est utilisé programmation structurée, dont l'idée est que la structure du programme doit refléter la structure du problème à résoudre, afin que l'algorithme de solution soit clairement visible à partir du texte source. Pour ce faire, vous devez avoir les moyens de créer un programme non seulement en utilisant trois instructions simples, mais également en utilisant des outils qui reflètent plus précisément la structure spécifique de l'algorithme. À cette fin, le concept de sous-programme a été introduit dans la programmation - un ensemble d'opérateurs qui effectuent l'action souhaitée et sont indépendants des autres parties du code source. Le programme est divisé en plusieurs petits sous-programmes (prenant jusqu'à 50 instructions - un seuil critique pour comprendre rapidement le but du sous-programme), dont chacun effectue l'une des actions spécifiées dans la tâche d'origine. En combinant ces sous-programmes, il est possible de former l'algorithme final non pas à partir d'opérateurs simples, mais à partir de blocs complets de code ayant une certaine signification sémantique, et ces blocs peuvent être désignés par leur nom. Il s'avère que les sous-programmes sont de nouveaux opérateurs ou opérations de langage définis par le programmeur.

La possibilité d'utiliser des sous-programmes classe un langage de programmation comme langage procédural.

La présence de routines vous permet de concevoir et de développer une application de haut en bas – cette approche est appelée conception descendante. Tout d'abord, plusieurs sous-programmes sont identifiés qui résolvent les tâches les plus globales (par exemple, l'initialisation des données, la partie principale et l'achèvement), puis chacun de ces modules est détaillé à un niveau inférieur, se décomposant à son tour en un petit nombre d'autres. sous-programmes, et ainsi de suite jusqu'à ce que la tâche entière soit terminée.

Cette approche est pratique car elle permet à une personne de penser constamment au niveau du sujet, sans descendre à des opérateurs et variables spécifiques. De plus, il devient possible pour certains de ne pas implémenter les sous-programmes immédiatement, mais de les reporter temporairement jusqu'à ce que d'autres parties soient terminées. Par exemple, s'il est nécessaire de calculer des fonction mathématique, alors un sous-programme distinct pour un tel calcul est alloué, mais il est mis en œuvre temporairement par un opérateur, qui attribue simplement une valeur présélectionnée. Une fois l’ensemble de l’application écrit et débogué, vous pouvez commencer à implémenter cette fonction.

Il est également important que les petits sous-programmes soient beaucoup plus faciles à déboguer, ce qui augmente considérablement la fiabilité globale de l'ensemble du programme.

Très caractéristique importante sous-programmes - c'est leur possibilité réutilisation. Les systèmes de programmation intégrés sont livrés avec de grandes bibliothèques de routines standard qui peuvent augmenter considérablement la productivité en tirant parti du travail de quelqu'un d'autre pour créer des routines couramment utilisées.

Il existe deux types de sous-programmes : les procédures et les fonctions. Ils diffèrent en ce que la procédure exécute simplement un groupe d'opérateurs et que la fonction calcule en outre une certaine valeur et la renvoie à programme principal(renvoie la valeur). Cette valeur a un certain type (on dit que la fonction a tel ou tel type).

Les sous-programmes effectuent trois tâches importantes :

Élimine le besoin de répéter à plusieurs reprises des fragments similaires dans le texte du programme ;

Améliorer la structure du programme, en le rendant plus facile à comprendre ;

Augmente la résistance aux erreurs de programmation et aux conséquences imprévues lors des modifications du programme.

Programmation orientée objet

Au milieu des années 80, une nouvelle direction de la programmation est apparue, basée sur le concept d'objet. Jusqu'à cette époque, les principales limitations à la capacité de créer de grands systèmes étaient imposées par la désunion du programme de données et des méthodes de traitement de celles-ci.

Les objets réels du monde environnant ont trois caractéristiques fondamentales : ils possèdent un ensemble de propriétés, ils sont capables de différentes méthodes modifier ces propriétés et réagir aux événements qui surviennent à la fois dans le monde environnant et dans l'objet lui-même. C'est sous cette forme que le concept d'objet est implémenté dans les langages de programmation comme un ensemble de propriétés (structures de données caractéristiques de cet objet), de méthodes pour les traiter (routines de modification des propriétés) et d'événements auxquels cet objet peuvent réagir et qui conduisent, en règle générale, à une modification des propriétés de l'objet.

L'émergence de la capacité de créer des objets dans les programmes a eu un impact qualitatif sur la productivité des programmeurs. Le volume maximum d'applications devenues disponibles pour la création par un groupe de 10 programmeurs est passé à des millions de lignes de code sur plusieurs années, tandis qu'en même temps il était possible d'atteindre une fiabilité élevée des programmes et, surtout, de réutiliser des objets précédemment créés dans autres tâches.

Les objets peuvent avoir une structure identique et différer uniquement par les valeurs de leurs propriétés. Dans de tels cas, le programme crée un nouveau type basé sur une structure d'objet unique. Cela s'appelle une classe, et chaque objet concret qui a la structure de cette classe est appelé une instance de la classe.

Un langage de programmation orienté objet se caractérise par trois propriétés principales.