Pull to refresh
0
0
Send message

Спасибо за статью, интересно. Только возникает один вопрос: а почему развитию выделено так мало времени? 10% хватит чтобы быть на гребне волны в столь быстро меняющейся сфере как IT?

А как же умные и трудолюбивые, у которых выделено время на чтение хабра в статье развитие? ;)

Выглядит очень интересно, давно думаю попробовать. Сейчас, наверное, всё-таки займусь.
Да тут вроде разговор, что не GIL'ом единым и транзакционной памятью можно решить проблему многопоточности в приложениях. Как пример – BEAM.
А elixir тут как пример альтернативного языка для BEAM.
GIL на то и GIL чтобы блокировать, без транзакционной памяти этот вопрос не обойти

Это изначальный постулат.
В конце концов, никто не запрещает разработать другой язык под BEAM, где будут изменяемые переменные и array

Такой язык уже есть, elixir.
А смысл?
Запас энергии намного меньше чем у пневматики (PCP или баллонной), и восстановить её в поле не получится (в отличие от «переломок»), масса сравнима, а надёжность у пневматики скорее всего будет выше. Плюс для приемлимой кучности пулю нужно будет закрутить, а как тут это сделать не очень понятно.
Профит в том, что сразу и наглядно видна общая картина алгоритмов, и это не исключает умение определять сложность на глаз.
Спасибо. Простая и полезная статья!
Тогда может удобнее было бы попробовать сделать через rebar escriptize, и собрать один бинарник, в котором будет cowboy, sync и cowboyd? Его можно будет либо класть в /usr/bin, либо в корень проекта. И не нужно будет тянуть никаких зависимостей.
Довольно неоднозначно.
С одной стороны – да, возможно такой проект в случае вэб разработки может быть полезен.
С другой же, в любом случае нужно делать скелет проекта (через шаблоны ребара, либо ручками) и дописать в шаблон лишние 20 строчек не такая уж проблема. Зато будет сильно проще и потом можно будет сделать reltool сборку.
Ну ок, понятие удобности очень субъективно, не хочу тут спорить.
Думал, может есть ещё какие-нибудь причины.
Хочу лишь сказать, что большинстве функциональных языков (хаскель, окамль, лисп) объект изменения обычно идет последним аргументом и думаю, это не зря. Поэтому факт того, что в элексире сделали наоборот очень смутил и лично меня оттолкнул.
Я вижу, Вы неплохо знакомы с эликсиром и наверное сможете ответить на мой вопрос.
После беглого изучения меня в ступор ввёл один факт, почему в стандартно библиотеке все вызовы функций привели к стандартному виду, что объект изменения (список, рекорд или другой контейнер) находится на первом месте? Это же очевидно неудобно при написании кода, и обычно делают наоборот.
Например, я совершенно не понимаю как писать List.foldl([5,5], 10, fn (x, acc) -> x + acc end)
Вроде была разработка ММО на вселенной КР, этот проект ещё жив, скоро ли его ждать, и есть ли какие-нибудь подробности?
Ну в случае с php можно делать на php daemon, но вообще erlang для этой задачи подходит лучше всего ;-)
10-15 к на среднестатическом сервер (2.3  xeon, 4gb ram) можно выдержать другой схемой.
Каждая комманда посылается на сервер, который в свою очередь держит в памяти состояние пользователя и при запросе клиента валидирвует запрос и производит транзакцию (в памяти). И когда пользователь выходит, либо когда совершаются действия с золотом(реалом), состояние дампится в базу.
Интересная статья, спасибо.
Ещё некоторые интересные момент в R16:
  • выпилили параметризированные модули, и сделали отдельный parse_transform для них;
  • починили wxWidgets на MacOsX;
  • сделали поддержку юникода в исходниках.

А так по большей части в релизе внутренние переработки и оптимизации, и более понятный список изменений в рассылке erlang.org/pipermail/erlang-questions/2013-February/072592.html
Всё, больше у нексуса не будет амолед матрицы…
О бедный котик, его тоже заминусовали!
Как же можно с ним так?!
Хорошая статья, но с одним не соглашусь, что нужно перед тимлидом молчать если с ним не согласен. Тимлид тоже человек, ему свойственно ошибаться, и как раз такое прямое выражение своих мыслей очень способствует наставлению на путь истинный. Но, разумеется, тут нужно знать меру и не начинать спорить и давать выход эмоциям, т.к. это приведет к конфликту.
Если люди в команде будут молчать, то качество системы не превысит уровня лида, а если будут влиять на разработку, то превысит.
Это все из личного опыта, граблей и шишек.

Information

Rating
Does not participate
Registered
Activity