Re[6]: Nemerle через 10 лет
От: IT Россия linq2db.com
Дата: 17.07.21 18:54
Оценка: 27 (1)
Здравствуйте, Mystic Artifact, Вы писали:

IT>>1. Компилятор действительно представляет собой кучу говна. То, что его не начали переписывать ещё в 2008-м наверное самая большая ошибка.

MA> И да и нет. Его никто не начал переписывать в 2008-м потому, потому, что сейчас, задним числом мы все умные. Для того что бы написать компилятор в 2008-м году — нужно в это было упороиться на 24/7.

Влад и так занимался N практически 24/7. После того как мы не договорились я занялся поддержкой LINQ в bltoolkit, тоже практически 24/7. Речь шла о том, что на это уйдёт аж ЦЕЛЫЙ ГОД! Прошло 13 лет.

MA> Тем не менее — "переписать" готовый код — это означает его выбросить и написать что-то, что ведет себя похожым образом.


Когда я говорю переписать, то никогда не имею ввиду всё выкинуть и переписать заново. Любой код, даже самый фу, можно творчески переработать и переиспользовать. Любой код состоит из алгоритмов и их компоновки. Вот последнее в N было троечку с минусом, это нужно было полностью переписать. А алгоритмы можно было легко переисользовать.

MA> Если есть чувство/понимание, что это тебе под силу — тогда бери и делай. Но я не думаю, что в реалиях у кого-то были такие силы в 2008-м, даже, если и думал, что они есть. Скорее наоборот, те кто ближе всех был вовлечен — понимали, что переписать запросто так не выйдет.


Запросто и не надо. Там проблема была в другом. Влад считал, что вот ещё чуть-чуть, вот здесь переписать, тут подрехтовать и всё заработает, баги прекратятся. У меня было понимание того, что без тотальной переделки компилятора ничего не выйдет. Это бесконечный бег по кругу от одного бага к другому. Нужно остановиться и начать с переработки архитектуры компилятора, тем более, что понимание какой она должна быть к тому моменту уже присутствовало.

MA> Это тоже самое как сказать, перепиши ты ка linq2db с ноля. Как считаешь сам, твой 10+ опыт в теме + контрибут (даже в виде фидбэка) — можно преодолеть лишь за счёт своей уникальности (ага, взял и переписал, я ж уникальный) и сделать (переписать) лучше?


linq2db переписывался с нуля много раз. Может быть именно поэтому последние лет 8 он в этом не нуждается. Сначала это был примитивный маппер — RFD. Затем оно было переработано в bltoolkit по схеме, описанной выше — перерабатывается архитектура, переиспользуются алгоритмы. Потом туда был добавлен linq. Потом, всё что касается linq было вынесено в linq2db опять по вышеописанной схеме.
Т.е. как раз linq2db является отличным примером того, что переписывать "с нуля" можно и нужно.

MA> И вот тебе мой ответ — тратить силы на ущербный язык под дотнет в 2021 году — смысла вообще не имеет.


Я бы не был таким категоричным. Думаю, бесмысленность затеи не в том, что нет смысла писать язык, а в том, что это всё опять упрётся в персоналии и в то, что использовать — табы или пробелы.

IT>>3. Нитра — это вторая большая толи ошибка, толи диверсия

MA> Я не думаю что это ошибка вообще.

Это — ошибка. Но не сама по себе Нитра. С этим я не спорю. Это хороший проект, особенно как исследовательский. Ошибка в том, что работа над ней поставила жирную точку в работе над компилятором. Вспомни что было в 2012 году.

— JB берёт под своё крыло N.
— Воплощаются мечты и чаяния народа. Какая радость, скоро у нас появится безглючный компилатор и интеграция со студией.
— Туманные сообщения о закрытии кода, какой-то секретный проект...
— Через пару лет выясняется, что работы ведутся не над компилятором, а над каким-то всемогутором.

Далее следует полное разочарование. Проект больше нафиг никому не нужен. Даже JB от него отказывается и открывает коды всемогутера. Лично у меня вообще возникло ощущение, что парнями попользовались и выкинули нахрен.

Результат затеи — развитие компилятора заканчивается раз и навсегда.

MA>Простите, отвлекся.


IT>>4. Писать свою IDE — это бред, да.

MA> Для разработчика языка и языкового серивса — однозначно да.

Именно это я и имел ввиду. Разрабаывать что угодно в рамках отдельного проекта — это без проблем.

IT>>Ну и я бы добавил, что начинать нужно даже не с компилятора, а с переименования языка. Пусть Немерле останется языком, который придумали польские студенты. Они молодцы.

MA> Поддерживаю. Они не только молодцы — но они поматросили и бросили. Не вижу причин записывать им плюс в карму за счёт чужого труда.

Именно. А трупик Немерле лучше закопать и оставить его в покое.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.