Ответы пользователя по тегу Erlang
  • Как использовать Mnesia в Cowboy приложении?

    afiskon
    @afiskon
    erlang.org/doc/man/mnesia.html

    1. Путь к базе указывается либо через аргументы командной строки (-mnesia dir) либо в настройках приложения (mnesia_dir). Строго говоря, вам, разработчику, не нужно думать о том, где положит базу конечный пользователь вашего ПО, он сам разберется
    2. Erlang сам позаботиться о запуске приложений в правильном порядке, вы только правильно зависимости пропишите. На самом деле, cowboy и mnesia могут запускаться одновременно, главное чтобы ваше приложение запускалось после них. И аналогично с завершением.

    Хочу напомнить вам, что в одной таблице Mnesia может хранится не более 4 Гб данных. Также ее ОЧЕНЬ нужно уметь готовить, чтобы не копились очереди например и тд. Я уверен на 99.9% что на самом деле Mnesia вам не нужна.
    Ответ написан
    4 комментария
  • Erlang и Scala

    afiskon
    @afiskon
    У нас пишут на Scala и Erlang. Я лично пишу на Erlang, мое мнение об этом языке можете почитать тут. В двух словах, язык не без шероховатостей, но в целом весьма годный.

    Скалу тоже пробовал, но совершенно не проникся. Язык сложный, медленно компилируется, много подпорок (манифесты и тд). Что же касается Akka, то это плохо слизанные акторы Erlang'а. Плохо слизанные, как минимум, потому что актор может упереться в I/O, тем самым заблокировав все акторы, работающие на той же нитке. В Erlang весь I/O происходит через select/poll, поэтому такой проблемы не возникает. Кроме того, Erlang равномерно распределяет процессорное время между акторами, а JVM этого не может, просто потому что она не для этого создавалась.

    В заключение отмечу, что даже наши Scala разработчики плюются от Akka и предпочитают те старые акторы из Scala 2.8.
    Ответ написан