Різниця між сценарієм та програмою? [зачинено]


77

У чому різниця між сценарієм та програмою? Більшу частину часу я чую, що сценарій запущений, це не програма? Я трохи здивований, чи може хтось детальніше це розказати?

Відповіді:


44

Я дотримуюсь іншої точки зору.

"Скрипт" - це код, який діє на деяку систему зовнішнім чи незалежним чином і може бути видалений або вимкнений без відключення самої системи.

"Програма" - це код, що становить систему. Код програми може бути написаний модульним способом, з чітким розділенням проблем, але код принципово внутрішній і залежний від самої системи.

Сценарії часто трактуються, але не завжди. Програми часто складаються, але не завжди.


3
Що означає система ?
explorer

@explorer - це система, про яку йдеться в першій частині абзацу.
Загадковість

1
:-) Добре! Про яку систему йдеться в першій частині параграфа? Це програма, операційна система, програма з безліччю невід’ємних / окремих частин чи щось інше?
explorer

Не зважай! Я зрозумів! Я раніше не правильно тлумачив конституції .
explorer

Мій сумнів з’ясовано! Дякую!
explorer

44

Для мене основна відмінність полягає в тому, що сценарій інтерпретується , а програма виконується (тобто спочатку компілюється джерело, і очікується результат цієї компіляції) .


Здається, Вікіпедія погоджується зі мною у цьому:

Сценарій :

"Сценарії" відрізняються від основного коду програми, який зазвичай пишеться іншою мовою, і його часто створює або принаймні змінює кінцевий користувач.
Сценарії часто інтерпретуються з вихідного коду або байт-коду, тоді як програми, якими вони керують, традиційно компілюються до власного машинного коду.

Програма :

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


7
-1, тому що вікіпедія, звичайно, завжди має рацію. Розрізнення між складеним та інтерпретованим не має значення для дискусії.
Нік Бастін

3
Ви кажете, "(тобто спочатку компілюється джерело, і очікується результат його компіляції)." Ви маєте на увазі "компіляція виконана"?
Великий Шарпі

12

Подивитися:

Різниця між програмою та сценарієм

Сценарій - це також програма, але без непрозорого шару, що приховує (вихідний код), тоді як програма - це та, що має одяг, ви не можете побачити її вихідний код, якщо її не можна розкласти.

Для їх виконання скриптам потрібні інші програми, тоді як програмам не потрібна.


8
Це посилання зараз 404с.
Ніно Уокер

2
Це посилання зараз 200s.
Марк Фішер

"Це посилання" пропонує набагато краще пояснення, ніж "ця відповідь". Мета компіляції коду - не "приховувати" чи "одягати" що-небудь ... Я здивований, що ця відповідь набрала стільки голосів (і від такого високопоставленого користувача), оскільки вона мало корисна, крім того, щоб перестати запитувати newb поширене запитання, грубо спрощуючи та розповсюджуючи дезінформацію про породження.
ashleedawg

11

Як правило, сценарій - це легкий, швидко побудований, можливо, одноразовий інструмент. Зазвичай його інтерпретують, а не складають. Python і bash - це приклади мов, що використовуються для побудови сценаріїв.

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

Зазвичай ви можете переглянути сценарій у текстовому редакторі, щоб побачити, що він робить. Це неможливо зробити за допомогою виконуваної програми - інструкції останньої зібрані в байт-код або машинну мову, що ускладнює розуміння людей без спеціальних інструментів.

Зверніть увагу на кількість "часто" та "зазвичай" вище - терміни туманні і іноді перетинаються.


7

"Програма" загалом - це послідовність інструкцій, написаних для того, щоб комп'ютер міг виконувати певне завдання .

"Сценарій" - це код, написаний мовою сценаріїв. Мова сценаріїв - це не що інше, як тип мови програмування, на якому ми можемо писати код для управління іншим програмним забезпеченням .

Насправді мови програмування бувають двох типів:

a. Мова сценаріїв

b. Складена мова

Будь ласка, прочитайте це: Сценарії та компільовані мови


3

Зазвичай сценарії інтерпретуються (іншим виконуваним файлом).

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


2

З моєї точки зору, основна різниця між сценарієм і програмою:

Сценарії можна використовувати з іншими технологіями. Приклад: PHP-скрипти, Javascripts тощо можна використовувати в HTML.

Програми - це окремі фрагменти коду, які ніколи не можуть бути вбудовані в інші технології.

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


Як щодо сценарію python? Крім того, підтвердження Php-коду може використовуватися з Html помилковим. У вас є лише php-код. Розширення файлу є .php. Усередині вашої програми ви можете надрукувати HTML-код. Ви можете зробити те ж саме з python, java, C #, C тощо. Усі вони (якщо веб-програма) створюють HTML-код.
DonJoe

2

Сценарії проти програмної реальності насправді мають два виміри:

  1. Чи є мова досить потужною, особливо при рядкових операціях, щоб конкурувати з макропроцесором, таким як оболонка posix і особливо bash? Якщо це не краще, ніж bash для запуску якоїсь функції, немає сенсу використовувати її.

  2. Мова зручна і швидко розпочинається? Java, Scala, JRuby, Closure та Groovy - все це потужні мови, але Java вимагає великої кількості зразків, а JVM, який їм усім потрібен, займає занадто багато часу.

OTOH, Perl, Python і Ruby швидко запускаються і мають потужні операції з обробкою рядків (і майже все, що стосується всього іншого), тому вони, як правило, займають іноді зневажливий, але нелегко зазіхнутий сценарій "світ. Виявляється, вони добре справляються із запуском цілих традиційних програм.

Зліва в невизначеному стані є такі мови, як Javascript, які не використовуються для створення сценаріїв, але потенційно можуть бути. Оновлення: оскільки це було написано, node.js був випущений на декількох платформах. В інших новинах питання було закрите. "Що ж, добре."


0

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


0

IMO Script - це тип інструкції, яку повинна запускати програма, - це така інструкція, яку має запускати обладнання

Хоча я думаю, коди байтів .NET / JAVA - це сценарії за цим визначенням


0

сценарій : він містить набір інструкцій "мови сценаріїв", які контролюють, запускають інші системні програми, програми, також його можна запланувати.

Програма : вона містить набір інструкцій, який виконує певне завдання після компіляції програми з компілятором.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.