>> Électroniques Technologie >  >> Maison intelligente >> Vie intelligente

Les inconvénients des langages de programmation de haut niveau

Dans la terminologie de la programmation informatique, les langages de programmation sont souvent séparés en langages "de haut niveau" et "de bas niveau". La différence entre les deux est une question d'interaction matérielle. En termes simples, les langages de bas niveau résident "plus bas" sur le système informatique, plus proches de l'interaction matérielle réelle. Les langages de haut niveau sont extraits du matériel. Le résultat de cette abstraction peut se traduire par un code plus rapide et plus lisible, mais avec des avantages en termes de vitesse et un accès réduit aux ressources système.

Abstraction

Ce qui différencie les langages de haut niveau des langages de bas niveau est le niveau d'abstraction qu'un langage a des ressources système. La gestion quotidienne des ressources système peut devenir lente et pénible. Des langages de haut niveau ont été créés pour résoudre ce problème en gérant le système pour le programmeur, ce qui lui permet d'accomplir des tâches plus avancées tout en ignorant les moindres détails du système, tels que la gestion de la mémoire. Cependant, cela présente un inconvénient en ce qu'un programmeur peut se trouver dans une situation où l'accès au système est requis, et un langage de haut niveau ne peut pas donner cet accès. Un langage de haut niveau n'est généralement pas adapté à la programmation système.

Vitesse

Les langages de haut niveau sont généralement des langages "interprétés" plutôt que des langages de bas niveau "compilés". "Interprété" signifie simplement qu'un langage utilise un interpréteur qui exécute le code source une ligne à la fois, plutôt que de compiler un fichier binaire. Cependant, les interpréteurs sont souvent des programmes écrits dans des langages compilés. Pour cette raison, le langage interprété - Python, par exemple - ne s'exécute qu'au-dessus de l'interpréteur Python, qui est écrit en C. Cela augmente la surcharge de mémoire et de temps pour les programmes interprétés, et ils s'exécutent souvent plus lentement.

Particularités du système

Une force apparente du code de haut niveau est sa portabilité. Le code de haut niveau peut s'exécuter sur n'importe quel système sur lequel l'interpréteur approprié est installé. Cependant, lorsqu'un programme est compilé pour un ordinateur, il prend en compte tout l'environnement de ce système dans sa compilation. Un langage interprété est déjà abstrait du système à un tel point que le programme interprété ne sait rien du système sauf ce que l'interpréteur peut lui fournir.

Limites de programmation

En raison de la nature des langages de haut niveau, il existe certaines tâches pour lesquelles ils ne sont pas adaptés, ou du moins pas encore adaptés. Sans accès aux ressources système, il est difficile de développer rapidement des applications natives du système d'exploitation. De plus, même développer un système d'exploitation devient problématique. À mesure que de plus en plus de logiciels se déplacent en ligne, ce fait devient moins préoccupant mais, pour un usage commercial et industriel, les langages interprétés peuvent fonctionner trop lentement ou trop éloignés de l'interaction matérielle.


Vie intelligente