Здравствуйте, VladD2, Вы писали:
VD>Записал пробный ролик.
Звук — ужасный, будто в ведро диктовал.
VD> Критика приветствуется.
эээ... да как бы и нечего критиковать, ибо (из ролика) либо всё слишком просто, либо вообще ничё непонятно.
Мне кажется, простой текстовый материал был бы куда полезнее. Видео — там, где нужна динамика, а тут надо вдумчиво читать.
Влад, знаю, что повторяюсь, но Нитра — это всемогутер, который никому не нужен. Как СССР-ный набор "юный конструктор" при починке утюга. Людям (ну вот мне, например
) нужен ЯЗЫК. Вот чтоб взять и сразу строчить. И расширять. Нитра — это решение в стиле M$ — "с большим опозданием и слишком абстрактно". Мне кажется, перепиленный Немерля (с "правильной" архитектурой) был бы куда реалистичнее и по времени, и по трудоёмкости. Ну и по простоте.
Даже вот взять, казалось бы, "простейший компилятор" Мини-Си (
http://rsdn.org/article/nitra/MiniC/Nitra-Mini-C.xmlАвтор(ы): Чистяков Владислав Юрьевич
Дата: 07.03.2017
В статье описывается реализация компилятора языка программирования Mini C на базе Nitra (под платформу .Net). Mini C — это упрощенная версия языка C. В статье описывается все этапы реализации языка от создания парсера, до генерации MSIL. И сам язык и данное описание созданы для демонстрации того как разрабатывать языки программирования на Nitra. Nitra — это средство разрабоки ЯП (language workbench). Nitra можно использовать для создания языков программирования с расширяемыми синтаксисом и семантикой, а так же языков предметной области (DSL).
) — ещё в начале как-то ориентируешься — дерево разбора, АСТ... (хотя и с описанием дерева разбора куча неясностей). А дальше — ад, Израиль и зависимые свойства!
Чем дальше ты пишешь, тем глубже зарываешься в дебри, которых бы не было, если бы не пришлось строить всемогутер. Конструктор — это всегда сложно. Конкретный язык — куда проще.
Все эти детали, множ.наследование, параметризованные отображения... верю, что после часа объяснений и поллитры, я смогу
приблизиться к пониманию всего этого комбайна, но даже сам автор рискует утонуть в деталях, если замахивается на слишком многое.
Не знаю, критика получилась или что, но "вовремя остановиться" — тоже надо иметь мудрость. Гиперконструктор — он сначала кажется "почти похожим" на обычный компилятор, а потом пошло-поехало: тонны абстракций, хардкодинга, костылей, "небольших упрощений", там прикрутил — здесь пришлось переписывать, и так вплоть до полного закапывания в деталях и выгорания. Дирижабль должен быть красивый и простой — тогда он полетит. И даже без спонсоров.
Да, и завязку на VS я бы тоже не торопился точить — трата времени на очередные высосанные абстракции, где кастомный код оказывается в 10 раз больше положенного. Нерентабельно.
Ладно, кончаю — страшно перечесть. Надеюсь на твоё благоразумие и разумную трату сил в правильном направлении.