Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.09.15 18:51
Оценка: 85 (6)
Отчитываюсь о проделанной работе. Мы завершили Milestone 2. Теперь на Nitra можно создавать расширяемые парсеры и производить связывание имен (простую типизацию не завязанную на вывод типов) для языков общего назначения и DSL-ей.

Все это не означает, что работа завершена. Нужно еще многое сделать. Но уже можно начинать делать какие-то свои языки и DSL-и.

В качестве подопытного языка мы использовали C#. Он был выбран как один из наиболее сложных из современных мэйнстрим-языков и из-за того, что у него есть полноценная спецификация. Еще одной предпосылкой являлось то, что я хочу сделать расширяемую версию C#. На новой подсистеме связывания сделана типизация C# в плоть до тел методов. При этом результат получился очень компактным, легким в понимании и поддержке (после освоения наших DSL-ей), и очень легко расширяемым. Что реализация Nemerle, что Roslyn на ее фоне выглядят переусложненными монстрами и при этом поддерживают очень скудную расширяемость. Нитровский вариант на против может легко расширяться и при этом на порядок проще в поддержке.

В тестах, у нас уже есть C# с JSON-ом в качестве расширения. В этом примере C#-выражения внедряется JSON-выражения, которые в свою очередь, может содержать C#-выражения (рекурсивно). Причем расширения добавляются, как и в Nemerle, директивой usung.

Если для языка имеется код связывания, то для него можно генерировать плагин к ReSharper-у, который будет предоставлять базовые сервисы IDE. Потенциально можно создать генератор для любой IDE (включая VS без ReSharper-а). Просто сделать расширение для ReSharper-а было проще.

Подсистем генерации кода и бэкэндов пока нет, но код можно генерировать и вручную. Символы получаемые нашей подсистемой связывания можно обрабатывать из любого дотнет-кода (на C#, Nemerle или чем угодно).

В ближайшее время я сделаю статью, в которой расскажу о подсистеме связывания и прочих возможностях появившихся в Nitra за последний год, а так же постараюсь сделать скринкасты.

ЗЫ

Я подправил стартовую страницу проекта. Просьба зайти на нее и оценить насколько она понятная для не посвященных в детали проекта. Приветствуется любая конструктивная критика.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Nitra Milestone 2
От: _NN_ www.nemerleweb.com
Дата: 27.09.15 08:45
Оценка: +1
Здравствуйте, VladD2, Вы писали:

Хотелось бы видеть эти анонсы также в блоге: http://blog.jetbrains.com/blog/tag/nitra/
Не все знают русский, а многим интересен проект.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Nitra Milestone 2
От: meadow_meal  
Дата: 27.09.15 09:44
Оценка:
Спасибо, круто.

А можете выложить новый билд?
Здесь http://nemerle.org/nitra-builds/ все еще старый.

VD>Если для языка имеется код связывания, то для него можно генерировать плагин к ReSharper-у, который будет предоставлять базовые сервисы IDE. Потенциально можно создать генератор для любой IDE (включая VS без ReSharper-а). Просто сделать расширение для ReSharper-а было проще.


Значит ли это, что для студии без решарпера не будет поддержки даже в том объеме в каком она была по итогам MS1? (подсветка синтаксиса, фолдинг, проверка синтаксиса?) А есть ли в планах?
Re[2]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.15 11:05
Оценка:
Зэто, что для студии без решарпера не будет поддержки даже в том объеме в каком она была по итогам MS1? (подсветка синтаксиса, фолдинг, проверка синтаксиса?)

Да. На сегодня генеринуются только плагины к Решарперу.

_> А есть ли в план


Планы есть, но они не самые приоритетные.

В принципе мы все делаем так, чтобы не зависить от реализаций, так что сделать интеграцию для чистой Студии можно. Но этотопределенный объем работ. В Студии значительно более низкоуровневые интерфейсы.
У нас же еще очень много чего надо сделать.

Возможно студийным расширением займется кто–то извне.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Nitra Milestone 2
От: Ziaw Россия  
Дата: 28.09.15 03:02
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Я подправил стартовую страницу проекта. Просьба зайти на нее и оценить насколько она понятная для не посвященных в детали проекта. Приветствуется любая конструктивная критика.


Для непосвященных самое лучшее увидеть пару строк кода C# со встроенным джейсоном. И ссылку на туториал, как это сделать.

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

P.S. Молодцы, расширяемый C# это просто супер.

P.P.S. Ссылку на гитаб надо поместить куда-то в заметное место.
Отредактировано 28.09.2015 3:06 Ziaw . Предыдущая версия . Еще …
Отредактировано 28.09.2015 3:03 Ziaw . Предыдущая версия .
Re[2]: Nitra Milestone 2
От: DarthSidius  
Дата: 28.09.15 08:14
Оценка: +1
Здравствуйте, Ziaw, Вы писали:

Z>P.S. Молодцы, расширяемый C# это просто супер.


А я бы увидев в подписи VladD2 "Вышел Nemerle 2.0 и интеграция с Visual Studio" просто был невороятно доволен. Даже бухнул бы недюже.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Re: Nitra Milestone 2
От: kekekeks  
Дата: 28.09.15 09:19
Оценка:
Такой вопрос. У нас тут стоит задача сделать нормальный дизайнер/редактор на базе XAML для UI-фреймворка. В планах так же сделать трансляцию XAML в шарповый код. Соответственно, по всей видимости, нужна таки нормальная поддержка AST и восстановления после ошибок, чтобы отлавливать вещи типа предполагаемого DataContext-а в конкретном элементе. Насколько Nitra сейчас готова к созданию таких инструментов на её базе?

Сейчас мы используем OmniXAML для построения дерева элементов из валидного XAML (он же используется фреймворком в рантайме) + деревянный парсер XML для поддержки хоть какого-то автокомплита.
Re[2]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.15 18:37
Оценка:
Здравствуйте, kekekeks, Вы писали:

K>Такой вопрос. У нас тут стоит задача сделать нормальный дизайнер/редактор на базе XAML для UI-фреймворка. В планах так же сделать трансляцию XAML в шарповый код. Соответственно, по всей видимости, нужна таки нормальная поддержка AST и восстановления после ошибок, чтобы отлавливать вещи типа предполагаемого DataContext-а в конкретном элементе. Насколько Nitra сейчас готова к созданию таких инструментов на её базе?


Вполне пригоден. Есть некоторые вопросы с производительностью редактора на больших файлах (выкинули старые оптимизации из-за их глючности, а новые не написали еще), но это мы со временем починим.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.15 18:37
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Хотелось бы видеть эти анонсы также в блоге: http://blog.jetbrains.com/blog/tag/nitra/

_NN>Не все знают русский, а многим интересен проект.

Все будет, со временем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.15 19:12
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Для непосвященных самое лучшее увидеть пару строк кода C# со встроенным джейсоном. И ссылку на туториал, как это сделать.


Z>Скриншот тоже лучше сделать не с демонстрацией максимума возможностей, а с чистым, понятным и красивым куском понятного непосвященному кода. Например грамматика калькулятора.


Легко!

И зачем в каком-то дохлом калькуляторе, когда можно прямо в шарповской грамматике?

Описал этот вопрос здесь
Автор: VladD2
Дата: 28.09.15
.

Я постараюсь показать пример расширения Шарпа Джейсоном на презентации и описать это в статье.

Z>P.S. Молодцы, расширяемый C# это просто супер.


Спасибо! Но чтобы это слало полноценным решением нужно еще не мало сделать: создать движек типизации для выражений (с выводом типов), создать генераторы кода и/или бэкэд для этмита бинарных сборок.

Z>P.P.S. Ссылку на гитаб надо поместить куда-то в заметное место.


Ну, вот скажи куда (после чего или перед чем).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.15 19:19
Оценка:
Здравствуйте, DarthSidius, Вы писали:

DS>А я бы увидев в подписи VladD2 "Вышел Nemerle 2.0 и интеграция с Visual Studio" просто был невороятно доволен. Даже бухнул бы недюже.


Будет и Nemerle 2.0, и расширяемый C#. Теперь мы это можем легко себе позволить. Все же разница между C# и Nemerle в основном лежит внутри методов (на уровне выражений).

Вопрос в том чтобы у нас хватило на все времени и кредита доверия. Мы же все таки проект исследовательский.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.09.15 19:26
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>P.P.S. Ссылку на гитаб надо поместить куда-то в заметное место.


Она в разделе Development. Куда уж заметнее?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Nitra Milestone 2
От: kekekeks  
Дата: 29.09.15 08:59
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я постараюсь показать пример расширения Шарпа Джейсоном на презентации.


Нет желания ещё раз выступить на .NEXT в декабре? Так сказать, по итогам Milestone 2.
Re[4]: Nitra Milestone 2
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.09.15 19:28
Оценка:
Здравствуйте, kekekeks, Вы писали:

K>Нет желания ещё раз выступить на .NEXT в декабре? Так сказать, по итогам Milestone 2.


Есть. Заявку уже подал.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Nitra Milestone 2
От: Mamut Швеция http://dmitriid.com
Дата: 23.11.15 07:21
Оценка:
VD>Отчитываюсь о проделанной работе. Мы завершили Milestone 2.

Вот ты рядом опять что-то рассказываешь про то, какие все тупые и не понимают гениальности.

Давай, посмотрим.

VladD2

> Писать на английском — это политика компании JetBrains... Плюс, в конечном итоге, продукт рассчитан на мировой рынок, а не на российский.

Mamut
Автор: Mamut
Дата: 16.07.15
> Напиши "Work on Milestone 2 started. ETA: second half of 2016, see Roadmap here". Я не понимаю, почему нельзя написать вот это сообщение
Автор: VladD2
Дата: 27.10.14
и в твиттер тоже? Враги вокруг? Неблагодарные крикуны?

Mamut
Автор: Mamut
Дата: 05.08.15
> Не только РСДН... Из общения и выдаваемой информации создается впечатление, что разработчики варятся строго в двух средах:... — РСДН. Все, что отвечается или выкладывается про Нитру, выкладывается только на РСДН

VladD2
Автор: VladD2
Дата: 06.08.15
> Тут согласен. Наша недоработка.


Я предлагаю тебе, да и любому другому человеку, догадаться с одного раза, написал ты хоть слово про то, что работа над Milestone 2 завершена, в официальный твиттер Нитры. Всего-то два месяца с отчета на РСДН прошло.


VladD2

>
У меня же банально не хватает ресурсов на реализацию и раскрутку.

А ты продолжай злорадствовать вместо того чтобы присоединиться и помочь.


Без комментариев
Автор: Mamut
Дата: 05.08.15
.


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.