М
Монада Кедавра
@monada_kedavra1.6K подп.
5.0Kпросмотров
19 июля 2024 г.
Score: 5.5K
No reason Недавно увидел open source проект Дмитрия Коваленко subtitler, приложение для генерации переводов, привлекло внимание то, что он написан на rescript, необычный стек в последнее время. Rescript — проект с тяжелой судьбой, многие слышали о нем как о ReasonML У ризона был ряд преимуществ — отличная типизация, фантастическая скорость компиляции, лаконичный синтаксис, публичные типы для модулей (позволяют качественнее скрывать абстракции, оч архитектурно), крутейший паттерн матчинг а также доступ к большому ассортименту библиотек для OCaml. Один из важнейших алгоритмов в эффекторе, leftist heap, я смог найти только в пейпере с античным диалектом окамла, закинул его в репл ризона и тем самым скомпилировал в жс Развитию и адопшну технологии сильно помешала череда ребрендингов с мутным статусом, судите сами: • Сначала был Bucklescript как возможность компилировать Ocaml код в javascript • Потом появился ReasonML: более дружелюбный для фронтендеров синтаксис для окамла, они начали работать в паре, но по прежнему были разделены, даже документация была разная, но с обилием кросс-ссылок. И каждая, разумеется, была ущербна по своему • Потом фейсбук как владелец ReasonML потерял интерес к проекту, авторы форкнулись и назвались Rescript OCaml → Bucklescript → ReasonML → Rescript 🫠 Уверен, у них в команде был отдельный специалист по ребрендингу, и работы у него было непочатый край Reason/Bucklescript в свое время позволял использовать все фичи окамла, даже самые странные: классы которыми никто не пользовался, row types, всякие абстрактные эзотерические фичи, всё что угодно. Компилировалось это в сущий ад, объекты становились массивами, инстансы — натуральным байткодом в хэш таблицах и так далее. Учитывая, что ризон подразумевал сохранение результатов компиляции в репозиторий рядом с исходными файлами, работать над проектом быстро становилось некомфортно Сейчас же зашёл в репу subtitler и приятно удивился: синтаксис избавился от окамл вайбов и стал лаконичнее, все скомпилированные файлы хорошо читаемы, всё понятно и приятно, рядом сразу генерируются тайпскрипт типы для интеропа, красота. На секунду представилось альтернативное развитие событий, в котором у тайпскрипта есть весомый конкурент, который подгоняет его по фичам, не давая делать спорные решения. В такой ситуации пользователи всегда выигрывают! А то мы все любим тайпскрипт, и, разумеется, за дело, но всё же я хочу спросить, кто написал четыре миллиона пакетов хелперов? Более того, культурный обмен всегда обогащает обе стороны, никому из нас не нужно писать на окамле, достаточно чтобы разработчики с другим бэкграундом находились рядом. Например в окамле есть нативные эффекты, это могло бы привести людей к интересным мыслям и новым свежим подходам помимо useEffect. Даже жаль, что этого не случилось. Интересно, как бы мы сейчас писали код, если бы ризон не растерял всех пользователей во время бесконечных ребрендингов? Я думаю у нас есть шанс узнать: довольно скоро к нам полноценно заедут люди с новыми языками из WebAssembly, сейчас всех останавливает отсутствие интеропа с DOM API и прочие чисто технические вещи. Уверен, скоро настанут интересные времена 🔥 А само приложение классное, автор сильно заморачивается по ux и активно агитирует других уделять этому больше внимания. Респект
5.0K
просмотров
3304
символов
Нет
эмодзи
Нет
медиа

Другие посты @monada_kedavra

Все посты канала →
No reason Недавно увидел open source проект Дмитрия Коваленк — @monada_kedavra | PostSniper