9. Это всё можно делать на Java на C++ на Node.js на прочих перфокартовых технологиях
10. Проблемы общего назначения Платформы общего назначения имеют проблемы, фатальные для описываемой ситуации
11. Проблемы общего назначения Платформы общего назначения имеют проблемы, фатальные для описываемой ситуации
12. Проблемы общего назначения Платформы общего назначения имеют проблемы, фатальные для описываемой ситуации В контексте этих проблем Java от бейсика не отличается
21. Erlang — это круто Вся память разделена на изолированные потоки исполнения
22. Erlang — это круто Вся память разделена на изолированные потоки исполнения Общение происходит через обмен копируемыми сообщениями
23. Erlang — это круто Вся память разделена на изолированные потоки исполнения Общение происходит через обмен копируемыми сообщениями Все данные немутабельны, ссылок нет
24. Erlang — это круто Вся память разделена на изолированные потоки исполнения Общение происходит через обмен копируемыми сообщениями Все данные немутабельны, ссылок нет Эти потоки выглядят как процессы ОС и так же называются — «процессы»
25. Erlang — это круто Спроектирован программистами Ericsson, которые очень хотели спать по ночам
29. Решение проблем Просто и автоматически Данные живут не дольше процесса Отсутствие мутабельности и ссылок снимает проблему их утекания
30. Решение проблем Просто и автоматически Данные живут не дольше процесса Отсутствие мутабельности и ссылок снимает проблему их утекания Ошибки автоматически пишутся в лог и завершают текущий процесс
31. Решение проблем Просто и автоматически Данные живут не дольше процесса Отсутствие мутабельности и ссылок снимает проблему их утекания Ошибки автоматически пишутся в лог и завершают текущий процесс Ресурсы закрываются вместе с процессом
32. Let it crash Программистам платят только за happy path Продавцы продают код, а не обработку ошибок
38. Говорят, Node.js круче Нам не нужны изолированные треды Нам не нужна многопроцессорность из коробки Нам не нужна готовая инфраструктура обработки ошибок Нам не нужна прозрачная сетевая работа Мы выбираем server-side JS, потому что мы знаем JS
39. Evented — шаг назад Evented подход превращает код в спагетти Обработка ошибок в коллбеках ещё сложнее чем try/catch Ни одна указанная проблема не решается Годится для nginx
40. В Erlang и это круче {ok, F} = http_file:open(“http://ya.ru/”), {ok, Bin} = http_file:read(F, 1024)
41. Резюме Классические решения имеют проблемы, вылезающие в продакшне Проблемы дизайна усложняют включение новых программистов Некоторые «модные» технологии ничего нового не привносят
42. Резюме В Erlang дизайн платформы решает указанные проблем Удешевляется поддержка и программирование Растет плотность информации в коде (до 10 раз) Облегчается включение новых программистов