Информация об изменениях

Сообщение Re: Альтернативы Nitra от 14.01.2017 12:54

Изменено 17.01.2017 8:43 VladD2

Re: Альтернативы Nitra
Здравствуйте, s22, Вы писали:

s22>Грааль и Трюфель (Graal & Truffle)


s22>https://habrahabr.ru/post/319424/


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

Я уже отвечал по этому поводу Кочеткову в Гуглплюсе:
https://plus.google.com/u/0/+%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%D0%9A%D0%BE%D1%87%D0%B5%D1%82%D0%BA%D0%BE%D0%B2/posts/gT43JjuCHhb
Вот мой ответ от туда:

Ты посмотри их туториалы. http://cesquivias.github.io/tags/truffle.html и на их видео https://www.youtube.com/watch?v=FJY96_6Y3a4 (там видно сколько надо писать кода на Яве)
Там какой-то мрачный закат солнца вручную. Судя по всему парсинг предлагается делать вручную или с помощью AntLR. AST писать вручную. Типизацию опять же вручную. И дальше предлагается какое-то решение по суперкомпиляции (https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BF%D0%B5%D1%80%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F) интерпретаторов превращающая их в почти что компилятор. Но далее приводятся результаты этого подхода из которых следует, что этот метод приводит к дичайшим затратам на "прогрев" кода, и все равно результат получается не таким быстрым и очень прожорливым к памяти.

Меж тем написание интерпретатора мало чем отличается от генерации коды с точки зрения затрат.

Другими словами для прототипирования то там почти ничего и нет. Это ресерч в области суперкомпиляции. С научной точки зрения — это мега-интересно и круто! Но с практической мало что дает.

Тем временем Nitra на практике показывает высокую скорость прототипирования. А вопрос перевода своего языка в скомпилированную форму лучше решать немерловыми средствами — трансляция кода в код с применением паттерн-матчинга.

Вот только после ухода из джетбрэйнса прогресс в разработке Нитры дико замедлился. Стас мне так и не помогает. Вольфхаунд забил на написание кода еще в Джетбрэйнсе. Пишу один попутно переключаясь на заработок денег. За год смог написать только генератор плагинов к студии. Правда, качественный. В клент-серверной архитектуре. Сейчас для релиза еще надо стипизировать Нитру на ее же новой версии. Я просил помочь с этим Стаса еще год назад. Но бес толку.

Подтолкни его и мы выкатим первую версию Нитры уже в этом квартале (а может и через месяц). А там глядишь, я смогу найти спонсоров/инвесторов.

Мы и сейчас опережаем конкурентов на годы, как это не странно. Но работы очень много. И одному это все делать крайне тяжко. А если у меня кончатся средства, то вообще проектом никто заниматься не буду. Тянуть его параллельно с другой серьезной работой не реально. Он на 100 лет растянется. А со средствами становится все хуже и хуже. Мой мелкий бизнес загибается .

По сути, для первого релиза нужно только добить нитровскую типизацию и отладить на ее основе плагины IDE. После этого Нитру можно будет использовать на практике.

Но далее нужно сделать серьезный объем работ.
1. Чтобы поддерживать проекты любых размеров нужно усложнить подсистему вычисления зависимых свойств, чтобы она позволяла вычислять данные в IDE лениво (только требуемые для визуализации в данный момент).
2. Нужно написать и оттестировать расширяемый C# и хотя бы сабсэт Немерла (используемый в нитре). У C# и Немерла будет 80% общего кода. Так что это вполне подъемно.
3. Далее нужно забутстрапить Нитру на нитровском же Немерле и развязаться тем самым со старой тормозной реализацией Немерла. Это само по себе ускорит дальнейшую разработку.
4. Реализовать универсальное квазицитирование любого нитровского языка. У нас был прототип, но мы его отбросили из-за того, что он замедлял сборку вдвое и был не совершенен.

Это все без инвесторов/спонсоров не сделать. Так что сейчас надо выпускать релиз и искать их.

Так, что толкни, плиз, Стаса. С его помощью я сделаю типизацию Нитры значительно быстрее. А это сейчас ключевой момент остался. Я на нее полностью переключаюсь в ближайшее время.

Re: Альтернативы Nitra
Здравствуйте, s22, Вы писали:

s22>Грааль и Трюфель (Graal & Truffle)


s22>https://habrahabr.ru/post/319424/


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

Я уже отвечал по этому поводу Кочеткову в Гуглплюсе:
https://plus.google.com/u/0/+%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%D0%9A%D0%BE%D1%87%D0%B5%D1%82%D0%BA%D0%BE%D0%B2/posts/gT43JjuCHhb
Вот мой ответ от туда:

Ты посмотри их туториалы. http://cesquivias.github.io/tags/truffle.html и на их видео https://www.youtube.com/watch?v=FJY96_6Y3a4 (там видно сколько надо писать кода на Яве)
Там какой-то мрачный закат солнца вручную. Судя по всему парсинг предлагается делать вручную или с помощью AntLR. AST писать вручную. Типизацию опять же вручную. И дальше предлагается какое-то решение по суперкомпиляции интерпретаторов превращающая их в почти что компилятор. Но далее приводятся результаты этого подхода из которых следует, что этот метод приводит к дичайшим затратам на "прогрев" кода, и все равно результат получается не таким быстрым и очень прожорливым к памяти.

Меж тем написание интерпретатора мало чем отличается от генерации коды с точки зрения затрат.

Другими словами для прототипирования то там почти ничего и нет. Это ресерч в области суперкомпиляции. С научной точки зрения — это мега-интересно и круто! Но с практической мало что дает.

Тем временем Nitra на практике показывает высокую скорость прототипирования. А вопрос перевода своего языка в скомпилированную форму лучше решать немерловыми средствами — трансляция кода в код с применением паттерн-матчинга.

Вот только после ухода из джетбрэйнса прогресс в разработке Нитры дико замедлился. Стас мне так и не помогает. Вольфхаунд забил на написание кода еще в Джетбрэйнсе. Пишу один попутно переключаясь на заработок денег. За год смог написать только генератор плагинов к студии. Правда, качественный. В клент-серверной архитектуре. Сейчас для релиза еще надо стипизировать Нитру на ее же новой версии. Я просил помочь с этим Стаса еще год назад. Но бес толку.

Подтолкни его и мы выкатим первую версию Нитры уже в этом квартале (а может и через месяц). А там глядишь, я смогу найти спонсоров/инвесторов.

Мы и сейчас опережаем конкурентов на годы, как это не странно. Но работы очень много. И одному это все делать крайне тяжко. А если у меня кончатся средства, то вообще проектом никто заниматься не буду. Тянуть его параллельно с другой серьезной работой не реально. Он на 100 лет растянется. А со средствами становится все хуже и хуже. Мой мелкий бизнес загибается .

По сути, для первого релиза нужно только добить нитровскую типизацию и отладить на ее основе плагины IDE. После этого Нитру можно будет использовать на практике.

Но далее нужно сделать серьезный объем работ.
1. Чтобы поддерживать проекты любых размеров нужно усложнить подсистему вычисления зависимых свойств, чтобы она позволяла вычислять данные в IDE лениво (только требуемые для визуализации в данный момент).
2. Нужно написать и оттестировать расширяемый C# и хотя бы сабсэт Немерла (используемый в нитре). У C# и Немерла будет 80% общего кода. Так что это вполне подъемно.
3. Далее нужно забутстрапить Нитру на нитровском же Немерле и развязаться тем самым со старой тормозной реализацией Немерла. Это само по себе ускорит дальнейшую разработку.
4. Реализовать универсальное квазицитирование любого нитровского языка. У нас был прототип, но мы его отбросили из-за того, что он замедлял сборку вдвое и был не совершенен.

Это все без инвесторов/спонсоров не сделать. Так что сейчас надо выпускать релиз и искать их.

Так, что толкни, плиз, Стаса. С его помощью я сделаю типизацию Нитры значительно быстрее. А это сейчас ключевой момент остался. Я на нее полностью переключаюсь в ближайшее время.