Langage de script vs langage de programmation

Quelqu’un peut-il expliquer la différence entre le langage de script et le langage de programmation s’il vous plaît?
Aussi pouvez-vous indiquer quelques exemples pour chacun. J’ai beaucoup googlé mais je trouve toujours les meilleures réponses de Stack Overflow.

Les langages de script sont des langages de programmation qui ne nécessitent pas d’étape de compilation explicite.

Par exemple, dans le cas normal, vous devez comstackr un programme C avant de pouvoir l’exécuter. Mais dans le cas normal, vous n’avez pas besoin de comstackr un programme JavaScript avant de l’exécuter. Donc, JavaScript est parfois appelé un langage de “script”.

Cette ligne devient de plus en plus floue puisque la compilation peut être si rapide avec du matériel moderne et des techniques de compilation modernes. Par exemple, V8, le moteur JavaScript de Google Chrome et largement utilisé en dehors du navigateur, comstack en fait le code JavaScript dans le code machine, plutôt que de l’interpréter. (En fait, le V8 est un compilateur optimisé en deux phases.)

Notez également que le fait de savoir si une langue est un langage de “script” ou non peut porter davantage sur l’environnement que sur le langage. Il n’y a aucune raison pour laquelle vous ne pouvez pas écrire un interpréteur C et l’utiliser comme langage de script (et les gens ont). Il n’y a pas non plus de raison pour laquelle vous ne pouvez pas comstackr JavaScript pour le code machine et le stocker dans un fichier exécutable (et les gens ont). Le langage Ruby en est un bon exemple: l’implémentation d’origine a été entièrement interprétée (un langage de “script”), mais il y a maintenant plusieurs compilateurs pour cela.

Quelques exemples de langages de script (par exemple, les langages traditionnellement utilisés sans étape de compilation explicite):

  • Lua
  • JavaScript
  • VBScript et VBA
  • Perl

Et une petite poignée de ceux traditionnellement utilisés avec une étape de compilation explicite:

  • C
  • C ++
  • Java (mais notez que Java est compilé en bytecode, qui est ensuite interprété et / ou recompilé lors de l’exécution)
  • Pascal

… et puis vous avez des choses comme Python qui se trouvent dans les deux camps: Python est largement utilisé sans étape de compilation, mais l’implémentation principale (CPython) le fait en compilant le bytecode à la volée et en exécutant le bytecode dans un VM, et il peut écrire ce bytecode sur des fichiers ( .pyc , .pyo ) pour une utilisation sans recompilation.

C’est très peu, si vous faites des recherches, vous pouvez en trouver beaucoup plus.

Pour comprendre la différence entre un langage de script et un langage de programmation, il faut comprendre pourquoi les langages de script sont nés.

Au départ, il existait des langages de programmation conçus pour créer des programmes tels qu’Excel, Word, les navigateurs, les jeux, etc. Ces programmes étaient conçus avec des langages tels que c et java. Les heures supplémentaires, ces programmes avaient besoin d’un moyen pour les utilisateurs de créer de nouvelles fonctionnalités, donc ils devaient fournir une interface à leur bytecode et donc des langages de script étaient nés.

Un langage de script n’est généralement pas compilé et peut donc être exécuté dès que vous écrivez quelque chose de significatif. Par conséquent, Excel peut être construit avec C ++, mais il expose un langage de script appelé VBA pour que les utilisateurs puissent définir des fonctionnalités. De même, les navigateurs peuvent être construits avec C ++ / Java, mais ils exposent un langage de script appelé javascript (non lié à Java en aucune façon). Les jeux sont généralement construits en C ++ mais exposent un langage appelé Lua pour que les utilisateurs puissent définir des fonctionnalités personnalisées.

Un langage de script se situe généralement derrière un langage de programmation. Les langages de script ont généralement moins d’access aux capacités natives de l’ordinateur car ils s’exécutent sur un sous-ensemble du langage de programmation original. Un exemple ici est que Javascript ne pourra pas accéder à votre système de fichiers. Les langages de script sont généralement plus lents que les langages de programmation.

Bien que les langages de script aient moins d’access et soient plus lents, ils peuvent être des outils très puissants. La facilité de mise à jour est l’un des facteurs qui expliquent le succès des langages de script. Vous souvenez-vous de l’époque des applets Java sur le Web, ceci est un exemple d’exécution d’un langage de programmation (Java) contre l’exécution d’un langage de script (javascript). À l’époque, les ordinateurs n’étaient pas aussi puissants et le javascript n’était pas aussi mature que les applets Java dominaient les scènes. Mais les applets Java étaient agaçantes, elles exigeaient que l’utilisateur charge et comstack le langage. Aujourd’hui, les applets Java ont presque disparu et Javascript domine la scène. Javascript est extrêmement rapide à charger car la plupart des composants du navigateur ont déjà été installés.

Enfin, les langages de script sont également considérés comme des langages de programmation (bien que certaines personnes refusent de l’accepter) – le terme que nous devrions utiliser ici est le langage de script ou le langage compilé.

Tous les langages de script sont des langages de programmation.

Les langues ne sont pas classées en tant que script ou non – cela dépend entièrement de l’environnement d’exécution.

Si l’environnement est interprété, il s’agit généralement d’un environnement de script.

Les différences deviennent de moins en moins importantes. Traditionnellement, les langages de script étendent les programmes existants … Je pense que la définition principale de “scripting” consiste à écrire un ensemble d’instructions pour une entité existante. Cependant, lorsque les langages de script ont commencé avec une syntaxe propriétaire et familière, la plupart des langages courants de nos jours sont liés à C.

Je pense que la distinction “interprété vs compilé” est vraiment un symptôme d’extension d’un programme existant (avec un interpréteur intégré), plutôt qu’une différence insortingnsèque. Ce qui préoccupe le plus les programmeurs et les profanes, c’est ce que fait le programmeur? Le fait qu’un programme soit interprété et qu’un autre soit compilé ne signifie pas grand-chose pour déterminer la différence d’activité du créateur. Vous ne jugez pas un dramaturge pour savoir si ses pièces sont plus couramment lues à haute voix ou interprétées sur scène, n’est-ce pas?

Langage de programmation: compilé en code machine et exécuté sur le matériel du système d’exploitation sous-jacent.

Langage de script: est un sous-ensemble de structure de langage de programmation. Il est généralement interprété. il s’agit essentiellement de “scripts” d’autres choses à faire. L’objective principal ne consiste pas principalement à créer vos propres applications, mais à faire en sorte qu’une application existante agisse comme vous le souhaitez, par exemple JavaScript pour les navigateurs, TCL, etc.

*** Mais il existe une situation dans laquelle un langage de programmation est converti en interpréteur et le vice-vers comme l’utilisation d’un interpréteur C où vous pouvez “C” Script. Les scripts sont généralement écrits pour contrôler un comportement d’application où, comme langage de programmation, est utilisé pour créer des applications. Mais attention, la démarcation devient floue au quotidien comme exemple de Python, cela dépend de la manière dont on utilise le langage.

Les langages de script sont un sous-ensemble des langages de programmation.

  1. Les langages de script ne sont pas compilés en code machine par l’utilisateur (python, perl, shell, etc.). Au contraire, un autre programme (appelé l’interpréteur exécute le programme et simule son comportement)
  2. Certains langages de programmation qui ne sont pas des scripts (C, C ++, Haskell et autres langages «compilés») sont compilés en code machine et sont ensuite exécutés.

Je pense que ce que vous dites en tant que “différence” est en réalité une conséquence de la différence réelle.

La différence réelle est la cible du code écrit. Qui va exécuter ce code.

Un langage de script est utilisé pour écrire du code destiné à cibler un système logiciel. Cela va automatiser les opérations sur ce logiciel. Le script va être une séquence d’instructions vers le système logiciel cible.

Un langage de programmation cible le système informatique, qui peut être une machine réelle ou virtuelle. Les instructions sont exécutées par la machine.

Bien sûr, une machine réelle ne comprend que le code binary, vous devez donc comstackr le code d’un langage de programmation. Mais ceci est une conséquence du ciblage d’une machine au lieu d’un programme.

D’autre part, le système logiciel cible d’un script peut comstackr le code ou l’interpréter. Est à la hauteur du logiciel.

Si nous disons que la vraie différence est de savoir si elle est compilée ou non, alors nous avons un problème parce que quand Javascript s’exécute dans V8 est compilé et quand il s’exécute dans Rhino n’est pas.

Cela devient plus compliqué puisque les langages de script ont évolué pour devenir très puissants. Donc, ils ne sont pas limités à la création de petits scripts pour automatiser les opérations sur un autre système logiciel, vous pouvez créer des applications riches avec eux.

Le code Python cible un interpréteur pour que l’on puisse dire qu’il “script” des opérations sur cet interpréteur. Mais lorsque vous écrivez du code Python, vous ne le voyez pas comme un script pour un interpréteur, vous le voyez comme créant une application. L’interprète est juste là pour coder à un niveau supérieur, entre autres choses. Donc, pour moi, Python est plus un langage de programmation qu’un langage de script.

Je suis en désaccord avec le fait que les langages utilisant des interpréteurs sont des langages de script et que ceux qui sont compilés sont des langages de programmation. Nous pouvons développer un interpréteur ou un compilateur pour n’importe quel langage. L’environnement interprété convient mieux aux scripts Web et facilite la tâche.

Eh bien, je pense qu’il n’y a pas de différence entre le langage de script et le langage de programmation. Il s’agit de faire le travail. En ce qui concerne les tâches liées au Web, nous les appelons scripts restreints et nous pouvons également appeler les tâches liées au système comme des scripts système ou OS et le langage de programmation que nous utilisons pour accomplir ces tâches.

En outre, il n’est pas possible de ne pas écrire de code système au niveau des scripts Python et Web en langage C (on peut certainement le faire si nous pouvons établir la plate-forme et l’environnement requirejs). Mais tout ce qu’il faut, c’est trop d’efforts, ce qui peut affecter les contraintes de temps pour le développement rapide et la faible latence réduite ne va pas nous être très utile dans les scripts Web. Mais le contraire n’est pas vrai si nous effectuons des tâches au niveau du système en Python.

Bottom line: la sélection de la langue dépend de la nature de la tâche à exécuter et la discrimination d’une langue comme langage de script est un mythe.

Mis à part la différence que le langage de script est interprété et que le langage de programmation est compilé, il y a une autre différence comme ci-dessous, qui, je suppose, a été manquée.

Un langage de script est un langage de programmation utilisé pour manipuler, personnaliser et automatiser les fonctionnalités d’un système existant. Dans de tels systèmes, une fonctionnalité utile est déjà disponible via une interface utilisateur et le langage de script est un mécanisme permettant d’exposer cette fonctionnalité au contrôle de programme.

Alors qu’un langage de programmation est généralement utilisé pour coder le système à partir de Scratch.

src ECMA

Si nous voyons logiquement un langage de programmation et un langage de script, cela équivaut à 99,09%. parce que nous utilisons le même concept comme loop, condition de contrôle, variable et tout ce que nous pouvons dire que les deux sont identiques mais qu’il n’ya qu’une seule différence entre C / C ++ et un autre langage de programmation, nous compilons le code avant exécution. mais dans PHP, JavaScript et tout autre langage de script, nous n’avons pas besoin de comstackr directement dans le navigateur.

Merci Nitish K. Jha

Langages scriptés

Les langages de script sont interprétés dans un autre programme. JavaScript est intégré dans un navigateur et interprété par ce navigateur.

Exemples de langages de script

  1. JavaScript
  2. Perl
  3. Python

Avantages des langages de script:

  1. Simple – Les langages de script sont plus faciles à écrire que le langage de programmation.

  2. Moins de lignes de code (LOC)

Langues programmées

Les langages de programmation tels que Java sont compilés et ne sont pas interprétés de la même manière par une autre application.

Exemples de langages de programmation

  1. C
  2. C ++ et
  3. Java

Plus de détails

Dans les langages de script tels que JavaScript et les anciennes versions de PHP, nous utilisons des méthodes et des fonctions fondamentales existantes pour effectuer notre travail. Prenons un exemple en JavaScript nous pouvons utiliser ajax ou web-sockets uniquement s’ils sont supportés par un navigateur ou si des méthodes existent ou bien dans le navigateur. Mais dans des langages comme C ou C ++, Java, nous pouvons écrire cette fonctionnalité à partir de zéro, même si aucune bibliothèque pour cette fonctionnalité n’est disponible mais que nous ne pouvons pas le faire en JavaScript.

pouvez-vous prendre en charge les sockets Web dans Internet Explorer 8 ou les versions antérieures à l’aide de JavaScript? Mais vous pouvez écrire un plug-in en C ou C ++ ou Java qui peut append une fonctionnalité de socket Web à Internet Explorer 8.

En gros, dans les langages de script, nous écrivons un code dans une séquence qui exécute les méthodes existantes dans une séquence pour terminer notre travail. La saisie de nombres et de formules dans une calculasortingce numérique pour effectuer une opération est également un exemple de langage de script. Il convient de noter que l’environnement de compilation / exécution de chaque langage de script est toujours écrit en langage de programmation. et méthodes et peut écrire de nouvelles bibliothèques.

PHP C’est un langage quelque peu b / w de programmation et de script. Nous pouvons append de nouvelles méthodes en ajoutant des extensions compilées écrites dans un autre langage de haut niveau. Nous ne pouvons pas append des fonctionnalités de haut niveau de mise en réseau ou créer des bibliothèques de traitement d’image directement en PHP.

PS Je suis vraiment désolé de faire tourner ma réponse autour de PHP JavaScript uniquement, mais je les utilise parce que j’ai une expérience considérable dans ces deux domaines.

À l’époque où le monde était jeune et dans le monde du PC que vous avez choisi à partir de .exe ou .bat, la délimitation était simple. Les systèmes Unix ont toujours eu des scripts shell (/ bin / sh, / bin / csh, / bin / ksh, etc.) et des langages compilés (C / C ++ / Fortran).

Pour différencier les rôles et les responsabilités, les langages compilés (souvent appelés langages de troisième génération) étaient considérés comme des langages de «programmation» et les langages de «scriptage» comme ceux qui appelaient un interprète (souvent appelés langages de quasortingème génération). Les langages de script étaient souvent utilisés comme «colle» pour relier plusieurs commandes / programmes compilés, de sorte que l’utilisateur n’avait pas à se soucier d’une série d’étapes pour mener à bien sa tâche – ils ont développé un seul fichier ils voulaient accomplir, et ceci est devenu un «scénario» à suivre pour quiconque.

Diverses personnes / groupes ont écrit de nouveaux interprètes pour résoudre un problème spécifique. awk est l’un des plus connus, et il a surtout été utilisé pour la correspondance de modèles et l’application d’une série de transformations de données en entrée. Cela a bien fonctionné, mais le domaine du problème était limité. L’expansion de ce domaine était pratiquement impossible car le code source n’était pas disponible. Outil de script Perl (Larry Wall, auteur / architecte principal) à un niveau supérieur – et a développé un interpréteur qui permet non seulement à l’utilisateur d’exécuter des commandes système, de manipuler des données d’entrée et de sortie, mais aussi d’accéder aux API du système Unix comme fonctions à partir des scripts eux-mêmes. C’était probablement l’un des premiers langages de script de haut niveau largement utilisés. C’est avec Perl (IMHO) que les langages de script ont franchi la ligne arbitraire et ajouté les capacités des langages de programmation.

Votre question concernait spécifiquement Python. Étant donné que l’interpréteur python s’exécute sur un fichier texte contenant le code python et que le code python peut s’exécuter partout où il existe un interpréteur Python, je dirais qu’il s’agit d’un langage de script (de la même manière que Perl). Vous n’avez pas besoin de recomstackr le fichier de commandes de l’utilisateur python pour chaque architecture de système d’exploitation / processeur différente (comme vous le feriez avec C / C ++ / Fortran), le rendant beaucoup plus portable et plus facile à utiliser.

Le crédit pour cette réponse va à Jerrold (Jerry) Heyman. Sujet original: https://www.researchgate.net/post/Is_Python_a_Programming_language_or_Scripting_Language