Langage de script vs Langage de Programmation
Quelqu'un peut-il expliquer la différence entre le Langage de Script et de Programmation de Langue s'il vous plaît?
Aussi pouvez-vous donner quelques exemples pour chacun. J'ai Googlé beaucoup, mais j'ai toujours trouver les meilleures réponses à partir de Débordement de la Pile.
Vous devez vous connecter pour publier un commentaire.
Les langages de script sont des langages de programmation qui ne nécessitent pas explicite d'une étape de compilation.
Par exemple, dans le cas normal, vous devez compiler un programme C avant de pouvoir l'exécuter. Mais dans le cas normal, vous n'avez pas à compiler un programme JavaScript avant de l'exécuter. Si JavaScript est parfois appelé un "script" de la langue.
Cette ligne devient de plus en plus floue puisque la compilation peut être si rapide avec du matériel moderne et moderne et les techniques de compilation. Par exemple, V8, le moteur JavaScript de Google Chrome et beaucoup utilisé en dehors du navigateur, en fait compile le code JavaScript à la volée en code machine, plutôt que de l'interpréter. (En fait, le V8 est une optimisation à deux phases du compilateur.)
Notez également que si une langue est un "script" de la langue ou non, peut être plus sur l'environnement de la langue. Il n'y a aucune raison que vous ne pouvez pas écrire un C interprète et l'utiliser comme un langage de script (et les gens ont). Il n'y a également aucune raison que vous ne pouvez pas compiler en JavaScript en code machine et de la stocker dans un fichier exécutable (et les gens ont). Le langage Ruby est un bon exemple: La mise en œuvre originale a été entièrement interprété (un "script" de la langue), mais il y a maintenant plusieurs compilateurs pour elle.
Quelques exemples de "scripting" les langues (par exemple, les langues qui sont traditionnellement utilisé sans explicite de l'étape de compilation):
Et une petite poignée de ceux traditionnellement utilisé explicite étape de compilation:
...et puis vous avez des choses comme le Python, qui siègent dans les deux camps: Python est largement utilisé sans une étape de compilation, mais le principal de mise en œuvre (Disponible) n'est que par la compilation en bytecode à la volée, puis exécute le bytecode dans une machine virtuelle, et il peut écrire que le bytecode pour les fichiers (
.pyc
,.pyo
) pour une utilisation sans recompiler.C'est juste un très quelques-uns, si vous faites un peu de recherche vous pouvez trouver beaucoup plus.
De comprendre la différence entre un langage de programmation et un langage de programmation, on doit comprendre pourquoi les langages de script sont nés.
Au départ, il y avait des langages de programmation qui a été écrit afin de créer des programmes comme excel, word, des navigateurs, des jeux et etc. Ces programmes ont été construits avec des langages comme le c et le java. Les heures supplémentaires, ces programmes avaient besoin d'un moyen pour les utilisateurs de créer de nouvelles fonctionnalités, de sorte qu'ils ont dû fournir une interface pour les bytecode et, par conséquent, les langages de script sont nés.
Un langage de script habituellement n'est pas compilé, donc peut courir dès que vous écrivez quelque chose de significatif. Donc excel peut être construit à l'aide de C++, mais il expose un langage de script appelé VBA pour les utilisateurs de définir les fonctionnalités. De même, les navigateurs peuvent être construits avec C++/Java, mais ils exposent un langage de script appelé javascript (pas lié à java en quelque sorte). Jeux, sont généralement construites avec C++, mais d'exposer un langage appelé Lua pour les utilisateurs de définir des fonctionnalités personnalisées.
Un langage de script qui se trouve derrière un langage de programmation. Les langages de script ont généralement moins accès aux ordinateurs capacités naturelles, car ils fonctionnent sur un sous-ensemble de la programmation originale de la langue. Un exemple ici, c'est que le Javascript ne sera pas en mesure d'accéder à votre système de fichiers. Les langages de script sont généralement plus lentes que les langages de programmation.
Bien que les langages de script peuvent avoir moins accès et sont plus lents, ils peuvent être des outils très puissants. Un facteur d'attribuer à l'un des langages de script succès est la facilité de mise à jour. Vous souvenez-vous des jours, des applets java sur le web, c'est un exemple de l'exécution d'un langage de programmation (java) vs l'exécution d'un langage de script (javascript). À l'époque, les ordinateurs n'étaient pas aussi puissants et javascript n'était pas mature, donc, des applets Java dominé les scènes. Mais applets Java étaient ennuyeux, ils ont tenu à l'utilisateur de trier de la charge et de la compilation de la langue. Avance rapide jusqu'à aujourd'hui, des applets Java sont presque éteintes et Javascript domine la scène. Javascript est extrêmement rapide à charger depuis la plupart des composants du navigateur ont été déjà installé.
Enfin, les langages de script sont également considérés comme des langages de programmation (bien que certaines personnes refusent d'accepter ce) - le terme que l'on devrait utiliser ici est de langages de script vs langages compilés.
Tous les langages de script sont des langages de programmation.
Langues ne sont pas classés comme de script ou pas - il dépend entièrement de l'environnement d'exécution.
Si l'environnement est celui qui est interprété, ce qui est communément appelé un environnement de script.
Les différences deviennent moins nombreux et moins importants. Traditionnellement, les langages de script étendre les programmes existants... je pense que c'est la principale définition de "scripting" est qu'il se réfère à la rédaction d'un ensemble d'instructions pour une entité existante à effectuer. Toutefois, lorsque les langages de script commencé avec les propriétaires et familier de la syntaxe, de la plupart des les plus répandus, ceux de ces jours redevable d'un certain rapport à C.
Je pense que le "interprété vs compilé" distinction est vraiment un symptôme de l'extension d'un programme existant (avec un construit en interprète), plutôt que d'une différence intrinsèque. Ce que les programmeurs et les laïcs sont plus préoccupés par est, "qu'est-ce que le programmeur en train de faire?" Le fait qu'un programme est interprété et un autre est compilé signifie que très peu dans la détermination de la différence dans l'activité par le créateur. Vous ne jugez pas un dramaturge que ses pièces sont le plus souvent de lire à haute voix ou sur scène, avez-vous?
Langage De Programmation :
Est compilé en code machine et exécuter sur le matériel du sous-jacent Système d'Exploitation.
Langage De Script :
Est unstructure sous-ensemble de langage de programmation. Il est généralement interprété.
il fondamentalement des "scripts" d'autres choses à faire. L'objectif principal n'est pas principalement la construction de vos propres applications, mais aussi d'avoir une application existante pour agir de la manière que vous voulez, par exemple JavaScript pour les navigateurs, TCL, etc.,
*** Mais il y a des cas où un langage de programmation est converti à l'interprète et le vice-verset comme utiliser un C interprète où vous pouvez 'C' Script.
Les Scripts sont généralement écrits pour contrôler une application lieu à un comportement comme le Langage de Programmation est utilisé pour construire des applications.
Mais méfiez-vous que la démarcation est flou, jour par jour, comme un exemple de Python cela dépend comment on utilise la langue.
Les langages de script sont un sous-ensemble des langages de programmation.
Je pense que ce que vous affirmez que la "différence" est en fait 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 le code qui va cibler un système logiciel. Il va automatiser les opérations sur le logiciel système. Le script va être une séquence d'instructions à la cible du logiciel système.
Un langage de programmation cible le système informatique, qui peut être réel ou virtuel. Les instructions sont exécutées par la machine.
Bien sûr, une vraie machine comprend uniquement en code binaire, de sorte que vous besoin de compiler le code d'un langage de programmation. Mais c'est une conséquence de ciblage d'une machine au lieu d'un programme.
Dans l'autre main, le logiciel cible du système d'un script peut compiler le code ou l'interpréter. Est le logiciel système.
Si nous disons que la vraie différence est de savoir si il est compilé ou non, alors nous avons un problème parce que quand le Javascript s'exécute en V8 est compilé et lorsqu'il s'exécute dans Rhino n'est pas.
Il devient de plus en plus source de confusion car les langages de script ont évolué pour devenir très puissant. Donc, ils ne sont pas limités à créer des petits scripts pour automatiser des opérations sur un autre logiciel système, vous pouvez créer des applications riches avec eux.
Code Python objectifs d'un interprète, nous pouvons donc dire qu'il "scripts" opérations sur qu'interprète. Mais quand vous écrivez du code Python vous ne le voyez pas comme un interpréteur de script, vous le voyez comme la création d'une application. L'interprète est juste là pour code à un niveau plus élevé parmi d'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 langues à l'aide des interprètes sont les langages de script et l'on obtient compilées sont des langages de programmation. Nous pouvons développer un interpréteur ou compilateur pour n'importe quelle langue. Interprété environnement costumes de script web meilleur et le rend plus facile c'est pourquoi nous l'avons.
Bien, je me sens comme il n'y a pas de différence entre le langage de script et de programmation de la langue. Il est tout au sujet de faire le travail. Quand il s'agit de tâches web nous les appelons des scripts Web, compte tenu de petites tâches et de cette façon, nous pouvons également appeler le système les tâches connexes au système ou au niveau de l'OS, les scripts et le langage de programmation que nous utilisons pour accomplir ces tâches en tant que système, les langages de script.
Aussi il n'est pas de sorte que l'on ne peut pas écrire de niveau de système de code en Python Web et des scripts en langage C (certainement l'un peut faire, si l'on peut établir la plate-forme et de l'environnement). Mais tout ce qu'il faut, c'est trop d'effort qui peut affecter le temps de contrainte pour le développement rapide et le petit bout de temps de latence réduit n'est pas avantageux pour nous beaucoup de scripts web. Mais le vice-versa n'est pas vrai si l'on effectuer des tâches de niveau en Python.
Bas de ligne: sélection de la langue dépend de la nature de la tâche à accomplir et de discriminer une langue en tant que langage de script est un mythe.
Dans les langages de Script comme JavaScript et les anciennes versions de PHP) nous utiliser les fonctions fondamentales et de la méthode pour la réalisation de notre travail.
Prenons un exemple dans
JavaScript
nous pouvons utiliserajax
ouweb-sockets
que s'ils sont pris en charge par le navigateur ou méthodes existent ou dans le navigateur. Mais dans des langages comme C ou C++ , Java, nous pouvons écrire que la fonction à partir de zéro, même si toute la bibliothèque pour que la fonctionnalité n'est pas disponible, mais nous ne pouvons pas le faire en JavaScript.pouvez-vous soutenir les web sockets dans Internet Explorer 8 ou avant avec l'aide de JavaScript
Mais vous pouvez écrire un plugin en C ou C++ ou Java qui peut ajouter une fonctionnalité de web-socket pour Internet Explorer 8.
Essentiellement dans les langages de Script nous écrire un code dans une séquence qui exécutent des méthodes existantes dans une séquence afin de compléter notre travail. Entrer les chiffres et les formules numérique calculatrice pour faire une opération est aussi un exemple de langage de script.Il convient de noter que le compilateur/run-temps-de l'environnement de chaque langage de script est toujours écrit en langage de programmation dans lequel nous pouvons ajouter plus de fonctionnalités et de méthodes et pouvez écrire de nouvelles bibliothèques.
PHP
C'est la langue qui est un peu b/w de programmation et de script. Nous pouvons ajouter de nouvelles méthodes par l'ajout d'extensions compilées écrit dans un autre Langage de Haut Niveau. On ne peut pas ajouter de haut niveau de fonctionnalités de mise en réseau ou la création de bibliothèques de traitement d'images directement dans PHP.
P. S. je suis vraiment désolé pour ce tournant de ma réponse, autour de PHP JavaScript, mais j'utilise ces deux parce que j'ai une expérience considérable dans ces deux.
Quand le monde était jeune et dans le monde PC vous de choisir de .exe ou .chauve-souris, la délimitation a été simple. Les systèmes Unix ont toujours eu des scripts shell (/bin/sh /bin/csh /bin/ksh, etc) et les langages Compilés (C/C++/Fortran).
De différencier les rôles et les responsabilités, les langages compilés (souvent désigné comme la 3ème Génération des Langues) ont vu une programmation de langues et de "script" langues ont été considérés comme ceux qui a appelé les services d'un interprète (souvent désigné comme la 4e Génération de Langues). Les langages de script ont été souvent utilisés comme "colle" pour se connecter entre plusieurs commandes/programmes compilés afin que l'utilisateur n'a pas à se soucier d'un ensemble de mesures afin de mener à bien leur tâche, ils ont élaboré un fichier unique, qui délimitées quelles mesures ils voulaient accomplir, et c'est devenu un "script" pour quiconque de le suivre.
Diverses personnes/groupes a écrit de nouveaux interprètes pour résoudre un problème spécifique de domaine. awk est l'une des plus connues, et il a été utilisé principalement pour le filtrage et l'application d'une série de transformations sur les données d'entrée. Il a bien fonctionné, mais limitée du domaine du problème. L'expansion de ce domaine était impossible, parce que le code source n'était pas disponible. Perl (Larry Wall, le principe de l'auteur/architecte) outil de script pour le niveau suivant - et mis au point un interprète qui a permis non seulement à l'utilisateur d'exécuter des commandes système, de manipuler d'entrée et de sortie de données, pris en charge sans type des variables, mais aussi d'accéder à un système Unix niveau de l'Api en tant que fonctions de dans les scripts eux-mêmes. Il était probablement l'un des plus largement utilisé de haut niveau des langages de script. C'est avec Perl (à mon humble avis) que les langages de script franchi la ligne arbitraire et ajouté les fonctionnalités des langages de programmation.
Votre question portait spécifiquement sur Python. Parce que l'interpréteur python va à l'encontre d'un fichier texte contenant le code python, et que le code python pouvez exécuter de n'importe où qu'il y a un interpréteur python, je dirais que c'est un langage de script (dans la même veine que Perl). Vous n'avez pas besoin de recompiler l'utilisateur de python fichier de commande pour chaque système d'exploitation et PROCESSEUR de l'Architecture (comme vous le feriez avec C/C++/Fortran), il est beaucoup plus portable et facile à utiliser.
De crédit pour cette réponse va de Jerrold (Jerry), Heyman.
Thread d'origine: https://www.researchgate.net/post/Is_Python_a_Programming_language_or_Scripting_Language
En dehors de la différence que langage de Script est Interprété et langage de Programmation Compilé, il y a une autre différence comme ci-dessous, qui je pense a été manquée..
Un langage de script est un langage de programmation qui est utilisé pour manipuler, de personnaliser et d'automatiser les installations d'un système existant. Dans de tels systèmes, utile fonctionnalité est déjà disponible via une interface utilisateur, et le langage de script est un mécanisme permettant d'exposer les fonctionnalités de contrôle du programme.
Alors qu'un Langage de Programmation est généralement utilisé pour coder le système à partir de Zéro.
src ECMA
Script langues
Les langages de script sont interprétés dans un autre programme. JavaScript est intégré au sein d'un navigateur, et interprété par le navigateur.
Exemples de langages de script
Avantages des langages de Script:
Simple – les langages de Script sont plus faciles à écrire que de la programmation
langue.
Moins de Lignes de Code (LOC)
Programmé langues
Des langages de programmation comme Java sont compilés et pas interprété par une autre application de la même manière.
Exemples de langages de programmation
Plus De Détails
Si nous voyons logiquement langage de programmation et un langage de script, donc c'est 99.09% même . parce que nous utilisons un même concept comme la boucle , condition de contrôle ,variables et tous nous pouvons donc dire que oui les deux sont les mêmes mais il y a une seule chose qui est différent entre eux qui est en C/C++ ou autre langage de programmation, nous compiler le code avant l'exécution . mais dans le PHP , le JavaScript et d'autres langage de script nous n'avons pas besoin de compiler nous exécuter directement dans le navigateur.
Merci
Nitish K. Jai
Les langages de script sont des langages de programmation que les gens considèrent comme des langages de script.
C'est un artificiel catégorie avec pas de frontière claire, et où chaque proposition de règle a une exception.
Les règles classiques utilisés pour dire qu'une langue est un langage de script sont la caractérisation, de ne pas définir. Si une langue répond à un certain nombre de règles, il ya une bonne chance qu'il est considéré comme un langage de script. Si non, il ya une bonne chance qu'il ne l'est pas. Les règles incluent habituellement:
Je voudrais ajouter:
Qui est, il pourrait être un langage interprété.
Si un langage de programmation est importante "au moment de la compilation" comportement où il analyse le code et les rapports d'erreurs sans exécuter le programme, comme les erreurs de type C, Java ou C#, alors il est probablement pas considéré comme un langage de script.
Traditionnellement beaucoup de langages de script ont été interprétés directement de la source, mais la plus populaire d'entre eux ont obtenu plus performant implémentations qui précompiler le code, comme Python
.pyc
de fichiers, ou de l'optimisation des moteurs JavaScript que compiler en code natif avant l'exécution.Si la langue pourrait être mis en œuvre par les services d'un interprète, ce qui ne regarde que le code source car il est en cours d'exécution, alors il est probablement considéré comme un langage de script. Si elle est réellement mise en œuvre de cette façon n'est pas important, mais si on peut, alors il a également ne peut pas exiger une vaste erreur de compilation de vérification du code.
Si la langue constitue un outil utile sémantique statique qui permet de détecter des erreurs autres que les erreurs de syntaxe) sans avoir besoin d'exécuter le programme, il n'est probablement pas un langage de script.
Il y a toujours des exceptions, généralement basé sur la tradition autour d'une langue, plus que toute règle réelle.
De BASE n'est généralement pas considéré comme un "langage de script", même si elle répond assez bien à tous les critères que quelqu'un a déjà utilisé pour être. C'est pourquoi Visual Basic Script a dû ajouter le "script" pour le nom, pour se distinguer à partir de Visual Basic, un "vrai" langage de programmation conçu pour les grands programmes.
De BASE est également un vieux langage de programmation, comme le COBOL et Fortran, partir avant que les gens devraient analyse statique à partir d'une langue, et, essentiellement, avant de "les langages de script" avait même chose.