Различие между сценарием и программой? [закрытый]

70
задан Chris 13 August 2012 в 09:39
поделиться

9 ответов

Для меня главное отличие состоит в том, что сценарий интерпретируется , а программа выполняется (т. Е. исходный код сначала компилируется, и результат этой компиляции ожидается) .


Википедия, кажется, согласна со мной в этом:

Скрипт :

«Скрипты» отличаются от основного кода приложения, который обычно пишется на другом языке и часто создаются или наименее изменяются конечным пользователем.
Скрипты часто интерпретируются из исходного кода или байт-кода, тогда как приложения, которыми они управляют, традиционно компилируются в собственный машинный код .

Программа :

Программа имеет исполняемую форму , которую компьютер может использовать непосредственно для выполнения инструкций.
Та же самая программа в форме кода, удобочитаемого человеком , из которой получены исполняемые программы (например, скомпилированные)

41
ответ дан 24 November 2019 в 13:27
поделиться

IMO Сценарий - это инструкция, которую должна запускать программа. Программа - это инструкция, которую должно запускать оборудование.

Хотя я полагаю, что байтовые коды .NET / JAVA сценарии по этому определению

0
ответ дан 24 November 2019 в 13:27
поделиться

Обычно скрипт - это легкий, быстро создаваемый, возможно, одноразовый инструмент. Обычно он интерпретируется, а не компилируется. Python и bash - примеры языков, используемых для создания скриптов.

Программа создается на скомпилированном языке, таком как C или C++, и по этой причине обычно выполняется быстрее, чем сценарий. Крупные инструменты часто пишутся как "программы", а не как скрипты - небольшие инструменты легче разрабатывать как скрипты, но скрипты могут стать громоздкими, когда их становится больше. Прикладные и системные языки (используемые для создания программ/приложений) имеют инструменты, облегчающие управление этим ростом.

Обычно скрипт можно просмотреть в текстовом редакторе, чтобы увидеть, что он делает. Вы не можете сделать этого с исполняемой программой - инструкции последней скомпилированы в байткод или машинный язык, который очень трудно понять человеку без специализированных инструментов.

Обратите внимание на количество "часто" и "обычно" выше - эти термины туманны и иногда пересекаются.

11
ответ дан 24 November 2019 в 13:27
поделиться

Я придерживаюсь другой точки зрения.

«Сценарий» - это код, который воздействует на некоторую систему внешним или независимым образом и может быть удален или отключен без отключения самой системы.

«Программа» - это код, составляющий систему. Код программы может быть написан по модульному принципу с хорошим разделением задач, но код в основном является внутренним по отношению к самой системе и зависит от нее.

Скрипты интерпретируются часто, но не всегда. Программы часто составляются, но не всегда.

42
ответ дан 24 November 2019 в 13:27
поделиться

См .:

Разница между программой и сценарием

Сценарий также является программой, но без непрозрачного слоя, скрывающего (исходный код), тогда как программа - это программа, имеющая одежду, вы не можете увидеть его исходный код, если он не декомпилируемый.

Сценариям нужны другие программы для их выполнения, а программам они не нужны.

11
ответ дан 24 November 2019 в 13:27
поделиться

Сценарии обычно интерпретируются (другим исполняемым файлом).

Программа обычно представляет собой автономный скомпилированный исполняемый файл сам по себе (хотя он может иметь зависимости от библиотек), состоящий из машинного кода или байтовых кодов (для программ, скомпилированных точно в срок)

3
ответ дан 24 November 2019 в 13:27
поделиться

В действительности существует два аспекта реальности "скриптинг против программы":

  1. Является ли язык достаточно мощным, особенно в отношении операций со строками, чтобы конкурировать с макропроцессором, таким как posix shell и особенно bash? Если он не лучше, чем bash для выполнения некоторой функции, то нет особого смысла его использовать.

  2. Является ли язык удобным и быстро запускаемым? Java, Scala, JRuby, Closure и Groovy - все это мощные языки, но Java требует много шаблонов, а JVM, которую они все требуют, просто слишком долго запускается.

Напротив, Perl, Python и Ruby быстро запускаются и обладают мощными операциями по обработке строк (и практически всего остального), поэтому они обычно занимают место в мире "скриптинга", который иногда презирают, но не так уж легко преодолеть. Оказывается, они также хорошо справляются с выполнением целых традиционных программ.

Остаются в неопределенности такие языки, как Javascript, которые не используются для создания сценариев, но потенциально могли бы ими стать. Обновление: с момента написания этой статьи node.js был выпущен на нескольких платформах. В других новостях вопрос был закрыт. "Ну и ладно."

1
ответ дан 24 November 2019 в 13:27
поделиться

Фреймворк или другая подобная схема будет запускать / интерпретировать сценарий для выполнения задачи. Программа компилируется и запускается машиной для выполнения задачи

0
ответ дан 24 November 2019 в 13:27
поделиться

С моей точки зрения, основное различие между скриптом и программой:

Скрипты можно использовать с другими технологиями. Пример: скрипты PHP, Javascripts и т. Д. Могут использоваться в HTML.

Программы - это отдельные фрагменты кода, которые никогда не могут быть встроены в другие технологии.

Если я ошибаюсь в каком-либо месте, пожалуйста, поправьте меня. Я буду восхищаться вашим исправлением.

2
ответ дан 24 November 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: