⚠️ Минутка матчасти! Эта статья создана для расширения кругозора и повышения разрешения в мире компьютерных технологий. В ней мало практической пользы кроме развития вашего интеллекта.
Здесь мы говорим о двух типах компьютерных языков: условно говоря, языков скриптования (интерпретируемые языки) и языков программирования (компилируемые языки). Это деление — не самое верное и не самое полное с точки зрения опытных программистов, но статья рассчитана на тех, кто только начинает.
Скриптовые, или интерпретируемые, языки
Обычно примеры кода в наших статьях работают по такому принципу:
- Скопировал текст.
- Запустил в браузере.
- Получил результат.
Браузер берёт наш код, проверяет его на ошибки и, если ошибок нет, — выполняет команды по очереди в нужной последовательности. Или даже выполняет без проверки, а если в процессе появится ошибка — остановится.
Чтобы такие скрипты работали, нужна какая-то программа, которая будет выполнять команды скрипта, — их называют интерпретаторами. В нашем случае это браузер: Chrome, Safari, Firefox, Яндекс-браузер и т. д. Отсюда и название — интерпретируемые языки.
Пример скриптового языка, который вы уже знаете, — JavaScript. На скриншоте ниже он вписан внутрь веб-страницы. Сам код из одной строки прописан между тегами <script> и </script>: браузер будет рисовать страницу, в какой-то момент увидит этот скрипт, выполнит его и пойдёт дальше рисовать страницу.
Ещё один популярный пример интерпретируемого языка — Python. Он работает по тому же принципу, только вместо браузера Python использует собственный интерпретатор команд. Когда мы в среде разработки запускаем скрипт на питоне, то интерпретатор шаг за шагом выполняет команды.
👉 В интерпретируемых языках сам скрипт — это и есть готовая программа, но для её запуска и работы нужен внешний интерпретатор, который выполнит команды. Без интерпретатора скрипт не запустится.
Программные, или компилируемые, языки и машинный код
Другой подход к разработке: программные, или компилируемые, языки. Они устроены так: программист пишет исходный код программы, а потом прогоняет её через компилятор. Компилятор берёт исходный код целиком, анализирует его и создаёт машинный код.
Компиляция — это превращение программного кода в исполняемый код для процессора: на входе было то, что могли прочитать вы, а на выходе — то, что может прочитать и исполнить компьютер. Если скрипт — это сценарий для актёра на сцене, то компиляция — это отснятый фильм на киноленте.
Машинный код — последовательность байтов, которая даёт инструкции напрямую процессору. Для человека такой код выглядит как просто набор знаков, но компьютер его понимает.
Чтобы вы понимали, чем исходный код отличается от машинного, держите пример. Вот исходный код на Swift, который выводит сообщение «Hello, world»:
А вот так выглядит фрагмент машинного кода, который получился после работы компилятора:
Как так получилось: компьютер взял исходный код из двух строк и преобразовал его в набор символов на несколько тысяч строк. Размер машинного кода вырос за счёт того, что компилятор добавил в него много нужных и обязательных функций: научил выводить сообщения на экран, рассказал, как обращаться к памяти и что делать после запуска. Кода стало больше, зато теперь он работает без посторонней помощи.
Примеры компилируемых языков: С, С++, Pascal, Swift и ещё десятки других. Ассемблер, кстати, тоже компилируемый язык — процессор не умеет понимать его исходный код без посторонней помощи.
👉 Результат работы компилятора — самостоятельная программа в виде машинного кода, которая потом может работать сама, без компилятора. Один раз скомпилировал — и потом можно запускать её самостоятельно, без внешних программ.
Особенности компилируемых языков
У машинного кода есть один недостаток: он работает только с определёнными процессорами и компьютерами. Если программа написана для Виндоус, запустить на макбуке без специальных ухищрений не получится. Программа для телефона на компьютере заработает только при особых условиях — например, поддержка приложений Android появилась только в Windows 11, а приложения iOS научили запускаться на MacOS только в 2020 году.
Дело в том, что у разных компьютеров разный тип процессора, а машинный код знает, как работать только со своим типом. Чтобы запустить приложение iOS на Mac OS, операционка должна «обернуть» приложение в эмулятор мобильного устройства, и только потом — запустить.
Снова про снобизм
Некоторые любители программных языков считают скриптовиков ненастоящими программистами. Мол, они пишут программы, которые сами по себе не работают и которым нужен интерпретатор. Если вы такое слышите, то знайте, что перед вами — программист-сноб.
Настоящие разработчики знают, что главное — решить задачу. Если она скриптом решается лучше, чем машинным кодом, значит, в этой ситуации лучше сработает скрипт, и наоборот.
Вёрстка:
Кирилл Климентьев
What is the difference between a script and a program? Most of the time I hear that a script is running, is that not a program? I am bit puzzled, can anybody elaborate on this?
Chris
43.5k16 gold badges138 silver badges154 bronze badges
asked Feb 18, 2010 at 5:39
2
For me, the main difference is that a script is interpreted, while a program is executed (i.e. the source is first compiled, and the result of that compilation is expected).
Wikipedia seems to agree with me on this :
Script :
«Scripts» are distinct from the core
code of the application, which is
usually written in a different
language, and are often created or at
least modified by the end-user.
Scripts are often interpreted from
source code or bytecode, whereas the
applications they control are
traditionally compiled to native
machine code.
Program :
The program has an executable form
that the computer can use directly to
execute the instructions.
The same
program in its human-readable source
code form, from which executable
programs are derived (e.g., compiled)
answered Feb 18, 2010 at 5:45
Pascal MARTINPascal MARTIN
391k79 gold badges652 silver badges659 bronze badges
3
I take a different view.
A «script» is code that acts upon some system in an external or independent manner and can be removed or disabled without disabling the system itself.
A «program» is code that constitutes a system. The program’s code may be written in a modular manner, with good separation of concerns, but the code is fundamentally internal to, and a dependency of, the system itself.
Scripts are often interpreted, but not always. Programs are often compiled, but not always.
answered Feb 18, 2010 at 6:15
EnigmativityEnigmativity
111k11 gold badges88 silver badges169 bronze badges
10
Typically, a script is a lightweight, quickly constructed, possibly single-use tool. It’s usually interpreted, not compiled. Python and bash are examples of languages used to build scripts.
A program is constructed in a compiled language, like C or C++, and usually runs more quickly than a script for that reason. Larger tools are often written as «programs» rather than scripts — smaller tools are more easily developed as scripts, but scripts can get unwieldy as they get larger. Application and system languages (those used to build programs/applications) have tools to make that growth easier to manage.
You can usually view a script in a text editor to see what it does. You can’t do that with an executable program — the latter’s instructions have been compiled into bytecode or machine language that makes it very difficult for humans to understand, without specialized tools.
Note the number of «oftens» and «usuallys» above — the terms are nebulous, and cross over sometimes.
answered Feb 18, 2010 at 5:46
Michael PetrottaMichael Petrotta
59.4k27 gold badges145 silver badges178 bronze badges
See:
The Difference Between a Program and a Script
A Script is also a program but without an opaque layer hiding the (source code) whereas a program is one having clothes, you can’t see it’s source code unless it is decompilable.
Scripts need other programs to execute them while programs don’t need one.
Mark Fisher
9031 gold badge11 silver badges28 bronze badges
answered Feb 18, 2010 at 5:42
SarfrazSarfraz
374k77 gold badges529 silver badges576 bronze badges
3
A «program» in general, is a sequence of instructions written so that a computer can perform certain task.
A «script» is code written in a scripting language. A scripting language is nothing but a type of programming language in which we can write code to control another software application.
In fact, programming languages are of two types:
a. Scripting Language
b. Compiled Language
Please read this:
Scripting and Compiled Languages
answered Mar 28, 2012 at 3:14
coolscitistcoolscitist
3,2478 gold badges42 silver badges59 bronze badges
Scripts are usually interpreted (by another executable).
A program is usually a standalone compiled executable in its own right (although it might have library dependencies), consisting of machine code or byte codes (for just-in-time compiled programs)
answered Feb 18, 2010 at 5:42
Mitch WheatMitch Wheat
293k43 gold badges462 silver badges537 bronze badges
There are really two dimensions to the scripting vs program reality:
-
Is the language powerful enough, particularly with string operations, to compete with a macro processor like the posix shell and particularly bash? If it isn’t better than bash for running some function there isn’t much point in using it.
-
Is the language convenient and quickly started? Java, Scala, JRuby, Closure and Groovy are all powerful languages, but Java requires a lot of boilerplate and the JVM they all require just takes too long to start up.
OTOH, Perl, Python, and Ruby all start up quickly and have powerful string handling (and pretty much everything-else-handling) operations, so they tend to occupy the sometimes-disparaged-but-not-easily-encroached-upon «scripting» world. It turns out they do well at running entire traditional programs as well.
Left in limbo are languages like Javascript, which aren’t used for scripting but potentially could be. Update: since this was written node.js was released on multiple platforms. In other news, the question was closed. «Oh well.»
answered Feb 18, 2010 at 5:48
DigitalRossDigitalRoss
142k24 gold badges243 silver badges328 bronze badges
script: it contains set of «scripting language» instructions which controls, runs other system programs, applications also it can be scheduled.
Program: it contains set of instructions, which performs certain task upon compilation of the program with the compiler.
answered Mar 28, 2012 at 8:25
SomSom
9402 gold badges16 silver badges29 bronze badges
According to my perspective, the main difference between script and program:
Scripts can be used with the other technologies. Example: PHP scripts, Javascripts, etc. can be used within HTML.
Programs are stand-alone chunks of code that can never be embedded into the other technologies.
If I am wrong at any place please correct me.I will admire your correction.
JoshDM
4,9037 gold badges44 silver badges72 bronze badges
answered Apr 19, 2010 at 9:45
2
A framework or other similar schema will run/interpret a script to do a task. A program is compiled and run by a machine to do a task
answered Feb 18, 2010 at 5:43
hodgesmrhodgesmr
2,7457 gold badges30 silver badges41 bronze badges
IMO
Script — is the kind of instruction that program supposed to run
Program — is kind of instruction that hardware supposed to run
Though i guess .NET/JAVA byte codes are scripts by this definition
answered Feb 18, 2010 at 5:43
What is the difference between a script and a program? Most of the time I hear that a script is running, is that not a program? I am bit puzzled, can anybody elaborate on this?
Chris
43.5k16 gold badges138 silver badges154 bronze badges
asked Feb 18, 2010 at 5:39
2
For me, the main difference is that a script is interpreted, while a program is executed (i.e. the source is first compiled, and the result of that compilation is expected).
Wikipedia seems to agree with me on this :
Script :
«Scripts» are distinct from the core
code of the application, which is
usually written in a different
language, and are often created or at
least modified by the end-user.
Scripts are often interpreted from
source code or bytecode, whereas the
applications they control are
traditionally compiled to native
machine code.
Program :
The program has an executable form
that the computer can use directly to
execute the instructions.
The same
program in its human-readable source
code form, from which executable
programs are derived (e.g., compiled)
answered Feb 18, 2010 at 5:45
Pascal MARTINPascal MARTIN
391k79 gold badges652 silver badges659 bronze badges
3
I take a different view.
A «script» is code that acts upon some system in an external or independent manner and can be removed or disabled without disabling the system itself.
A «program» is code that constitutes a system. The program’s code may be written in a modular manner, with good separation of concerns, but the code is fundamentally internal to, and a dependency of, the system itself.
Scripts are often interpreted, but not always. Programs are often compiled, but not always.
answered Feb 18, 2010 at 6:15
EnigmativityEnigmativity
111k11 gold badges88 silver badges169 bronze badges
10
Typically, a script is a lightweight, quickly constructed, possibly single-use tool. It’s usually interpreted, not compiled. Python and bash are examples of languages used to build scripts.
A program is constructed in a compiled language, like C or C++, and usually runs more quickly than a script for that reason. Larger tools are often written as «programs» rather than scripts — smaller tools are more easily developed as scripts, but scripts can get unwieldy as they get larger. Application and system languages (those used to build programs/applications) have tools to make that growth easier to manage.
You can usually view a script in a text editor to see what it does. You can’t do that with an executable program — the latter’s instructions have been compiled into bytecode or machine language that makes it very difficult for humans to understand, without specialized tools.
Note the number of «oftens» and «usuallys» above — the terms are nebulous, and cross over sometimes.
answered Feb 18, 2010 at 5:46
Michael PetrottaMichael Petrotta
59.4k27 gold badges145 silver badges178 bronze badges
See:
The Difference Between a Program and a Script
A Script is also a program but without an opaque layer hiding the (source code) whereas a program is one having clothes, you can’t see it’s source code unless it is decompilable.
Scripts need other programs to execute them while programs don’t need one.
Mark Fisher
9031 gold badge11 silver badges28 bronze badges
answered Feb 18, 2010 at 5:42
SarfrazSarfraz
374k77 gold badges529 silver badges576 bronze badges
3
A «program» in general, is a sequence of instructions written so that a computer can perform certain task.
A «script» is code written in a scripting language. A scripting language is nothing but a type of programming language in which we can write code to control another software application.
In fact, programming languages are of two types:
a. Scripting Language
b. Compiled Language
Please read this:
Scripting and Compiled Languages
answered Mar 28, 2012 at 3:14
coolscitistcoolscitist
3,2478 gold badges42 silver badges59 bronze badges
Scripts are usually interpreted (by another executable).
A program is usually a standalone compiled executable in its own right (although it might have library dependencies), consisting of machine code or byte codes (for just-in-time compiled programs)
answered Feb 18, 2010 at 5:42
Mitch WheatMitch Wheat
293k43 gold badges462 silver badges537 bronze badges
There are really two dimensions to the scripting vs program reality:
-
Is the language powerful enough, particularly with string operations, to compete with a macro processor like the posix shell and particularly bash? If it isn’t better than bash for running some function there isn’t much point in using it.
-
Is the language convenient and quickly started? Java, Scala, JRuby, Closure and Groovy are all powerful languages, but Java requires a lot of boilerplate and the JVM they all require just takes too long to start up.
OTOH, Perl, Python, and Ruby all start up quickly and have powerful string handling (and pretty much everything-else-handling) operations, so they tend to occupy the sometimes-disparaged-but-not-easily-encroached-upon «scripting» world. It turns out they do well at running entire traditional programs as well.
Left in limbo are languages like Javascript, which aren’t used for scripting but potentially could be. Update: since this was written node.js was released on multiple platforms. In other news, the question was closed. «Oh well.»
answered Feb 18, 2010 at 5:48
DigitalRossDigitalRoss
142k24 gold badges243 silver badges328 bronze badges
script: it contains set of «scripting language» instructions which controls, runs other system programs, applications also it can be scheduled.
Program: it contains set of instructions, which performs certain task upon compilation of the program with the compiler.
answered Mar 28, 2012 at 8:25
SomSom
9402 gold badges16 silver badges29 bronze badges
According to my perspective, the main difference between script and program:
Scripts can be used with the other technologies. Example: PHP scripts, Javascripts, etc. can be used within HTML.
Programs are stand-alone chunks of code that can never be embedded into the other technologies.
If I am wrong at any place please correct me.I will admire your correction.
JoshDM
4,9037 gold badges44 silver badges72 bronze badges
answered Apr 19, 2010 at 9:45
2
A framework or other similar schema will run/interpret a script to do a task. A program is compiled and run by a machine to do a task
answered Feb 18, 2010 at 5:43
hodgesmrhodgesmr
2,7457 gold badges30 silver badges41 bronze badges
IMO
Script — is the kind of instruction that program supposed to run
Program — is kind of instruction that hardware supposed to run
Though i guess .NET/JAVA byte codes are scripts by this definition
answered Feb 18, 2010 at 5:43
Различие между сценарием и программой? [закрытый]
9 ответов
Для меня главное отличие состоит в том, что сценарий интерпретируется , а программа выполняется (т. Е. исходный код сначала компилируется, и результат этой компиляции ожидается) .
Википедия, кажется, согласна со мной в этом:
Скрипт :
«Скрипты» отличаются от основного
кода приложения, который
обычно пишется на другом
языке и часто создаются или
наименее изменяются конечным пользователем.
Скрипты часто интерпретируются из исходного кода
или байт-кода, тогда как
приложения, которыми они управляют,
традиционно компилируются в собственный
машинный код .
Программа :
Программа имеет исполняемую форму
, которую компьютер может использовать непосредственно для
выполнения инструкций.
Та же самая программа
в форме кода, удобочитаемого человеком
, из которой получены исполняемые
программы (например, скомпилированные)
ответ дан 24 November 2019 в 13:27
поделиться
IMO
Сценарий — это инструкция, которую должна запускать программа.
Программа — это инструкция, которую должно запускать оборудование.
Хотя я полагаю, что байтовые коды .NET / JAVA сценарии по этому определению
ответ дан 24 November 2019 в 13:27
поделиться
Обычно скрипт — это легкий, быстро создаваемый, возможно, одноразовый инструмент. Обычно он интерпретируется, а не компилируется. Python и bash — примеры языков, используемых для создания скриптов.
Программа создается на скомпилированном языке, таком как C или C++, и по этой причине обычно выполняется быстрее, чем сценарий. Крупные инструменты часто пишутся как «программы», а не как скрипты — небольшие инструменты легче разрабатывать как скрипты, но скрипты могут стать громоздкими, когда их становится больше. Прикладные и системные языки (используемые для создания программ/приложений) имеют инструменты, облегчающие управление этим ростом.
Обычно скрипт можно просмотреть в текстовом редакторе, чтобы увидеть, что он делает. Вы не можете сделать этого с исполняемой программой — инструкции последней скомпилированы в байткод или машинный язык, который очень трудно понять человеку без специализированных инструментов.
Обратите внимание на количество «часто» и «обычно» выше — эти термины туманны и иногда пересекаются.
ответ дан 24 November 2019 в 13:27
поделиться
Я придерживаюсь другой точки зрения.
«Сценарий» — это код, который воздействует на некоторую систему внешним или независимым образом и может быть удален или отключен без отключения самой системы.
«Программа» — это код, составляющий систему. Код программы может быть написан по модульному принципу с хорошим разделением задач, но код в основном является внутренним по отношению к самой системе и зависит от нее.
Скрипты интерпретируются часто, но не всегда. Программы часто составляются, но не всегда.
ответ дан 24 November 2019 в 13:27
поделиться
См .:
Разница между программой и сценарием
Сценарий также является программой, но без непрозрачного слоя, скрывающего (исходный код), тогда как программа — это программа, имеющая одежду, вы не можете увидеть его исходный код, если он не декомпилируемый.
Сценариям нужны другие программы для их выполнения, а программам они не нужны.
ответ дан 24 November 2019 в 13:27
поделиться
Сценарии обычно интерпретируются (другим исполняемым файлом).
Программа обычно представляет собой автономный скомпилированный исполняемый файл сам по себе (хотя он может иметь зависимости от библиотек), состоящий из машинного кода или байтовых кодов (для программ, скомпилированных точно в срок)
ответ дан 24 November 2019 в 13:27
поделиться
В действительности существует два аспекта реальности «скриптинг против программы»:
-
Является ли язык достаточно мощным, особенно в отношении операций со строками, чтобы конкурировать с макропроцессором, таким как posix shell и особенно bash? Если он не лучше, чем bash для выполнения некоторой функции, то нет особого смысла его использовать.
-
Является ли язык удобным и быстро запускаемым? Java, Scala, JRuby, Closure и Groovy — все это мощные языки, но Java требует много шаблонов, а JVM, которую они все требуют, просто слишком долго запускается.
Напротив, Perl, Python и Ruby быстро запускаются и обладают мощными операциями по обработке строк (и практически всего остального), поэтому они обычно занимают место в мире «скриптинга», который иногда презирают, но не так уж легко преодолеть. Оказывается, они также хорошо справляются с выполнением целых традиционных программ.
Остаются в неопределенности такие языки, как Javascript, которые не используются для создания сценариев, но потенциально могли бы ими стать. Обновление: с момента написания этой статьи node.js был выпущен на нескольких платформах. В других новостях вопрос был закрыт. «Ну и ладно.»
ответ дан 24 November 2019 в 13:27
поделиться
Фреймворк или другая подобная схема будет запускать / интерпретировать сценарий для выполнения задачи. Программа компилируется и запускается машиной для выполнения задачи
ответ дан 24 November 2019 в 13:27
поделиться
С моей точки зрения, основное различие между скриптом и программой:
Скрипты можно использовать с другими технологиями. Пример: скрипты PHP, Javascripts и т. Д. Могут использоваться в HTML.
Программы — это отдельные фрагменты кода, которые никогда не могут быть встроены в другие технологии.
Если я ошибаюсь в каком-либо месте, пожалуйста, поправьте меня. Я буду восхищаться вашим исправлением.
ответ дан 24 November 2019 в 13:27
поделиться
Другие вопросы по тегам:
Похожие вопросы:
Для меня главное отличие состоит в том, что сценарий интерпретируется , в то время как программа выполняется (т.е. сначала компилируется исходный код, и ожидается результат этой компиляции) .
Википедия, кажется, согласна со мной в этом:
Сценарий :
«Сценарии» отличаются от основного кода приложения, который обычно написан на другом языке и часто создается или, по крайней мере, изменяется конечным пользователем.
Сценарии часто интерпретируются из исходного кода или байт-кода, тогда как приложения, которыми они управляют, традиционно компилируются в собственный машинный код.
Программа :
Программа имеет исполняемую форму, которую компьютер может использовать непосредственно для выполнения инструкций.
Та же самая программа в форме исходного кода, удобочитаемого человеком, из которой производятся исполняемые программы (например, скомпилированы).
Я придерживаюсь другой точки зрения.
«Сценарий» — это код, который воздействует на некоторую систему внешним или независимым образом и может быть удален или отключен без отключения самой системы.
«Программа» — это код, составляющий систему. Код программы может быть написан по модульному принципу с хорошим разделением задач, но код является в основном внутренним по отношению к самой системе и зависит от нее.
Скрипты часто интерпретируются, но не всегда. Программы часто составляются, но не всегда.
Видеть:
Разница между программой и сценарием
Сценарий также является программой, но без непрозрачного слоя, скрывающего (исходный код), тогда как программа — это программа с одеждой, вы не можете увидеть ее исходный код, если он не декомпилируемый.
Сценариям нужны другие программы для их выполнения, а программам он не нужен.
Как правило, сценарий представляет собой легкий, быстро создаваемый инструмент, возможно, одноразовый. Обычно он интерпретируется, а не компилируется. Python и bash — это примеры языков, используемых для создания скриптов.
Программа создается на компилируемом языке, таком как C или C ++, и по этой причине обычно выполняется быстрее, чем сценарий. Более крупные инструменты часто пишутся как «программы», а не сценарии — более мелкие инструменты легче разрабатывать как сценарии, но сценарии могут становиться громоздкими по мере их увеличения. Прикладные и системные языки (используемые для создания программ / приложений) имеют инструменты, облегчающие управление этим ростом.
Обычно вы можете просмотреть сценарий в текстовом редакторе, чтобы увидеть, что он делает. Вы не можете сделать это с исполняемой программой — инструкции последней скомпилированы в байт-код или машинный язык, что делает их очень трудными для понимания людьми без специальных инструментов.
Обратите внимание на количество «часто» и «обычно» выше — термины расплывчаты и иногда пересекаются.
В общем, «программа» — это последовательность инструкций, написанных для того, чтобы компьютер мог выполнять определенную задачу .
«Сценарий» — это код, написанный на языке сценариев. Язык сценариев — это не что иное, как тип языка программирования, на котором мы можем писать код для управления другим программным приложением .
На самом деле языки программирования бывают двух типов:
а. Язык сценариев
б. Скомпилированный язык
Пожалуйста, прочтите это: Скрипты и компилируемые языки
Сценарии обычно интерпретируются (другим исполняемым файлом).
Программа обычно представляет собой автономный скомпилированный исполняемый файл сам по себе (хотя он может иметь зависимости от библиотек), состоящий из машинного кода или байтовых кодов (для программ, скомпилированных точно в срок).
На самом деле существует два аспекта сценариев и программной реальности:
-
Достаточно ли мощен язык, особенно со строковыми операциями, чтобы конкурировать с макропроцессором, таким как оболочка posix и особенно bash? Если для запуска какой-либо функции он не лучше, чем bash, в его использовании нет особого смысла.
-
Язык удобен и быстро запускается? Java, Scala, JRuby, Closure и Groovy — все это мощные языки, но Java требует большого количества шаблонов, а JVM, которая им всем нужна, просто занимает слишком много времени для запуска.
OTOH, Perl, Python и Ruby запускаются быстро и имеют мощные операции обработки строк (и почти все остальное), поэтому они, как правило, занимают иногда пренебрежительное, но непростое выполнение сценариев. » Мир. Оказывается, они хорошо справляются и с целыми традиционными программами.
В подвешенном состоянии остались такие языки, как Javascript, которые не используются для написания сценариев, но потенциально могут быть использованы. Обновление: поскольку это было написано, node.js был выпущен на нескольких платформах. По другим новостям вопрос был закрыт. «Ну что ж.»
На мой взгляд, главное отличие скрипта от программы:
Скрипты можно использовать с другими технологиями. Пример: скрипты PHP, Javascripts и т. Д. Могут использоваться в HTML.
Программы — это отдельные фрагменты кода, которые невозможно встроить в другие технологии.
Если я ошибаюсь в каком-либо месте, пожалуйста, поправьте меня. Я буду восхищаться вашим исправлением.
Фреймворк или другая подобная схема будет запускать / интерпретировать скрипт для выполнения задачи. Программа компилируется и запускается машиной для выполнения задачи.
IMO Script — это инструкция, которую программа должна запускать. Программа — это инструкция, которую должно запускать оборудование.
Хотя я предполагаю, что байтовые коды .NET / JAVA являются сценариями по этому определению
Как правило, сценарий представляет собой легкий, быстро создаваемый инструмент, возможно, одноразовый. Обычно он интерпретируется, а не компилируется. Питон и колотить являются примерами языков, используемых для создания скриптов.
Программа создается на компилируемом языке, таком как C или C ++, и по этой причине обычно выполняется быстрее, чем сценарий. Более крупные инструменты часто пишутся как «программы», а не сценарии — более мелкие инструменты легче разрабатывать как сценарии, но сценарии могут становиться громоздкими по мере их увеличения. Прикладные и системные языки (те, которые используются для создания программ / приложений) имеют инструменты, облегчающие управление этим ростом.
Обычно вы можете просмотреть сценарий в текстовом редакторе, чтобы увидеть, что он делает. Вы не можете сделать это с исполняемой программой — инструкции последней скомпилированы в байт-код или машинный язык, что делает их очень трудными для понимания людьми без специальных инструментов.
Обратите внимание на количество «часто» и «обычно» выше — термины расплывчаты и иногда пересекаются.