TGViewer
Монада Кедавра Монада Кедавра @monada_kedavra · 1.55K subscribers
Post #199 5.25K
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 и активно агитирует других уделять этому больше внимания. Респект
GitHub GitHub - dmtrKovalenko/subtitler: Free on-device web app for audio transcribing and rendering subtitles Free on-device web app for audio transcribing and rendering subtitles - dmtrKovalenko/subtitler
  • 🔥 40
  • ❤ 11
  • 👍 5
More from @monada_kedavra
  1. Oct 27, 2024Things you should never do Создатели Arc Browser смачно кинули всех пользователей и фактич…
  2. Oct 8, 2024Архипелаг проблем Недавно Великобритания отдала маленький атолл Чагос посреди Индийского о…
  3. Sep 18, 2024Мы не можем использовать термин JavaScript. И это хорошо Недавно попалась на глаза петиция…
  4. Jun 21, 2024Блокировка cookies замедляет веб, к радости Google Многие наверняка уже слышали о скорой в…
  5. Jun 20, 2024Абсолютное безумие: roblox портировал весь жс стек на lua: react, jest, graphql, apollo, r…
  6. May 30, 2024Кыргызы против Intl.NumberFormat Когда лучшее враг хорошего. Недавно к нам в команду web p…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →