Это интересная тема, и я не думаю, что есть очень хорошие рекомендации для разграничения «сценария» и «приложения».
Давайте посмотрим на некоторые статьи Википедии, чтобы почувствовать разницу.
Сценарий (Википедия -> Язык сценариев):
Язык сценариев, язык сценариев или язык расширений - это язык программирования, управляющий программным приложением. «Сценарии» часто рассматриваются как отличные от «программ», которые выполняются независимо от любого другого приложения. В то же время они отличаются от основного кода приложения, который обычно написан на другом языке, и, будучи доступными для конечного пользователя, они позволяют адаптировать поведение приложения к потребностям пользователя.
Приложение (Википедия -> Прикладное программное обеспечение -> Терминология)
В области компьютерных наук приложение - это компьютерная программа, предназначенная для помощи людям в выполнении определенного вида работы. Таким образом, приложение отличается от операционной системы (которая запускает компьютер), утилиты (которая выполняет обслуживание или домашние обязанности общего назначения) и языка программирования (с помощью которого создаются компьютерные программы). В зависимости от работы, для которой оно было разработано, приложение может манипулировать текстом, числами, графикой или комбинацией этих элементов.
Чтение приведенных выше записей, по-видимому, позволяет предположить, что различие заключается в том, что скрипт «размещается» на другом программном обеспечении, а приложение - нет. Я полагаю, что это можно утверждать, например, сценарии оболочки, управляющие поведением оболочки, и сценарии perl, контролирующие поведение интерпретатора для выполнения требуемых операций. (Я чувствую, что это может быть немного натянуто, поэтому я не могу полностью с этим согласиться.)
Когда дело доходит до этого, по моему мнению, разговорное различие может быть сделано с точки зрения шкалы программы. Скрипты, как правило, имеют меньший масштаб по сравнению с приложениями.
Кроме того, с точки зрения цели, сценарий, как правило, выполняет задачи , которые необходимо позаботиться, скажем, например, о сценариях сборки, которые создают несколько версий выпуска для определенной части программного обеспечения. С другой стороны, приложения ориентированы на , предоставляя функциональность , которая более усовершенствована и ориентирована на конечного пользователя. Например, Блокнот или Firefox.