Кто-нибудь может объяснить разницу между языком сценариев и языком программирования? Также вы можете указать несколько примеров для каждого. У меня Googled много, но я всегда нахожу лучшие ответы из Stack Overflow.
Язык сценариев и язык программирования
Ответ 1
Языки сценариев - это языки программирования, для которых не требуется явный шаг компиляции.
Например, в обычном случае вам нужно скомпилировать программу C, прежде чем вы сможете ее запустить. Но в нормальном случае вам не нужно компилировать программу JavaScript, прежде чем запускать ее. Поэтому JavaScript иногда называют языком сценариев.
Эта линия становится все более размытой, поскольку компиляция может быть настолько быстрой с использованием современного оборудования и современных методов компиляции. Например, V8, механизм JavaScript в Google Chrome и много использовал вне браузера, фактически компилирует код JavaScript на лету в машинный код, а не интерпретирует его. (На самом деле, V8 - оптимизирующий двухфазный компилятор.)
Также обратите внимание, что независимо от того, является ли язык "скриптовым" или нет, может быть больше о среде, чем язык. Нет причин, по которым вы не можете написать интерпретатор C и использовать его в качестве языка сценариев (и у людей есть). Также нет причин, по которым вы не можете скомпилировать JavaScript для машинного кода и сохранить его в исполняемом файле (и у людей есть). Язык Ruby - хороший пример: оригинальная реализация была полностью интерпретирована ( "скриптовый" язык), но для нее есть несколько компиляторов.
Некоторые примеры "скриптовых" языков (например, языки, которые традиционно используются без явного этапа компиляции):
- Lua
- JavaScript
- VBScript и VBA
- Perl
И небольшое небольшое количество из них традиционно используется с явным шагом компиляции:
- С
- С++
- D
- Java (но обратите внимание, что Java компилируется в байт-код, который затем интерпретируется и/или перекомпилируется во время выполнения)
- Паскаль
... и тогда у вас есть такие вещи, как Python, которые сидят в обоих лагерях: Python широко используется без этапа компиляции, но основная реализация (CPython) делает это путем компиляции в байт-код "на лету", а затем запускает байт-код в виртуальной машине, и он может записать этот байт-код в файлы (.pyc
, .pyo
) для использования без повторной компиляции.
Это очень немногие, если вы проводите исследование, вы можете найти гораздо больше.
Ответ 2
Чтобы понять разницу между языком сценариев и языком программирования, нужно понять, почему родились языки сценариев.
Изначально существовали языки программирования, которые были написаны для создания таких программ, как excel, word, браузеры, игры и т.д. Эти программы были созданы с такими языками, как c и java. Сверхурочные эти программы нуждались в том, чтобы пользователи могли создавать новые функциональные возможности, поэтому они должны были обеспечить интерфейс для своего байт-кода и, следовательно, родились языки сценариев.
Язык сценариев обычно не компилируется, поэтому может запускаться, как только вы пишете что-то значимое. Следовательно, excel может быть построен с использованием С++, но он предоставляет язык сценариев VBA для пользователей для определения функциональности. Аналогично, браузеры могут быть построены с помощью С++/Java, но они выставляют скриптовый язык под названием javascript (никак не связанный с java). Игры, как правило, построены на С++, но выставляют язык под названием Lua для определения пользовательских функций.
Язык сценариев обычно находится за некоторым языком программирования. Языки сценариев обычно имеют меньший доступ к собственным возможностям компьютеров, так как они работают на подмножестве исходного языка программирования. Примером здесь является то, что Javascript не сможет получить доступ к вашей файловой системе. Языки сценариев обычно медленнее, чем языки программирования.
Хотя языки сценариев могут иметь меньший доступ и медленнее, они могут быть очень мощными инструментами. Одним из факторов, приписывающих успех скриптовых языков, является легкость обновления. Вы помните дни java-апплетов в Интернете, это пример запуска языка программирования (java) и запуска скриптового языка (javascript). В то время компьютеры были не такими мощными, и javascript не был настолько зрелым, что Java-апплеты доминировали над сценами. Но апплеты Java были раздражающими, они требовали от пользователя сортировки загрузки и компиляции языка. Ускоренная пересылка на сегодняшний день, Java-апплеты почти вымерли, и Javascript доминирует над сценой. Javascript очень быстро загружается, поскольку большинство компонентов браузера уже установлены.
Наконец, языки сценариев также считаются языками программирования (хотя некоторые люди отказываются принять это) - термин, который мы должны использовать здесь, - это языки сценариев и скомпилированные языки.
Ответ 3
Все языки сценариев - это языки программирования.
Языки не классифицируются как script или нет - это полностью зависит от среды выполнения.
Если среда является интерпретируемой, ее обычно называют средой сценариев.
Ответ 4
Различия становятся все меньше и менее важными. Традиционно языки сценариев расширяют существующие программы... Я думаю, что основным определением "сценариев" является то, что он относится к написанию набора инструкций для существующего объекта для выполнения. Однако, когда языки сценариев начинались с проприетарного и разговорного синтаксиса, большинство из них в наши дни обязаны некоторым отношением к C.
Я думаю, что "интерпретированное vs скомпилированное" различие действительно является признаком расширения существующей программы (со встроенным интерпретатором), а не внутренней разницы. О том, кого больше беспокоят программисты и миряне, есть: "Что делает программист?" Тот факт, что одна программа интерпретируется, а другая скомпилирована, очень мало значит определить разницу в активности со стороны создателя. Вы не судите о драматурге о том, что его пьесы чаще читаются вслух или исполняются на сцене, не так ли?
Ответ 5
Язык программирования: Компилируется в машинный код и запускается на оборудовании базовой операционной системы.
Язык сценариев: Является неструктурным подмножеством языка программирования. Это обычно интерпретируется. это в основном "скрипты" для других вещей. Основное внимание уделяется не только созданию собственных приложений, но и тому, как существующее приложение работает так, как вы хотите. JavaScript для браузеров, TCL и т.д.,
*** Но есть ситуация, когда язык программирования преобразуется в интерпретатор, а наоборот - использование интерпретатора языка C, где вы можете "C" Script. Сценарии обычно записываются для управления поведением приложения, когда язык программирования используется для создания приложений. Но будьте осторожны, что демаркация размывается изо дня в день как пример Python, это зависит от того, как вы используете язык.
Ответ 6
Языки сценариев являются подмножеством языков программирования.
- Языки сценариев не компилируются пользователем машинным кодом (python, perl, shell и т.д.). Скорее, другая программа (называемая интерпретатором, запускает программу и имитирует ее поведение).
- Некоторые языки программирования, которые не являются скриптами (C, С++, Haskell и другие "скомпилированные" языки), скомпилируются в машинный код и впоследствии запускаются.
Ответ 7
Я расстроен тем, что языки, использующие интерпретаторы, являются скриптовыми языками, а компилируемые - языки программирования. Мы можем разработать интерпретатор или компилятор для любого языка. Интерпретированная среда лучше подходит для веб-скриптов и упрощает ее использование.
Ну, я чувствую, что нет никакой разницы между языком сценариев и языком программирования. Все дело в том, чтобы сделать работу. Когда речь заходит о связанных с сетью задачах, мы называем их веб-скриптами, рассматривая небольшую задачу, и таким образом мы также можем вызывать связанные с системой задачи как сценарии уровня системы или ОС и язык программирования, который мы используем для выполнения этих задач, как языки сценариев системы.
И это не так, что нельзя писать код уровня системы в сценариях Python и Web на языке C (определенно, можно сделать, если мы сможем установить требуемую платформу и среду). Но все, что требуется, - это слишком много усилий, которые могут повлиять на ограничение времени для быстрой разработки, а небольшой небольшой латентный период не принесет много пользы в веб-скриптах. Но мудрый вариант не является истинным, если мы выполняем задачи уровня системы в Python.
Нижняя строка: выбор языка зависит от характера выполняемой задачи и различения языка, поскольку язык сценариев является мифом.
Ответ 8
Помимо различий в том, что язык Scripting интерпретируется и язык программирования скомпилирован, существует еще одно отличие, как я уже сказал, было пропущено.
Язык сценариев - это язык программирования, который используется для управления, настройки и автоматизации средств существующей системы. В таких системах полезная функциональность уже доступна через пользовательский интерфейс, а язык сценариев является механизмом для раскрытия этой функциональности для управления программой.
В то время как язык программирования обычно используется для кодирования системы с помощью Scratch.
src ECMA
Ответ 9
Если мы видим логически язык программирования и язык сценариев, то это составляет 99,09%. потому что мы используем ту же концепцию, что и цикл, условие управления, переменную и все, поэтому мы можем сказать, что оба они одинаковы, но между ними есть только одна вещь, которая находится на C/С++ и на другом языке программирования, мы компилируем код перед выполнением. но на PHP, JavaScript и других языках сценариев нам не нужно компилировать мы непосредственно выполняем в браузере.
Спасибо Нитиш К. Джха
Ответ 10
В языках сценариев, таких как (JavaScript и старые версии PHP), мы используем существующие фундаментальные функции и метод для выполнения нашей работы.
Давайте возьмем пример в JavaScript
, мы можем использовать ajax
или web-sockets
, только если они поддерживаются браузером или существуют методы или их в браузере. Но в таких языках, как C или С++, Java, мы можем написать эту функцию с нуля, даже если какая-либо библиотека для этой функции недоступна, но мы не можем сделать этого в JavaScript.
Вы можете поддерживать веб-сокеты в Internet Explorer 8 или ранее с помощью JavaScript Но вы можете написать плагин на C или С++ или Java, который может добавить функцию веб-сокета в Internet Explorer 8.
В основном на языках сценариев мы пишем код в последовательности, которая выполняет существующие методы в последовательности для завершения нашей работы. Ввод чисел и формулы в цифровом калькуляторе для выполнения операции также является очень примером языка сценариев. Следует отметить, что язык компилятора/среды выполнения каждого языка сценариев всегда написан на языке программирования, в котором мы можем добавить дополнительные функции и методы и могут писать новые библиотеки.
PHP Это язык, который представляет собой несколько черно-белых программ и скриптов. Мы можем добавлять новые методы, добавляя скомпилированные расширения, написанные на другом языке высокого уровня. Мы не можем добавлять высокоуровневые функции создания сетей или создавать библиотеки обработки изображений непосредственно на PHP.
P.S. Мне очень жаль, что я вернул свой ответ только на PHP JavaScript, но я использую эти два, потому что у меня есть значительный опыт в этих двух.
Ответ 11
Языки сценариев
Языки сценариев интерпретируются в другой программе. JavaScript встроен в браузер и интерпретируется этим браузером.
Примеры языков сценариев
- JavaScript
- Perl
- Python
Преимущества языков сценариев:
-
Простой - языки сценариев легче писать, чем программирование язык.
-
Меньше строк кода (LOC)
Запрограммированные языки
Языки программирования, такие как Java, скомпилированы и не интерпретируются другим приложением таким же образом.
Примеры языков программирования
- С
- С++ и
- Java
Подробнее
Ответ 12
Я думаю, что то, что вы называете "разницей", на самом деле является следствием реальной разницы.
Фактическая разница - это цель написанного кода. Кто будет запускать этот код.
Язык сценариев используется для написания кода, который будет нацелен на программную систему. Он собирается автоматизировать операции над этой программной системой. script будет представлять собой последовательность инструкций целевой целевой системе.
Язык программирования ориентирован на вычислительную систему, которая может быть реальной или виртуальной машиной. Инструкции выполняются машиной.
Конечно, настоящая машина понимает только двоичный код, поэтому вам нужно скомпилировать код языка программирования. Но это является следствием ориентации на машину вместо программы.
С другой стороны, целевая программная система script может скомпилировать код или интерпретировать его. Это зависит от программной системы.
Если мы скажем, что реальная разница заключается в том, скомпилирована она или нет, тогда у нас есть проблема, потому что, когда Javascript работает в V8, скомпилирован, а когда он работает в Rhino, это не так.
Это становится более запутанным, поскольку языки сценариев развились, чтобы стать очень мощными. Таким образом, они не ограничиваются созданием небольших скриптов для автоматизации операций с другой программной системой, вы можете создавать с ними любые богатые приложения.
Код Python предназначен для интерпретатора, поэтому мы можем сказать, что он выполняет "скрипты" на этом интерпретаторе. Но когда вы пишете код Python, вы не видите его как скрипта интерпретатора, вы видите его как создание приложения. Между прочим, переводчик просто кодируется на более высоком уровне. Поэтому для меня Python - это скорее язык программирования, чем язык сценариев.