Почему ActionScript считается языком сценариев даже после того, как он так вырос и скомпилировал язык? - PullRequest
2 голосов
/ 10 июля 2010

Из определения Википедии,

Язык программирования

Языки сценариев - это языки, которые позволяют отправлять команды непосредственно в систему, которая выполняет эти команды. Эти команды читаются построчно и выполняются-интерпретируются, но не компилируются.

В то время как язык сценариев

Языки программирования - это языки, которые позволяют вам создавать программу путем написания структурированного кода, который одновременно считывается системой, проверяется на наличие ошибок и переводится в нечитаемый формат, который затем может выполнять машина (компилируется).

ActionScript теперь является довольно развитым языком (который запускается после того, как компиляция не интерпретируется) и после ActionScript 3, Flex и Air. Трудно поверить, что ActionScript все еще называют языком сценариев.

Ответы [ 4 ]

5 голосов
/ 10 июля 2010

Граница между языком программирования и языком сценариев размыта. Когда-то "языком программирования" был скомпилированный язык, такой как C или C ++, потому что только эти языки были достаточно эффективными для написания нетривиальных программ. Языки сценариев были языками, которые обычно не компилировались и, следовательно, были медленнее; их относительная неэффективность сводила их к задачам обслуживания систем или «склеиванию» частей скомпилированной программы вместе. Теперь компьютеры становятся быстрее, а языковые переводчики становятся более продвинутыми, поэтому даже традиционный язык сценариев, такой как Python или Tcl, можно использовать для написания полноценного приложения. Тем не менее, как только язык назван языком сценариев, от него трудно отказаться.

2 голосов
/ 10 июля 2010

JavaScript - это язык сценариев в браузерах, поскольку он создает сценарии для браузера.

Bash - это язык сценариев, поскольку он создает сценарии для ОС.

Python и ActionScript называются языками сценариев, поскольку они имеют общие черты с реальными языками сценариев (динамически типизируемыми, иногда интерпретируемыми, более высокого уровня, чем C). Я думаю, что «язык сценариев» как термин слишком часто используется и в основном используется для обозначения языков с динамической типизацией.

2 голосов
/ 10 июля 2010

Не верьте всему в Википедии.

Например, PHP компилируется в байт-код во время выполнения, а java компилируется в байт-код во время компиляции. Интерпретатор php выполняет байт-код, а виртуальная машина Java выполняет свой байт-код, выполняя одно и то же.

Сценарий bash вообще не компилируется и интерпретируется как строка за строкой.

C компилируется в машинный код, который считывается непосредственно аппаратным обеспечением.

Согласно записи в вики, только bash действительно является скриптом, который является неправильным.

Это гораздо больше нюансов, чем предполагает вики.

1 голос
/ 13 июля 2010

Читая определения выше, машина не может выполнить формат, который создает компилятор Flex, поэтому ActionScript является языком сценариев.

Конечно, все, что компилируется в виртуальную машину, будет считаться языком сценариев по этому определению, включая Java. Forth, будучи интерпретируемым многопоточным языком, также будет языком сценариев.

Так что забудьте про Википедию. Эти различия имели больше смысла, чем сейчас.

С каждым месяцем JavaScript становится все быстрее и, вероятно, скоро будет быстрее, чем ActionScript, если это еще не сделано.

Я бы сказал, что лучшее определение для «языка сценариев» - «язык сценариев управляет приложением или закрытой средой, такой как браузер, текстовый процессор или Flash».

Но с Chrome OS даже это определение находится под угрозой, поскольку браузер (включая Flash, который Google принял) угрожает стать ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...