Является ли javascript параллельным языком или это движок javascript, который делает язык параллельным?
Правильно ли говорить, что javascript - это язык параллельного программирования, или это скорее разные движки javascript, которые делают javascript параллельным?
Javascript как параллельный язык не указан в Википедии, но node.js: http://en.wikipedia.org/wiki/Concurrent_computing.
Я был бы признателен за дополнительную информацию о том, откуда происходит параллельное поведение javascript.
1 ответ
Чтобы лучше ответить на это, важно понимать, что такое JavaScript.
Из спецификации языка ECMAScript
http://www.ecma-international.org/ecma-262/5.1/
ECMAScript - это объектно-ориентированный язык программирования для выполнения вычислений и манипулирования вычислительными объектами в среде хоста. ECMAScript, как определено здесь, не предназначен для вычислительной самодостаточности; действительно, в этой спецификации нет положений для ввода внешних данных или вывода вычисленных результатов. Вместо этого ожидается, что вычислительная среда программы ECMAScript предоставит не только объекты и другие средства, описанные в этой спецификации, но также и определенные хост-объекты, зависящие от среды, чье описание и поведение выходят за рамки данной спецификации, за исключением того, чтобы указать, что они могут предоставлять определенные свойства, к которым можно получить доступ, и определенные функции, которые можно вызывать из программы ECMAScript.
Это зависит от хозяина, чтобы определить реализацию. Node.js - один из таких хостов, браузеры - еще один такой хост. Любой хост может выбрать реализацию языка в соответствии со спецификацией, а хост может предоставить свою собственную среду, в которой обрабатывается информация.
Итак, чтобы ответить на вопрос
Правильно ли говорить, что javascript - это язык параллельного программирования, или это скорее разные движки javascript, которые делают javascript параллельным?
Я бы сказал, нет, неправильно говорить, что javascript - это язык параллельного программирования, потому что ответ на него зависит от среды хоста (или движка); однако, параллелизм может быть сделан возможным через среду хоста (механизм), который это позволяет.