Привет, космонавты! Сегодня получился довольно-таки хардкорный выпуск, потому что мы обсуждали функциональное программирование в 2017 году: предпосылки, применение, а также возможности реализации в JavaScript. Еще поговорили про будущее фронт-енд разработки, снова затронули «синдром самозванца» и решили как с этим жить. Кроме этого получилось много интересных статей в научпопе, поэтому скорее устраивайтесь поудобнее и смотрите подкаст!
Тему к следующему выпуску предлагайте здесь: Тему к подкасту #130.
#«Первая тема»
#«Дизайн»
#«Разработка»
Все самые лучшие функциональные алгоритмы можно отрабатывать на SmartApe!- Крис Койер про будущее фронт-енд разработки.
- Майнинг истерия.
- Биткоин для чайников.
- Что такое блокчейн.
- Я правда разработчик или просто хорошо гуглю.
«Научпоп»
- В чем разница между искусственным интеллектом, машинным обучением и глубоким обучением.
- Межзвездный роуминг.
- Сеанс тёплой ламповой «магии» с разоблачением.
- Правда ли, что мир стал более опасным местом для детей, чем был раньше.
- Больше, чем фильм. Как Джордж Лукас придумал «Звездные войны».
- Маск закопался.
С темами к выпуску можно ознакомиться по ссылке: Темы к подкасту #129.
Спасибо всем, кто так или иначе принял участие, и дай вам Бог на эти коротенькие семь дней.
nibeon прокомментировал
Про функциональщину:
1) Язык Elixir, насколько знаю, потихоньку набирает обороты. У него есть веб-фреймворк, который называется Phienix, который очень многое позаимствовал из Ruby on Rails. Да и один из разработчиков Phoenix’а — один из разработчиков RoR. Да и синтаксис самого Elixir’a во многом похож на Ruby.
По поводу Elixir’а и Phoenix уже в 2015 году была статейка (точнее перевод) — https://habrahabr.ru/post/269477/ .
И даже есть юзер-группа по эликсиру в москве — http://elixir-lang.moscow/ . Так, что думаю, что за эликсиром будущее таки есть)
2) OCaml. Очень старый язык. появился чуть ли не в 1970-е. По сути «папа» F# (который по википедии является диалектом окамла).
В последнее время активно юзается фейсбуком, насколько знаю. Например, в фейсбуке пилят Reason ( https://facebook.github.io/reason/ ) и Flow ( https://flow.org/ ).
Также появился очередной язык, компилируемый в JS — BackleScript ( http://bloomberg.github.io/bucklescript/ ). Ну и язык Haxe, который может компилировать в несколько языков (в т.ч. и в js, и в php).
3) F#. На нем написаны Fable, WebSharper, FunScript и наверное что-то еще (я касаюсь только веб-разработки).
4) Erlang. Язык на котором написан уже упомянутый Elixir. Тоже один из старейших ФП-языков. Изначально юзался в телефонии. Сейчас есть несколько написанных на эрланге веб-серверов (Cowboy, YAWS, и нек. др.), веб-фреймворков (N2O, Nitrogen, Chicago Boss, Zotonic) и СУБД (самые известные: Riak, CouchDB и Mnesia).
5. Haskell. На нем написаны языки Elm, PureScript и нек. др. (Idris, например). Есть веб-фреймворки, например, Yesod, Snap, Scotty, а также генератор сайтов Hakyll.
Ну и конечно же, Elm и ClojureScript, которые, по-моему, вполне набирают обороты (пусть они сейчас не так популярны, как TypeScript, но думаю они уже популярнее CoffeeScript’a или Dart’а).
Александр Гончаров прокомментировал
А какие практические алгоритмы на этих языках круче классических? Чтобы прикладность понимать максимально.
nibeon прокомментировал
Я тут просто привел примеры прикладного софта, написанного на наиболее известных функциональных языках.
Ну и я не настолько хорошо разбираюсь в функциональщине (ибо см. ниже ), чтобы говорить, например, что «такой-то алгоритм Elixir’a лучше такого-то аналогичного алгоритма Ruby».
Но если как пример с эликсиром и руби, то вот статейка-сравнение этих двух языков (точнее их флагманских фреймворков) — https://wunsh.ru/articles/elixir-vs-ruby-phoenix-vs-rails.html
* сам только недавно решил все-таки взять один из перечисленных мной функциональных языков на подробное изучение (какой правда еще не определился окончательно, но вполне возможно, что Elixir), ибо насколько понимаю (исходя из того, что слышу), что функциональные языки все активнее начинают применятся в продакшене. Поэтому, когда изучу мало-мальски выбранный ФП-язык, тогда и смогу сказать, какие практические преимущества алгоритмов этого языка перед, например, пхп вижу лично я.
Александр Гончаров прокомментировал
Спасибо за информацию! Будет интересно услышать отзыв «из первых рук».