Que sont les générations de langage de programmation?
Les générations de langage de programmation sont un moyen de classer les langages de programmation informatique en fonction de leur distance globale par rapport au code machine réel généré et, à certains égards, leur facilité d'utilisation par un programmeur. Il existe trois générations de langage de programmation généralement acceptées et quelques-unes dont les définitions ne sont pas clairement convenues. Un langage de programmation informatique de première génération est un code machine droit sans abstraction. Les langages de deuxième génération sont du code machine abstrait, tel que le langage d'assemblage, qui sont liés à une architecture système spécifique mais qui sont lisibles par l'homme et doivent être compilés. Les langages de troisième génération sont la forme la plus courante, y compris les langages standard tels que C et Java®, tandis que les langages qui sont de quatrième génération ou plus ont des définitions variées.
Lorsque les générations de langage de programmation ont d'abord été créées pour décrire les langues, le terme a été utilisé pour indiquer les langues de troisième génération. Cela signifie Lang de première et de deuxième générationLes uages n'ont été classés que comme tels pour mettre en évidence les capacités des langues de troisième génération. Les quatrième et cinquième générations de langues de programmation ont été largement utilisées comme termes par rapport au marketing pour les langues en développement. Dans le marketing et certains domaines universitaires, les générations de langues plus élevées sont utilisées de manière non standard pour indiquer qu'une langue est plus récente ou a plus de fonctionnalités qu'un autre.
La première des générations de langage de programmation indique le code machine. Cela signifie écrire un programme en tant que séquence d'octets ou, dans des cas extrêmes, des bits qui peuvent être directement exécutés par un ordinateur. Dans la plupart des cas, cela fait référence à un système qui accepte les entrées via des commutateurs à code dur ou d'autres mécanismes physiques.
Les langages de programmation de deuxième génération de deuxième génération sont considérés comme des langages de style assemblage. Ce sont des langues qui sont écrites avec du code et des commandes lisibles par l'hommequi sont toujours liés à des architectures de système spécifiques mais présentent un environnement de développement plus facile et une certaine abstraction. Les langages d'assemblage n'ont jamais cessé d'être utilisés, en 2011, et sont non seulement extrêmement puissants, mais peuvent également être utilisés comme instructions en ligne dans les langages de programmation de niveau supérieur, faisant de la fausse notion que la génération d'un langage équivaut à sa vitesse ou à sa puissance.Langages de programmation de troisième génération a découplé le code du processeur dans une mesure encore plus large, permettant le développement d'un code qui a utilisé des instructions plus lisibles. De plus, des compilateurs ont été développés qui pourraient transformer une seule ligne de code en plusieurs instructions d'assemblage sur plusieurs plates-formes et, éventuellement, en dizaines ou plus d'instructions de code machine. Presque tous les langages informatiques qui peuvent compiler des exécutables et des bibliothèques binaires natifs sont considérés comme des langues de troisième génération.
En général, un langage de quatrième génération est considéré comme une langue destinée à utiliser un certain type de programmeAmming langage très naturel pour l'utilisateur. Il peut également être défini comme une langue qui utilise des éléments visuels pour construire le programme final. Une troisième définition est un langage de programmation conçu dans un but spécifique, comme un langage de programmation de base de données ou un langage rapide de développement d'applications (RAD).
Une définition lâche d'un langage informatique de cinquième génération est celle qui permet à un programmeur de présenter l'ordinateur un problème qu'il tente ensuite de résoudre. La plupart des langues répertoriées comme une langue de cinquième génération sont principalement de nature académique. D'autres générations de langage de programmation, telles que sixième et septième, ont été utilisées par des développeurs de langues commerciales à des fins de marketing.