Комментарии 21
У Elixir есть много шансов стать языком программирования ближайшего десятилетия. Например Elixir благодаря Erlang VM (BEAM) по максимуму будет использовать все ядра вашего железа! Работа с памятью в Elixir тоже устроена на ура! И отказоустойчивость, которой знаменит Erlang, тоже достижима в Elixir.
А ещё я обещал одному HR, что напишу API на Elixir. Обещания нужно исполнять :)
Эрланг — чистый функциональный язык, и не скрывает этого, что накладывает на программиста чрезмерно много требований к его квалификации, Элексир по-проще намного.
На эрланге попрограммируетеПочему вы думаете, что я не программировал на Erlang?
Эрланг — чистый функциональный языкJoe Armstrong (один из создателей Erlang) как-то назвал его «the most object-oriented language». Но бог с ним, с Джо, один черт Erlang — НЕ чисто функциональный язык.
накладывает на программиста чрезмерно много требований к его квалификацииЯ всю свою долгую жизнь думал, что профессия программиста накладывает много требований к квалификации, если это программист, а не манки-копипастер со StackOverflow. И «чрезмерно» тут не бывает, no pain — no gain.
Элексир по-проще намного.
У Erlang достаточно низкий порог вхождения. Впрочем, Elixir это по большому счету даже не язык. Это синтаксический сахар к Erlang. И он не нужен.
Основное отличие Elixir от Erlang — это возможности метапрограммирования в стиле Lisp, ну и более удобный тулинг. Остальное — по сути либо следствия, либо мелочи.
P.S. Мутабельности данных в Elixir нет, есть ребиндинг переменных, но это совсем не то же самое.
Навскидку:
- Более привычный "хипстерам" синтаксис == много новых людей == развитие экосистемы
- Честные utf-8 строки везде
- Консистентная стандартная библиотека
- Нормальный менеджер зависимостей
- Mix
- Достаточно удобное метапрограммирование
Одна из целей, популяризация функционального языка программирования Elixir.
Да, для меня это точно "Hello World" на Elixir.
P. S. А «Hello World!» знатный получился)
Если использовать на сторонних сайтах, то, во-первых, их там всего несколько штук (можно выкачать руками), а во-вторых, будут проблемы с авторским правом. Так что лучше нарисовать свои.
«Hello World» — я не про сложность, а про то, что это на практике никому не нужно.
А про знатность имел ввиду, что труд автора действительно заслуживает внимания, ибо по сути он показал процесс разработки полноценного приложения на Эрланге по сути, плюс он и сам сказал, что это не более чем очередной «Hello World», ибо в разработке пректика играет ключевую роль, поэтому приходится разрабатывать то, что скорее всего сгодится только для оттачивания навыков. Или, как в случае с поделкой автора, она может быть и полезна.
У меня вообще вон валяется CMS уровня Юкоза (реально, без шуток). Да, времена прошли, да, никому не надо, однако если бы я не создавал ее несколько лет, по сути только благодаря ей (и php.net) оттачивая свои навыки — я бы вообще программировать не научился.
Статья отличная, но есть вопросы
- parsers не нужны, потому что есть
Plug.Conn.fetch_query_params/1
- а вот где вы взяли
send_json_resp
— я так и не понял
Спасибо! Да, вот эту практику я и не нашёл https://hexdocs.pm/plug/Plug.Conn.html#fetch_query_params/2.
Что касается send_json_resp/3
, то я его сам написал, находится в контроллерах, выглядит так.
defp send_json_resp(conn, response, status \\ 200) do
put_resp_content_type(conn, "application/json")
|> send_resp(status, response)
end
Расширение API от Vk для стикеров на Elixir