Кто-нибудь пробовал Crystal Programming Language (скомпилированный машинный код Ruby)?
Как и многие другие, я всегда считаю, что "для Ruby никогда не будет существовать чистый компилятор, потому что язык слишком динамичен для работы статического компилятора".
Но я недавно наткнулся на них:
Язык программирования Crystal в GitHub
Статически скомпилированный Ruby
Оба проекта кажутся очень интересными. Они могут дать нам скорость скомпилированного языка (и часто коммерчески необходимый, запутанный код скомпилированного языка), сохраняя при этом (или большинство) изящество и гибкость Ruby. Добавьте хорошую библиотеку поддержки (или, более вероятно, возможность доступа к существующим библиотекам С++), и вы можете легко понять, почему этот материал может быть интересным.
Кто-нибудь пробовал использовать язык Crystal?
(Еще не было, из-за проблем с компиляцией с ruby-llvm)
Каково было его/ее чувство об этом?
Считаете ли вы, что, учитывая эти варианты дизайна, на самом деле можно было бы разработать компилятор native-code (машинный код) для Ruby (с разумными усилиями и в разумные сроки)? Будет ли это значимым?
Ответы
Ответ 1
Я разработчик кристалла. В настоящее время не все реализовано из списка маркированных точек. Фактически классы только начали внедряться.
Мне действительно нравится идея этого. Но мне нужно больше думать о том, как его реализовать. И мне также нужно больше времени, хе-хе.
Вторая статья имеет совершенно другой подход, потому что она не будет вводить новый язык: она просто попытается скомпилировать подмножество Ruby или, может быть, будет скомпилирована в собственный код, но все же позволит некоторым динамизмам с затратами на производительность ( Я говорил с автором этой статьи несколько месяцев назад).
Мое чувство к обеим подходам: я действительно с этим мог случиться. Нам нужен быстрый язык с элегантной, удобочитаемой радостью использования синтаксиса и библиотеки (например, что предлагает Ruby).
Ответ 2
Я разработчик Foundry; вторая статья - моя.
Более поздняя статья по той же теме будет "Язык для встроенных разработчиков" ; или вы также можете отслеживать прогресс развития, подписываясь на foundry-lang.org.
Обратите внимание, однако, что мой проект является коммерческим (по крайней мере изначально) не открытым исходным кодом и в основном ориентирован на встроенную разработку. Вы все равно можете использовать его на настольных компьютерах или серверах, конечно.
Я тоже один из разработчиков Ruby-llvm; сообщите о проблемах, с которыми вы столкнулись, на странице .