Hacker News Digest

13 августа 2025 г. в 18:05 • xvw.lol • ⭐ 362 • 💬 254

OriginalHN

OCaml as my primary language

Почему я выбрал OCaml как основной язык

С 2012 года OCaml стал моим главным инструментом для личных и профессиональных задач. Меня даже дружески называют «евангелистом OCaml» — звание, которым я горжусь. Несмотря на стереотипы, язык активно применяют Meta, Microsoft, Bloomberg, Jane Street, Tezos и многие другие.

Язык

  • Статическая типизация без боли: компилятор выводит типы и не даёт ошибиться.
  • Мультипарадигменность: функциональный стиль, ОО, императивные вставки.
  • Алгебраические типы и pattern-matching делают моделирование данных естественным.
  • Мощная модульная система позволяет собирать большие проекты без головной боли.
  • Внедрение зависимостей через модули или эффекты без runtime-фреймворков.
  • Будущее: multicore уже в релизе, эффекты, производительность растёт.

Недостатки: малый рынок труда, скромный набор библиотек, синтаксис «не для всех».

Экосистема

  • Компилятор генерирует быстрый нативный код, есть JavaScript (js_of_ocaml) и MirageOS (уникальная unikernel-платформа).
  • OPAM — удобный менеджер пакетов.
  • Dune — современная сборка на S-expr; внутри реализованы Selective Applicative Functors.
  • Merlin + LSP = IDE-фичи в VS Code, Vim, Emacs.
  • Odoc генерирует документацию из кода.
  • Библиотеки: Core, Lwt, Async, Irmin, Dream — покрывают большинство задач.

Сообщество

Компактное, дружелюбное, сильно ориентировано на open source. Конференции ICFP, OCaml Workshop, обсуждения в Discord и Discuss.

Мифы

  • OCaml ≠ F#: разные экосистемы, рантаймы, цели.
  • Операторы +. и +. — не проблема, есть ppx-решения.
  • Разделение .ml/.mli не обязательно: интерфейсы можно описать прямо в .ml.

Итог

OCaml — это прагматичный выбор, когда не нужен ручной контроль памяти как в Rust. Он даёт скорость разработки, надёжность и удовольствие от кода.