Вопрос Транспилирующиеся языки в javascript.

Регистрация
14 Авг 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Всем привет!
Есть транспилирующиеся языки, преобразующие код в javascript код. Например, node.js или typescript. И у меня появился вопрос: эти транспилируюшиеся языки - это что-то схожее с препроцессора и? Или они работают по другому?
 
Какие у вас нынче странные определения. Так вот, nodejs - интерпретатор. Его основа - v8. Можешь считать, что обработчик js вырезали из google chrome и приклеили к нему пару полезных классов/методов/объектов. TypeScript - технически язык, но скорее его дцп. Это бабель js, но чуть удобнее и компилируемый. Он просто конвертирует типизированный ts (тот-же самый js, но с типами с раком мозга как у шарпа) в js. Это надо для запуска твоего нового кода написанного в стандарте 2019года в браузерах до нашей эры. И поверь, препроцессор - это некая утилита, которая в некоторых местах может оптимизировать компилируемый код, а трансляция - в нашем случае интерпретация - сначала парсит код, а потом +-построчно его выполняет. Мешаешь понятия, в общем. А если ты так сильно хочешь компилировать и использовать пропроцессор, то есть плюсы, верно? Если надо именно с js перевести в исполняющий, тут тебе, вероятно, поможет pkg. Он любезно скомпилирует с webAssembly в исполняющий, если не ошибаюсь. А если не хочешь или надо не исполняющий, то компилируй код C++ с условиями соблюдения правилами методов в .node (от nodejs же), или webAssembly. Для nodejs компиляции есть cmake-js, node-gyp.
 
"Транспилирующих" языков не существует, как и этого слова, которое ты написал. Существуют "Транспайлеры", программы, которые преобразуют код на одном яп, в другой яп. TypeSctipt, как и node js, расширяют возможности javasctipt,добавляя в него новый функционал
 
Node.js - это не язык программирования, а среда (или платформа) выполнения JavaScript. TypeScript действительно язык. Можешь считать транслятор TypeScript препроцессором, если очень хочется, но вообще, так не говорят.
 
Транспайлеры и компиляторы - это трансляторы (от англ. translate), и общие принципы у них схожие. Но работают они конечно же по-разному (поэтому и называются разными словами - вроде очевидно, не?).
 
Назад
Сверху