Ошечки

Я хотел бы немножечко больше рассказать об N2O и всем движе вокруг него. N2O — это история, история о создании программного обеспечения, такого от которого не хочется блевать, а хочется каждый день просыпаться и пилить нетленочку. К сожалению не все языки могут предложить такую экосистему, которая подходила бы всем людям, поэтому я считаю, что каждый мастер должен сам создать себе свою экосистему и показать свой способ писания программ. Рик Хикки создал целыйл язык и экосистему, Эрик Мейер создает библиотеки, сначала для Майкрософт, потом для себя http://reactivex.io (которую и мы используем у себя в производстве). Становится понятно, что если вы хотите создать, что-то стоящее оно должно иметь цену и быть лучше аналогов и в других языках. Если же покажется так, что ваша идея или технология не применима в других языках или не имеет в них большого смысла, то возможно ваша библиотека переоценена.

Поэтому экспансия N2O на другие языки должна была состоятся, так как в распространении N2O нужно только понимание, когда приходит понимание устройства N2O и его принципов: минимализма, простоты и практичности; имплементация на других языках появляется сама собой. Если говорить о языках, то давайте рассмотрим следующую (предвзятую) шкалу языков, интересных нам для портирования N2O:

github.com/o1 — Standard ML — https://o1.network
github.com/o29 — Coq
github.com/o3 — Haskell — https://o3.click
github.com/o4 — Agda — https://o4.click
github.com/o53 — Clojure
github.com/o59 — Java
github.com/o61 — C#
github.com/o7 — Elixir — https://o7.network
github.com/synrc — Erlang — https://n2o.dev
github.com/erpuno — Elixir — https://erp.uno
github.com/o83 — Rust — https://o83.github.io/platform.rs
github.com/o89 — Lean

Что предлагает N2O? N2O предлагает спецификацию, которая говорит как строить и масштабировать достаточно сложные системы в рамках референсного аппликейшин сервера имеющего возможность работать поверх разных сетевых протоколов. Мы гарантируем, что эта спецификация подходит и хорошо ложится на все функциональные языки и является конкурентноспособной со всеми ведущими проектами в этой отрасли на каждой из платформ.

Не буду скрывать, некоторые заказчики вообще не понимают о чем мы. Некоторые удивляются даже тому, что мы можем деливерить целые системы и комплексы на Erlang без других языков и правильно боятся пушо они вряд ли найдут на свои низкие Эрланг зарплаты любителей минимализма и зрелой самостоятельности. Так-то, конечно, имея много денег, любой мыслящий сможет построить корпоративную машину и забросать Java и JavaScript позициями.

Эту историю я хочу рассказать начиная со Standard ML, языке, который я считаю незаслужено забытым (что подтверждает отсутствие WebSocket имплементации), и который мы считаем одним из самых красивых языков. На этом языке мы имплементируем бызовый тракт N2O и делаем версию способную работать только поверх TCP, например. Дальше мы берем другой язык, например Coq, и показывваем как написать N2O на прувере с экстрактом в OCaml, т.е. в язык, который почти такой же как предыдущий. Потом мы демонстрируем N2O на Хаскеле и сравниваем его послойно с Yesod, демонстрируя полное превосходвство. И, наконец, переходим к самому немаргинальному и самому нетипизированному Эрлангу (тут всё понятно).

Если вы считаете, что поняли N2O или хотите понять, и хотите написать его на языке которого нет в этом списке, свяжитесь со мной! И, на последок, обновленный агрегатор ошечек, главный сайт N2O ECO:

https://n2o.tech — фреймворк для предприятий не зависящий от языков и технологий.


Дискас: https://github.com/5ht/tonpa.guru/issues/6