Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Хочу разобраться. Дело в том, что в соседних темах агитируют за Rust. В чём, собственно, разница?
Как всегда — в диагнозе. "Растаманы" — это неизлечимо. Топить за помоечный язык, состоящий из костылей — ну такое себе садо-мазо...
Нельзя за счёт программиста решать проблемы технического характера. Это как в авто — вместо руля будет рычаг, с которым надо выбегать наружу, проворачивать колесо, садиться обратно и ехать. Вот именно так "Раст" решил "проблемы с памятью". Ну не идиоты??
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>прошло более 10 лет и у меня вопрос: как идут дела? Оказались ли верны рассуждения, и если они были не верны, то в чём?
На мой взгляд, ребята порвали ширинку, прыгая через несколько ступенек. Причём прыгая с весьма ветхой базы.
Немерля — прекрасен! Именно поэтому сразу привлёк море внимания. Но...
Компилятор там из говна и палок — всё же в студенчестве сделать сразу правильно — непосильная задача ДАЖЕ если твой руководитель проекта будет в затылок дышать. Решаем: Честно бросаем все наработки и аккуратно пишем новую базу. И только после написания скелета, добавляем полезный код из "старого" Немерле. Никто на это так и не решился, хотя лет прошло немало и ВСЕ были согласны, что в текущем виде компилятор будет только тянуть назад.
Есть шероховатости с синтакисом, которые можно принять ЕСЛИ ты погрузился в Немерлю и явно хочешь рыть направление. А как быть с новичками? Посмотрит он на кривой синтаксис, пожмёт плечами и уйдёт. Решаем: Устраняем костыли, голосуем, смотрим на удобство, эстетику, задействуем юникод, делаем всё красиво. Тем более, что в целом 90% синтаксиса сделано как надо.
Не надо прыгать во вселенские всемогутеры а-ля Нитра. "Людям не нужны дюймовые свёрла — людям нужны дюймовые дыры!". Переписывать надо Немерлю, а не кроить конструкторы конструкторов для конструкторов. Эй, мы тут опердни пишем, нам нет дела до гипермакросов!
VS — известное говно. Переусложнённое, громадное, чёрт ногу сломит в кишках, никто вообще не понимает зависимостей. Интеграция в это "чудо мелкомягкой мысли" — стратегическая ошибка. Решаем: Пишем свою IDE, с блэкджеком и подсказками. Пусть будет простенько, но надёжно как топор. ВСЁ, что тебе надо от среды — управление проектами, подсветка, интеллисенс. Даже дизайнер форм (поначалу) не так важен, как надёжный редактор с вразумительными подсказками. Расширить такой редактор куда проще и надёжнее, чем бегать вокруг мелкомягких "интерфейсов" (COM-объекты, прикинь эту плесень!) и пытаться скроить среду из ограниченных вызовов.
"Делай это просто, но не проще, чем необходимо". Сейчас проект Немерли — это громадная куча хрен знает чего, да ещё зависящая от VS, версии .NET и какого-то дурацкого WiX. Решаем: Разбиваем всё на независимые модули, чтобы каждый чайник мог зайти в отдельный каталог и собрать себе хоть редактор, хоть анализатор, буквально одним вызовом MSBuild. Или BAT. Или вообще руками и csc. ВСЁ ДОЛЖНО БЫТЬ ПОНЯТНО и расписано в доках. Когда я лично собирал немерлю, там вообще хрен знает что! Ну вот есть у меня немерля.EXE — куда мне её совать?? Как собрать интеграцию с ГОТОВЫМИ либами? Ничего нет, просто батники и мириады строк в логах — "Ну очень интересно!". Запомните: лучший инсталлятор — это ZIP. Максимум — 10-строчный "пост-инсталляционный" батник для доп.сетапа. Всё.
Каждый из этих фэйлов — лишняя палка в колёса новичков (вы же только раскручиваетесь, пощадите леммингов!). Именно СЛОЖНОСТЬ, сверхсвязность — враг тех, кто погружается в язык. Я могу что-то пофиксить, если это ПРОСТОЙ ПРОЕКТ, простые зависимости, никаких "генераторов сборщиков" и классические инструменты. А если для фикса чужой ошибки мне надо вникать в дебри проекта и как сапёр дёргать за верёвочки в надежде, что не убьёт, его проще бросить.
Как-то так, думаю. Это всё мнение с моей лично стороны (пишу на C# с 2002). Сам C# хоть и тянут в сторону прогресса, но MS ограничен в своих действиях. Улучшения C# постоянно натыкаются то на идеологические проблемы, то на совместимость (с кем?! с самим собой?? Невелика беда, D это не помешало!), то на "Сложнааа!"... короче, кто смотрел всхЛипперта, тот отчаявшись понимает, что ИДЕАЛЬНОГО C# ему не видать. ИМЕННО ПОЭТОМУ Немерля — как луч света в мелкотёмном царстве индусячих макак и имеет все шансы на взлёт.
Да, проект двигают (или примыкают к нему) "светлые умы", но таких — единицы. А популярным вы его хотите сделать У ВСЕХ! Ну так значит и сам проект должен быть простым для масс! Помните первые шаги Жабы? Всего-то и было, что компилятор, да браузер! (апплеты писали типа "nervous text" гыгыгы ) И ничё — на квадратных колёсах, на хромой лошади, а вылезли!
Ладно, и так уже много написал, но мысль понятна. Можем подискутировать по каждому пункту, если интересно.
Здравствуйте, Эйнсток Файр, Вы писали:
K>> Топить за помоечный язык, состоящий из костылей
ЭФ>Но это самые хорошо спроектированные костыли из имеющихся.
Сразу видно мнение "профессионалов", не написавших на Расте НИ СТРОЧКИ. Сиди уже, "хорошо спректированные"!
Здравствуйте, Эйнсток Файр, Вы писали:
PUX>>Че??? еду закидываешь?)
ЭФ>Хочу разобраться. Дело в том, что в соседних темах агитируют за Rust. В чём, собственно, разница?
Здравствуйте, Kolesiki, Вы писали:
K>Компилятор там из говна и палок — всё же в студенчестве сделать сразу правильно — непосильная задача ДАЖЕ если твой руководитель проекта будет в затылок дышать.
А про Ди говорят что там до сих пор GC с полной остановкой работает. не знаю есть ли сравнения производительности с тем же дотнетовским сборщиком.
Инфв из комментов https://habr.com/ru/post/471950/
Т.е. по сути решаемость задач типа WPF без XAML уже есть и работает в куче ЯП основанных на выражениях и "удобствах" (забыл английский термин).
Вот в качестве примера: https://saturnframework.org/explanations/view.html
Генерация html как функция. никакиъ DSL сам синтаксис изначально заточен под человекочитаемость.
Конечно это круто для программирования но не круто для скорости. И тут в бой идут одни старики.
Задача же нитры действительно очень размыта.
Здравствуйте, Kolesiki, Вы писали:
K>Сразу видно мнение "профессионалов", не написавших на Расте НИ СТРОЧКИ. Сиди уже, "хорошо спректированные"!
Ну это уже просто смешно. Вот я на расте пишу пятый год (на работе за деньги, ага). И что теперь? Это ведь всё равно никак не повлияет на твоё мнение. Сам-то раст хоть издалека видел или "Рабинович напел"?
Или вот пишешь ты на C# и воспринимаешь сборщик мусора как благо, а можно завести такую же (тупую) песню про "рычаг вместо руля", который лишает программиста контроля. Или это другое?
Если что, я не считаю GC злом, это полезный инструмент. Языки высокого уровня (особенно по сравнению с ассемблером) добавляют свои ограничения, но взамен дают удобство и безопасность.
Не люблю апеллировать к авторитету, но гугл, амазон, майкрософт и фейсбук присоединились к Rust Foundation из глупости, да? Особенно гугл и майкрософт у которых есть опыт создания своих языков. Впрочем, адекватного ответа не жду.
Здравствуйте, DarkEld3r, Вы писали:
DE>Здравствуйте, Kolesiki, Вы писали:
DE>Не люблю апеллировать к авторитету, но гугл, амазон, майкрософт и фейсбук присоединились к Rust Foundation из глупости, да? Особенно гугл и майкрософт у которых есть опыт создания своих языков. Впрочем, адекватного ответа не жду.
Есть логика, но есть также другое объяснение: неограниченность ресурсов позволяет им заниматься экспериментами.
Билл Гейтс например, так борется со скучной жизнью пенса https://www.kommersant.ru/doc/1211254
Здравствуйте, varenikAA, Вы писали:
AA>Есть логика, но есть также другое объяснение: неограниченность ресурсов позволяет им заниматься экспериментами.
Разумеется. Но эксперименты — это не просто вбросить денег в случайную технологию или язык. У экспериментов есть цель и результаты. В контексте раста — можно предположить, что язык позволит допускать меньше уязвимостей в околосистемном коде. Если эксперимент окажется удачным, то мы сможем наблюдать это по увеличению вовлечённости того же гугла и возросшему числу вакансий. Если нет — гугл перестанет спонсировать разработку языка. Поживём — увидим.
Здравствуйте, Эйнсток Файр, Вы писали:
PUX>>Че??? еду закидываешь?)
ЭФ>Хочу разобраться. Дело в том, что в соседних темах агитируют за Rust. В чём, собственно, разница?
Кстати, обнаружил вчера что irdis 2 реализован на Racket ЯП для разработки других ЯП. Комунити у них чуть больще чем у немерла/нитры.
Здравствуйте, varenikAA, Вы писали:
AA>Кстати, обнаружил вчера что irdis 2 реализован на Racket ЯП для разработки других ЯП. Комунити у них чуть больще чем у немерла/нитры.
Idris 95.0%
C 3.2%
Scheme 0.6%
Racket 0.3%
Makefile 0.3%
Nix 0.2%
Other 0.4%
Я куда-то не туда смотрю или чего-то не понимаю? Статистика отсюда. Ну и помню новость о том, что Idris2 "self-hosted".
Здравствуйте, DarkEld3r, Вы писали:
DE>Я куда-то не туда смотрю или чего-то не понимаю? Статистика отсюда. Ну и помню новость о том, что Idris2 "self-hosted".
Здравствуйте, varenikAA, Вы писали:
AA>Тут сказано используйте схему для сборки идрис2 или можете пойти жестким путем через бутстрапиннг. AA>по умолчанию правда не ракет, а чес-схем.
Там забавные вещи пишут:
> This includes Scheme source as generated by Idris
Получается, что не Racket (который позиционируют как "Language-Oriented Programming Language") используется для генерации кода, а наоборот: идрисом генерят код на схеме?..
Здравствуйте, Kolesiki, Вы писали:
K>На мой взгляд, ребята порвали ширинку, прыгая через несколько ступенек. Причём прыгая с весьма ветхой базы.
После перехода под крыло JB там ещё наблюдался и явный разрыв с реальностью. Ребята полетели в далёкие дали, далеко впереди паровоза и не заметили как то ли они не туда свернули, то ли паровоз свернул и скрылся из вида. А они остались нафик никому не нужны. Все уехали на паровозе.
Если нам не помогут, то мы тоже никого не пощадим.