Size: a a a

Node.js — русскоговорящее сообщество

2020 February 26

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Раз вопрос был.
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
До этого обсуждали компилирует ли нода JS или нет. Моё утверждение, что нода ничего не компилирует. Как собственно и v8. Но! Если рассматривать v8 как черный ящик. То что внутри происходят процессы компиляции и последующего исполнения, как результат можно назвать компиляцией лишь отчасти в контексте внутренней системы. Как внешняя система она рассматривается, как интерпретатор языка JavaScript. Сам JavaScript разработан чисто, как интерпретируемый язык, потому что исполняется сразу минуя предварительный шаг компиляции самим пользователем.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Bruian Blake
До этого обсуждали компилирует ли нода JS или нет. Моё утверждение, что нода ничего не компилирует. Как собственно и v8. Но! Если рассматривать v8 как черный ящик. То что внутри происходят процессы компиляции и последующего исполнения, как результат можно назвать компиляцией лишь отчасти в контексте внутренней системы. Как внешняя система она рассматривается, как интерпретатор языка JavaScript. Сам JavaScript разработан чисто, как интерпретируемый язык, потому что исполняется сразу минуя предварительный шаг компиляции самим пользователем.
Ну то есть мое замечание таки по делу. Почему это V8 не компилирует? Это если рассматривать в узком смысле компиляцию как формирование бинарного файла.
источник

λР

λера Розаλин in Node.js — русскоговорящее сообщество
Bruian Blake
До этого обсуждали компилирует ли нода JS или нет. Моё утверждение, что нода ничего не компилирует. Как собственно и v8. Но! Если рассматривать v8 как черный ящик. То что внутри происходят процессы компиляции и последующего исполнения, как результат можно назвать компиляцией лишь отчасти в контексте внутренней системы. Как внешняя система она рассматривается, как интерпретатор языка JavaScript. Сам JavaScript разработан чисто, как интерпретируемый язык, потому что исполняется сразу минуя предварительный шаг компиляции самим пользователем.
+100, хороший пойнт.
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
просто почему-то такая установка у человека, видимо, что компилятор выдаёт откомпилированный код, который можно сохранить на носителе
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Bruian Blake
До этого обсуждали компилирует ли нода JS или нет. Моё утверждение, что нода ничего не компилирует. Как собственно и v8. Но! Если рассматривать v8 как черный ящик. То что внутри происходят процессы компиляции и последующего исполнения, как результат можно назвать компиляцией лишь отчасти в контексте внутренней системы. Как внешняя система она рассматривается, как интерпретатор языка JavaScript. Сам JavaScript разработан чисто, как интерпретируемый язык, потому что исполняется сразу минуя предварительный шаг компиляции самим пользователем.
Ну так можно абстрагироваться от всего чего угодно, и сказать что этого нет
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
Можно, но если искажать суть абстракции
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Алексей Попов
просто почему-то такая установка у человека, видимо, что компилятор выдаёт откомпилированный код, который можно сохранить на носителе
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Возможность откомпилить код в бинарник и положить его, а не исходник
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Это можно сделать и в обычной ноде --- смотреть модуль vm
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Bruian Blake
Можно, но если искажать суть абстракции
А какая тут суть? С точки зрения конечного результата исполнения программы безотносительно производительности и в изоляции от других систем нет разницы как именно оно происходит.
источник

AE

Alexey Ermakov in Node.js — русскоговорящее сообщество
кто мешает взять v8 и скомпилить js-скрипт в asm =)
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
Я писал что выдача бинарника это опциональность движка v8. А может быть реализиция другой виртуальной машины, и она не будет выдавать байт код. Все такие модули так или иначе используют api библиотеки v8. Но такая опциональность не отменяет того, что в целом система виртуальной машины является интерпретатором по отношению к JavaScript коду. Внутренние механизмы для нас сокрыты в принципе и уже сам разработчики движка решают, какие интерфейсы выдать наружу и какие механзимы дать пользователю для управления процессом исполнения кода js.
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
Alexey Ermakov
кто мешает взять v8 и скомпилить js-скрипт в asm =)
Он по итогу и так компилируется в машинные команды. Но попробуйте запустить их отдельно от адресного пространства движка.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Является исполнителем по отношению к JavaScript, а исполнители бывают уже компиляторами, интерпретаторами и все что между
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Зачем портить абстракции
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
В том и дело что для JavaScript есть только интерпретатор.
источник

BB

Bruian Blake in Node.js — русскоговорящее сообщество
В этом основная суть посыла
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Bruian Blake
В том и дело что для JavaScript есть только интерпретатор.
А компилируется что?)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Тут получается, что если не будет исходника, то интерпретировать и нечего
источник