Здравствуйте, IT, Вы писали:
IT>Когда я говорю переписать, то никогда не имею ввиду всё выкинуть и переписать заново. Любой код, даже самый фу, можно творчески переработать и переиспользовать. Любой код состоит из алгоритмов и их компоновки. Вот последнее в N было троечку с минусом, это нужно было полностью переписать. А алгоритмы можно было легко переисользовать.
Вот все с точностью до наоборот. Алгоритмы в Немерле гвоняные. Они были взяты из довольно теоретических книг (и других работ, в том числе Скалы) и переработаны, но без учетов реальных потребности. Ну, а потом я их доводил до ума с помощью лома и какой-то матери. Эффективность получилась так себе. В Нитре я уже задейтвовал более разумные подходы. И ясно как можно переписать немерл, чтобы он был быстрее. Но все это припарки. Для IDEзируемости нужно много чего еще. Нужна инкрементальность редактирования и компиляции. Нужны мощные механизмы расширения синтаксиса и удобные средства генерации кода.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
IT>>Влад и так занимался N практически 24/7
У Влада раздвоение личности — говорит о себе в третьем лице. Привет, рады, что ты вернулся!
VD>Владу надоело заниматься всем одному и для себя
Ну не... у Немерли была куча если не фанатов, то интересующихся точно. И люди взялись БЫ за дело, но проект определённо не самый лучший в плане простоты и декомпозиции. Я как бы особо не виню поляков, но "русская команда" могла бы и реорганизовать проект. Как я писал до этого, Немерл должен быть модульным, чтобы каждую часть можно было отчётливо пощупать руками, сканпелять, чтобы были понятны все зависимости... документация тоже не помешала бы — какой модуль для чего. А в реале ты не сможешь даже сунуть DLL-ки в студию, потому что там WiX, заточка под конкретную студию и т.п. Ну, не самый простой проект для вливания новичков!
Это тот самый случай, когда "некогда точить пилу — пилить надо!" — пока не наточишь, НИКТО не сможет помогать проекту. Не надо забывать — люди приходят в проект вообще практически "нулями", разобраться в таком хламе, как Немерл — нереально даже если ты будешь дышать над ухом и пояснять про каждый символ.
VD>Тем не менее мы перевели компилятор немерла на dlLib, что позволило компилировать им под любую платформу. А вы тут так и занимаетесь сотрясением воздуха.
Влад, извини за вопрос с задних парт, а зачем dnLib'е ModuleContext ? Ведь сборку можно сразу загрузить в ModuleDefMD.
Судя по вопросу, воздух я уже не сотрясаю. Но это на будущее. А пока набросал "скелет" будущей IDE:
Там пока не пахло даже AST, это внутренняя подсветка FCTB. Долгое время заняла архитектура, где "заменяемость" — свойство №1. И то сейчас там пока зачатки. Но идейно среда будет поддерживать плагинность вширь и вглубь.
VD>За это время я с Хадкейом сбацали на Нитре ДСЛ, который по сложности даст фору C#. Нитра уже средство для создания языков. Но нужны не трепачи, а соратники.
...и работающий компилер Немерлы под VS2022
VD>Проекты по созданию таких языков как Немерл и Нитра очень трудоемки
Кто б спорил! Но ты потому и тащил один, что никто попросту не мог влиться в проект. Здесь мало одного интеллекта понимать строение компилера — здесь нужно долго и нудно вникать в физический проект, а даже документацию по нему никто так и не осилил написать.
VD>По факту нужна команда человек из 5-10 и несколько лет фултайм разработки.
Издеваешься? Вообще-то оригинальный Немерл написала кучка студентов. В свободное от дрочки учёбы время — ну то есть не на парах они это делали. И смогли ведь! При том, что они сами только этому учились. А ты, Влад, уже зубр компиляции, другие ребята тоже въехали в тему. Для вас это должно быть легче! (теоретизирую)
Моё мнение осталось прежним — нам нужна СВОЯ среда(IDE) и новая Немерля. Всемогутеры — пусть их пишут яйцеголовые на кафедрах ИТ, а в реале нужен конкретный инструмент — расширяемый компилятор, причём изначально заточенный на известный язык. Не надо прыгать за абстракциями, "синтаксисом на отступах" (за такое сразу в дурку), какими-то космическими расширятелями... Практика Немерли показала, что расширять хотят далеко не все и не всё. Некоторые даже макросы не пишут — тупо хватает стоковой поставки.
Другими словами, фантазии по расширяемости — их надо как-то ограничить до практичных примеров и реализовать Немерлю-2 на грамотной структуре.
K>Моё мнение осталось прежним — нам нужна СВОЯ среда(IDE) и новая Немерля. Всемогутеры — пусть их пишут яйцеголовые на кафедрах ИТ, а в реале нужен конкретный инструмент — расширяемый компилятор, причём изначально заточенный на известный язык. Не надо прыгать за абстракциями, "синтаксисом на отступах" (за такое сразу в дурку), какими-то космическими расширятелями... Практика Немерли показала, что расширять хотят далеко не все и не всё. Некоторые даже макросы не пишут — тупо хватает стоковой поставки.
много букв. а всё-таки. просто да или нет: вам лично немерл нужен?
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Kolesiki, Вы писали:
K>>Моё мнение осталось прежним — нам нужна СВОЯ среда(IDE) и новая Немерля. Всемогутеры — пусть их пишут яйцеголовые на кафедрах ИТ, а в реале нужен конкретный инструмент — расширяемый компилятор, причём изначально заточенный на известный язык. Не надо прыгать за абстракциями, "синтаксисом на отступах" (за такое сразу в дурку), какими-то космическими расширятелями... Практика Немерли показала, что расширять хотят далеко не все и не всё. Некоторые даже макросы не пишут — тупо хватает стоковой поставки.
vaa>много букв. а всё-таки. просто да или нет: вам лично немерл нужен?
Ну б***! Если буквы незнакомые, букварь купи, что ли!
Немерл нужен однозначно. Это я заявляю даже после всех (жалких) попыток M$ поднять C# до современного уровня. А в свете того, что C# 9+ существует только на недоплатформе Core, мы не будем мешать танцорам стоять на собственных яйцах — ещё один плюс в пользу Немерла как языка будущего.
Здравствуйте, Kolesiki, Вы писали:
K>Немерл нужен однозначно.
непонятно только зачем.
вот когда я изучал немерл. было и интересно в макросы и в ФП.
но из-за недостатка квалификации и времени запустить сабж под корку комфортно пока не удалось,
интерес к макросам поутих.
ФП почти что из коробки в сишарпе появилось.
Возьмем rust — это ФП с zero-cost abstractions.
C# выстрелил изначально с технологиями WinForms ADO.Net и interop с C.
Сейчас кончено его еще раскручивают, но он все еще сильно проигрывает java как платформе для прикладных приложений.
Какая киллер фича у сабжа?
Здравствуйте, vaa, Вы писали:
K>>Немерл нужен однозначно. vaa>непонятно только зачем.
Для того же, для чего существует любой ЯОН!
vaa>вот когда я изучал немерл. было и интересно в макросы и в ФП. vaa>но из-за недостатка квалификации и времени запустить сабж под корку комфортно пока не удалось,
Да ссать на эту Корку! Чё вы в неё упёрлись-то?! Неужели не ясно, что это "последняя песня" трупа с транспарантом ".NET team"?
Мелкософт может уже практически сейчас заказывать венки на свой "многоплатфуфуформенный дотнет" — его даже чисто инженерно нереально написать, не говоря о реальном коде, который сейчас пишут жопой макаки.
vaa>интерес к макросам поутих.
Да потому что нигде их не используешь! Весь Немерл — это одна большая куча макросов! Там некогда "утихать".
vaa>C# выстрелил изначально с технологиями WinForms ADO.Net и interop с C. vaa>Сейчас кончено его еще раскручивают, но он все еще сильно проигрывает java как платформе для прикладных приложений.
Ха-ха!! Не, чувак, и ты тоже не кури! Нельзя дедушкам так смияцца
vaa>Какая киллер фича у сабжа?
Ты так и не понял?! Значит ты вообще про Немерл НИЧЕГО не понял. Раскуривай заново.
Здравствуйте, Kolesiki, Вы писали:
K>Для того же, для чего существует любой ЯОН!
Глобально!
K> Чё вы в неё упёрлись-то?! Неужели не ясно, что это "последняя песня" трупа с транспарантом ".NET team"?
Какая там версия сишарпа поддерживается в .Net 4.8, не 7ая ли? C# 10 это уже гораздо более функциональный ЯП. Да и метапрограммирование там уже неплохое.
разве что нет хвостовой рекурсии.
K>Мелкософт может уже практически сейчас заказывать венки на свой "многоплатфуфуформенный дотнет" — его даже чисто инженерно нереально написать, не говоря о реальном коде, который сейчас пишут жопой макаки. https://dotnet.microsoft.com/platform/customers/netcore кончено скоро закапают.
K>Да потому что нигде их не используешь! Весь Немерл — это одна большая куча макросов! Там некогда "утихать".
И поэтому вы свою IDE пишете на шарпе?
K>Ха-ха!! Не, чувак, и ты тоже не кури! Нельзя дедушкам так смияцца
не понял где смеяться. Если бы не WinForms и ADO.Net все бы так и лепили формочки в дельфи. это реальность.
Nemerle мог бы стать хорошей альтернативой т.к. его проще интегрировать в инструменты разработанные под C#.
Но MS выбрали F# для любителей функциональщины. sory.
Здравствуйте, Kolesiki, Вы писали: K>Да ссать на эту Корку! Чё вы в неё упёрлись-то?! Неужели не ясно, что это "последняя песня" трупа с транспарантом ".NET team"? K>Мелкософт может уже практически сейчас заказывать венки на свой "многоплатфуфуформенный дотнет" — его даже чисто инженерно нереально написать, не говоря о реальном коде, который сейчас пишут жопой макаки.
Для облаков как раз нужен "многоплатфуфуформенный дотнет" под линукс. А именно он сейчас является драйвером развития .Net
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, vaa, Вы писали:
vaa>с нуля? сейчас вот вроде бы все пилят LSP и потом плагины к vscode, emacs и т.п. vaa>для редактирования гуя вроде всем хватает горячей перезагрузки.
Суть предложения автора сводится к тому, чтобы все написать круто и с нуля. Компилятор, IDE. То, что попытка это сделать уже есть и она называется Нитра, автора не смутило, NIH.
Здравствуйте, Kolesiki, Вы писали:
K>Сразу видно мнение "профессионалов", не написавших на Расте НИ СТРОЧКИ. Сиди уже, "хорошо спректированные"!
Вапще айтой, мне вася из 9б (а он крутой хакир, винду два раза переустанавливал), сказал, что на езыке раст нильзя нопесать двухсвязный списак. Эта такой атстой что я сам нипанимаю как но етам езыке писать код.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, vaa, Вы писали:
vaa>история с d1 d2 очень показательна. d1 очень быстро набирал популярность, но решение написать d2 все изменило.
Каждая история уникальна. D свою нишу занял, но его обогнали rust и go. Каждый по своему оказался неплох. Согласен с тем, что переписывать ничего не нужно, нужно обновлять кусками. Своя крутая IDE это утопия. А вот без интеграции со студией (пусть и являющейся большой головной болью и обузой для проекта), немерлом бы вообще никто не пользовался.
Если уж делать работу над ошибками, то не нашлось человека, который смог бы сделать хороший сайт с докой и комьюнити. Не нашлось человека, который спланирует разработку и релизы. Зациклились классном коде и на русском комьюнити.
Здравствуйте, Kolesiki, Вы писали:
K>Да ссать на эту Корку! Чё вы в неё упёрлись-то?! Неужели не ясно, что это "последняя песня" трупа с транспарантом ".NET team"? K>Мелкософт может уже практически сейчас заказывать венки на свой "многоплатфуфуформенный дотнет" — его даже чисто инженерно нереально написать, не говоря о реальном коде, который сейчас пишут жопой макаки.
Ты серьёзно хоронишь дотнет и при этом ставишь на немерле?..
Ну я так и не понял, в чем была крутизна Nemerle. Плохая у него PR-составляющая.
У Rust всё совершенно по-другому, он крутой, потому что для безопасности, надёжности и многопоточности.