Хорошо написанная программа правильно (семантически) обрабатывает ошибки. Если ей в кофиге написали «х..» вместо запятой, то она не только пишет «unknown state» для state machine конфига, но ещё и объясняет, что из этого вытекает. Мол, «у конфига неправильный формат». Если программа гуманная, то она ещё и напишет имя файла конфига.
А если гуманный программист, то она не просто напишет «неправильный формат», но и покажет на первое место, в котором «всё сломалось». Аналогично обрабатываются и остальные ошибки. Вместо ENOENT нам объяснят, что не получилось сделать на языке предметной области. Например, «температурный датчик не доступен».
Скрипт же, наоборот, предусматривает обработку ошибок по-умолчанию cat /etc/foo|do|mangle >save если нет /etc/foo, покажет общее сообщение, не объясняя, что такое foo. Если у do что-то не получится, то оно либо ничего не скажет (кроме кода возврата), либо напишет что-то своё.
Когда ты PHP’шник … (Пародия)
Предполагается, что пользователь скрипта оперирует той же семантической моделью, что и автор этого скрипта. Они вместе понимают, что нет «температурного датчика», а есть /dev/sensors/thermal/3, что есть сокеты, pipe’ы и т.д. Если кто-то для удобства пользователя скрипта скроет «отладочную информацию», то это вызовет раздражение.
Наоборот, если программист для программы ошибку не обработает, а отдаст пользователю невнятный трейс на три страницы, то это вызовет такое же раздражение.
Соответственно, скрипт, который начинает обрабатывать ошибки — это уже программа. Программа, которая ошибки не обрабатывает — скрипт. При этом размер мало на что-то влияет, ключевым тут является вопрос, в одной ли семантической модели находится пользователь и программа/скрипт.
Источник: amarao-san.livejournal.com
Разница между script и программой?
В чем разница между script и программой? Большую часть времени, когда я слышу, что работает script, это не программа? Я немного озадачен, кто-нибудь может это понять?
спросил(а) 2010-02-18T08:39:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
Для меня основное отличие состоит в том, что script интерпретируется, тогда как выполняется программа (т.е. исходный файл сначала компилируется, и результат этого ожидается компиляция).
«Скрипты» отличаются от основного код приложения, который обычно написанные в другом языка и часто создаются или минимально измененный конечным пользователем. Скрипты часто интерпретируются из исходный код или байт-код, тогда как приложения, которые они контролируют, традиционно составляется на машинный код.
Программа имеет исполняемую форму что компьютер может использовать выполните инструкции.
Тот же программы в своем человеко-читаемом источнике код, из которого исполняемый файл программы производятся (например, скомпилированы)
Урок 4. Что такое скрипт?
ответил(а) 2010-02-18T08:45:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
Я использую другое представление.
«script» — это код, который действует на какую-либо систему внешним или независимым образом и может быть удален или отключен без отключения самой системы. «Программа» — это код, который представляет собой систему. Программный код может быть написан модульным способом с хорошим разделением проблем, но код в корне является внутренним и зависит от, самой системы.
Сценарии часто интерпретируются, но не всегда. Программы часто компилируются, но не всегда.
ответил(а) 2010-02-18T09:15:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
Как правило, script представляет собой легкий, быстро построенный, возможно, одноразовый инструмент. Он обычно интерпретируется, а не компилируется. Python и bash являются примерами используемых языков для создания скриптов.
Программа построена на скомпилированном языке, например C или С++, и обычно работает быстрее, чем script по этой причине. Большие инструменты часто пишутся как «программы», а не скрипты — более мелкие инструменты легче разрабатываются как скрипты, но скрипты могут стать громоздкими по мере их увеличения. Языки приложений и системы (те, которые используются для создания программ/приложений) имеют инструменты, облегчающие управление этим процессом.
Обычно вы можете просмотреть script в текстовом редакторе, чтобы узнать, что он делает. Вы не можете сделать это с помощью исполняемой программы — последние инструкции были скомпилированы в байт-код или машинный язык, что делает его очень трудным для понимания людьми без специальных инструментов.
Обратите внимание на количество «фортов» и «обычно» выше — термины туманны и иногда пересекаются.
ответил(а) 2010-02-18T08:46:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
См:
Разница между программой и Script
A Script также является программой, но без непрозрачного слоя, скрывающего (исходный код), тогда как программа имеет одежду, вы не можете видеть ее исходным кодом, если она не декомпилируется.
Сценарии нуждаются в других программах, чтобы выполнять их, пока программы не нуждаются в них.
ответил(а) 2010-02-18T08:42:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
«Программа» в целом, последовательность инструкций, написанных так, что компьютер может выполнить определенную задачу.
A «script» — это код, написанный на языке сценариев. Язык сценариев — это не что иное, как тип языка программирования, в котором мы можем писать код для управления другим программным приложением.
Фактически языки программирования имеют два типа:
а. Язык сценариев
б. Скомпилированный язык
Прочтите следующее:
Скриптовые и скомпилированные языки
ответил(а) 2012-03-28T06:14:00+04:00 11 лет, 3 месяца назад
добавить комментарий
пожаловаться
Сценарии обычно интерпретируются (другим исполняемым файлом).
Обычно программа представляет собой самостоятельный скомпилированный исполняемый файл (хотя он может иметь зависимости от библиотеки), состоящий из машинного кода или байтовых кодов (для компилируемых программ «точно в момент времени» )
ответил(а) 2010-02-18T08:42:00+03:00 13 лет, 4 месяца назад
добавить комментарий
пожаловаться
Согласно моей перспективе, основное различие между script и программой:
Сценарии могут использоваться с другими технологиями. Пример: скрипты PHP, Javascripts и т.д. Могут использоваться в HTML.
Программы представляют собой автономные фрагменты кода, которые никогда не могут быть встроены в другие технологии.
Если я ошибаюсь в любом месте, пожалуйста, исправьте меня. Я буду восхищаться вашей коррекцией.
ответил(а) 2010-04-19T12:45:00+04:00 13 лет, 2 месяца назад
добавить комментарий
пожаловаться
-
Является ли язык достаточно мощным, особенно со строковыми операциями, конкурировать с макропроцессором, таким как оболочка posix, и особенно bash? Если это не лучше, чем bash для запуска некоторой функции, ее использование не так много.
Является ли язык удобным и быстро начатым? Java, Scala, JRuby, Closure и Groovy — все мощные языки, но для Java требуется много шаблонов, а для JVM, которые все они требуют, требуется слишком много времени для запуска.
Источник: progi.pro
Чем отличается сценарий от программы? [закрыто]
В чем разница между скриптом и программой? Чаще всего я слышу, что скрипт запущен, разве это не программа? Я немного озадачен, может ли кто-нибудь уточнить это?
задан 18 фев ’10, 02:02
11 ответы
Для меня главное отличие в том, что сценарий интерпретируется, а программа выполняется (т.е. сначала компилируется исходный код, и ожидается результат этой компиляции).
Википедия, кажется, согласна со мной в этом: Сценарий :
«Сценарии» отличаются от основного кода приложения, который обычно написан на другом языке и часто создается или, по крайней мере, изменяется конечным пользователем.
Сценарии часто интерпретируются из исходного кода или байт-кода, тогда как приложения, которыми они управляют, традиционно компилируются в собственный машинный код.
Программа имеет исполняемую форму, которую компьютер может использовать непосредственно для выполнения инструкций.
Та же самая программа в ее удобочитаемой форме исходного кода, из которой происходят исполняемые программы. (например, скомпилированный)
Создан 23 янв.
-1 потому что википедия конечно всегда права. Различие между скомпилированным и интерпретируемым не имеет отношения к обсуждению. — Ник Бастин
Вы говорите: «(т.е. сначала компилируется исходный код, и ожидается результат этой компиляции)». Вы имеете в виду «компиляция выполнена»? — Большой Sharpie
Я придерживаюсь другой точки зрения. «Сценарий» — это код, который действует на некоторую систему внешним или независимым образом. и может быть удален или отключен без отключения самой системы. «Программа» — это код, составляющий систему.
Код программы может быть написан по модульному принципу с хорошим разделением задач, но код является в основном внутренним по отношению к самой системе и зависит от нее. Скрипты интерпретируются часто, но не всегда. Программы часто составляются, но не всегда.
Создан 18 фев.
Что такое система средства? — исследователь
🙂 Хорошо! Что такое система упоминается в части первой абзаца? Это приложение, операционная система, приложение с множеством составных / отдельных частей или что-то еще? — исследователь
Ничего! Я понял! Я неправильно истолковал составляет ранее. — исследователь
Мои сомнения прояснены! Спасибо! — исследователь
См.: Разница между программой и сценарием Сценарий также является программой, но без непрозрачного слоя, скрывающего (исходный код), тогда как программа — это программа с одеждой, вы не можете увидеть ее исходный код, если он не декомпилируемый. Скриптам нужны другие программы для их выполнения, в то время как программам он не нужен.
Создан 17 июля ’18, 14:07
По этой ссылке сейчас 404с. — Нино Уокер
По этой ссылке сейчас 200с. — Марк Фишер
«Эта ссылка» предлагает гораздо лучшее объяснение, чем «этот ответ». Цель компиляции кода: не чтобы «спрятать» или «одеть» что-нибудь . Я удивлен, что этот ответ получил так много голосов (и от такого пользователя с таким высоким уровнем репутации), поскольку он служит мало цели, кроме как заставить newb перестать задавать общий вопрос, сильно упрощая , и распространение детской дезинформации. — Ashleedawg
Как правило, сценарий представляет собой легкий, быстро создаваемый инструмент, возможно, одноразовый. Обычно он интерпретируется, а не компилируется. Питон и колотить являются примерами языков, используемых для создания скриптов. Программа создается на компилируемом языке, таком как C или C ++, и по этой причине обычно выполняется быстрее, чем сценарий.
Более крупные инструменты часто пишутся как «программы», а не сценарии — более мелкие инструменты легче разрабатывать как сценарии, но сценарии могут становиться громоздкими по мере их увеличения. Прикладные и системные языки (те, которые используются для создания программ / приложений) имеют инструменты, облегчающие управление этим ростом. Обычно вы можете просмотреть сценарий в текстовом редакторе, чтобы увидеть, что он делает. Вы не можете сделать это с исполняемой программой — инструкции последней скомпилированы в байт-код или машинный язык, что делает их очень трудными для понимания людьми без специальных инструментов. Обратите внимание на количество «часто» и «обычно» выше — термины расплывчаты и иногда пересекаются.
Источник: stackovergo.com