У чому різниця між сценарієм та програмою? Більшу частину часу я чую, що сценарій запущений, це не програма? Я трохи здивований, чи може хтось детальніше це розказати?
Відповіді:
Я дотримуюсь іншої точки зору.
"Скрипт" - це код, який діє на деяку систему зовнішнім чи незалежним чином і може бути видалений або вимкнений без відключення самої системи.
"Програма" - це код, що становить систему. Код програми може бути написаний модульним способом, з чітким розділенням проблем, але код принципово внутрішній і залежний від самої системи.
Сценарії часто трактуються, але не завжди. Програми часто складаються, але не завжди.
Для мене основна відмінність полягає в тому, що сценарій інтерпретується , а програма виконується (тобто спочатку компілюється джерело, і очікується результат цієї компіляції) .
Здається, Вікіпедія погоджується зі мною у цьому:
Сценарій :
"Сценарії" відрізняються від основного коду програми, який зазвичай пишеться іншою мовою, і його часто створює або принаймні змінює кінцевий користувач.
Сценарії часто інтерпретуються з вихідного коду або байт-коду, тоді як програми, якими вони керують, традиційно компілюються до власного машинного коду.
Програма :
Програма має виконувану форму, яку комп'ютер може використовувати безпосередньо для виконання інструкцій.
Ту саму програму в зручній для читання формі вихідного коду, з якої походять виконувані програми (наприклад, скомпільовані)
Подивитися:
Різниця між програмою та сценарієм
Сценарій - це також програма, але без непрозорого шару, що приховує (вихідний код), тоді як програма - це та, що має одяг, ви не можете побачити її вихідний код, якщо її не можна розкласти.
Для їх виконання скриптам потрібні інші програми, тоді як програмам не потрібна.
Як правило, сценарій - це легкий, швидко побудований, можливо, одноразовий інструмент. Зазвичай його інтерпретують, а не складають. Python і bash - це приклади мов, що використовуються для побудови сценаріїв.
Програма побудована на компільованій мові, як C або C ++, і, як правило, працює швидше, ніж сценарій з цієї причини. Більші інструменти часто пишуться як "програми", а не як сценарії - менші інструменти легше розробляються як сценарії, але сценарії можуть стати громіздкими, коли вони збільшуються. Мови програм та системи (ті, що використовуються для побудови програм / додатків) мають інструменти для полегшення управління цим зростанням.
Зазвичай ви можете переглянути сценарій у текстовому редакторі, щоб побачити, що він робить. Це неможливо зробити за допомогою виконуваної програми - інструкції останньої зібрані в байт-код або машинну мову, що ускладнює розуміння людей без спеціальних інструментів.
Зверніть увагу на кількість "часто" та "зазвичай" вище - терміни туманні і іноді перетинаються.
"Програма" загалом - це послідовність інструкцій, написаних для того, щоб комп'ютер міг виконувати певне завдання .
"Сценарій" - це код, написаний мовою сценаріїв. Мова сценаріїв - це не що інше, як тип мови програмування, на якому ми можемо писати код для управління іншим програмним забезпеченням .
Насправді мови програмування бувають двох типів:
a. Мова сценаріїв
b. Складена мова
Будь ласка, прочитайте це: Сценарії та компільовані мови
Зазвичай сценарії інтерпретуються (іншим виконуваним файлом).
Програма, як правило, є самостійним скомпільованим виконуваним файлом сам по собі (хоча вона може мати залежності від бібліотеки), що складається з машинного коду або байт-кодів (для програм, що складаються вчасно
З моєї точки зору, основна різниця між сценарієм і програмою:
Сценарії можна використовувати з іншими технологіями. Приклад: PHP-скрипти, Javascripts тощо можна використовувати в HTML.
Програми - це окремі фрагменти коду, які ніколи не можуть бути вбудовані в інші технології.
Якщо я помиляюся в будь-якому місці, будь ласка, виправте мене. Я буду захоплюватися вашим виправленням.
.php
. Усередині вашої програми ви можете надрукувати HTML-код. Ви можете зробити те ж саме з python, java, C #, C тощо. Усі вони (якщо веб-програма) створюють HTML-код.
Сценарії проти програмної реальності насправді мають два виміри:
Чи є мова досить потужною, особливо при рядкових операціях, щоб конкурувати з макропроцесором, таким як оболонка posix і особливо bash? Якщо це не краще, ніж bash для запуску якоїсь функції, немає сенсу використовувати її.
Мова зручна і швидко розпочинається? Java, Scala, JRuby, Closure та Groovy - все це потужні мови, але Java вимагає великої кількості зразків, а JVM, який їм усім потрібен, займає занадто багато часу.
OTOH, Perl, Python і Ruby швидко запускаються і мають потужні операції з обробкою рядків (і майже все, що стосується всього іншого), тому вони, як правило, займають іноді зневажливий, але нелегко зазіхнутий сценарій "світ. Виявляється, вони добре справляються із запуском цілих традиційних програм.
Зліва в невизначеному стані є такі мови, як Javascript, які не використовуються для створення сценаріїв, але потенційно можуть бути. Оновлення: оскільки це було написано, node.js був випущений на декількох платформах. В інших новинах питання було закрите. "Що ж, добре."
IMO Script - це тип інструкції, яку повинна запускати програма, - це така інструкція, яку має запускати обладнання
Хоча я думаю, коди байтів .NET / JAVA - це сценарії за цим визначенням