fby
Посетил таки мероприятие элитных функциональщиков http://fby.by/
Достаточно неплохо, правда, под конец я утомился и доклад
xeno_by про Dotty, независимую от компилятора модель языка, метапрограммирование и сохранение AST/метаданных вместе с бинарниками либ слушал в сумеречном состоянии сознания.
Еще не успел послушать целиком
levgem, т.к. был на другом потоке, слушал про F#. Вообще, его доклад полезен тем, что это про законченный большой продающийся продукт, в то время, как другие рассказывали больше про общие фичи языка или про некоторые частные идеи.
Было, в целом, достаточно много скалы и F#, наконец-то я посмотрел на новые F# с провайдерами типов (я до сих пор по причине использования 2010 студии сижу на 2.0 версии).
tonsky рассказывал про критерии полезности языков программирования в целом. Упомянул недостаток clojure - слабую масштабируемость разработки, все-таки это язык для мелких команд вплоть до одного человека.
Еще меня очень пугает популярность шизофренистических тест-фреймворков для скалы и F#, где тест-кейсы пишутся в виде псевдо-английских фраз.
В целом, что немного напрягает - сильный разнобой в функциональных языках и нет явно видимого фаворита - во всех языках реализуются/портируются друг от друга похожие фичи, поддержка инструментов, насколько я понял, на данный момент лучше всего в F# - там на конференции прямо в vs всякие приколы типа "запустим тайп-провайдер и в репле получаем его структуру" демонстрировали, метапрограммирование живое в скале с кложей, асинхронность хорошо в хаскеле с эрлангами
По моему, не хватает доклада на тему "как показать преимущества от функциональщины менеджерам-заказчикам-коллегам" или что-нибудь на тему "как выжить программистам в условиях, когда важны продажи, а не технологии".
PS: Кстати, главное что мне понравилось на конференции: сэндвичи с мясом и травой, в чем-то вроде лавашей.
Я первый раз присутствую на мероприятии, где дают нормальную еду для мозга, т.е. мясо, трава и чай/кофе, а не только сладости и печенье. Впрочем, чай я с собой в термосе притащил, т.к. предпочитаю пить достаточно крепкий зеленый с добавкой эхинацеи :)
Достаточно неплохо, правда, под конец я утомился и доклад
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Еще не успел послушать целиком
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Было, в целом, достаточно много скалы и F#, наконец-то я посмотрел на новые F# с провайдерами типов (я до сих пор по причине использования 2010 студии сижу на 2.0 версии).
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Еще меня очень пугает популярность шизофренистических тест-фреймворков для скалы и F#, где тест-кейсы пишутся в виде псевдо-английских фраз.
В целом, что немного напрягает - сильный разнобой в функциональных языках и нет явно видимого фаворита - во всех языках реализуются/портируются друг от друга похожие фичи, поддержка инструментов, насколько я понял, на данный момент лучше всего в F# - там на конференции прямо в vs всякие приколы типа "запустим тайп-провайдер и в репле получаем его структуру" демонстрировали, метапрограммирование живое в скале с кложей, асинхронность хорошо в хаскеле с эрлангами
По моему, не хватает доклада на тему "как показать преимущества от функциональщины менеджерам-заказчикам-коллегам" или что-нибудь на тему "как выжить программистам в условиях, когда важны продажи, а не технологии".
PS: Кстати, главное что мне понравилось на конференции: сэндвичи с мясом и травой, в чем-то вроде лавашей.
Я первый раз присутствую на мероприятии, где дают нормальную еду для мозга, т.е. мясо, трава и чай/кофе, а не только сладости и печенье. Впрочем, чай я с собой в термосе притащил, т.к. предпочитаю пить достаточно крепкий зеленый с добавкой эхинацеи :)
no subject
А можно раскрыть тему для не видевших clojure в продакшне?
no subject
1) Проверка типов в рантайме. Я неоднократно обращался к integer как массиву или мапу, тупо поставив лишнюю пару скобок, с дикими стектрейсами. Я это вижу глазами и чиню, обучить других тому, что я чую спинным мозгом - невозможно. Я пытался обучить людей ставить логи во все углы для отладки - всем до сраки, "неудобно".
2) Мощность языка. Я за день могу наворотить в проекте такого, что коллеги будут неделю разбираться. В других языках получается изолировать мое творчество в ядре системы и выдать коллегам относительно внятный API+интеллисенс в студиях. В кложуре - извините, хуйс, надо писать документацию и примеры, причем лучше до того как писать код. А мне за удобство для коллег не доплачивают, мне бы свою работу успеть сделать.
Т.е. в кложури нет моральных ограничений или best practices которые позволили бы одновременно работать эффективно мне и при этом не делать код непонятным другим.
no subject
2) Часткова згодны, але за код зусім без дакумэнтацыі і прыкладаў, незалежна ад мовы, зноў такі, трэба біць нагамі. Ужо прабачце, рэбэ. )
Што да clojure, я на яе паглядваю як на мову для аднаго праекта. Мне цікава, якія рэбэ можа назваць годныя альтэрнатывы clojure/clojurescript для ўэба?
(no subject)
no subject
хм, а в нефункциональных разве есть?
no subject
no subject
Ничего. Скоро выберут самый-самый плохой и сделают главным.
"как выжить программистам в условиях, когда важны продажи, а не технологии".
:-D
no subject
Надо просить
В смысле, ударится в продажи с концами, чтобы технологические прорывы вопреки делались.
Впрочем, если микрософт продвинет дотнет на линуксы, фаворитами будет C# и F# и это очень неплохой варинат.
no subject
no subject
И это будет F# -- хуже не придумаешь...
no subject
Заодно выяснятся классы задач, где имеет смысл подумать о декларативных языках.
В принципе, с этого вообще надо начинать.
GUI или имитационное моделирование на функциональщине - это какой-то нонсенс.
no subject
Насчет имитационного ничего не могу сказать, не знаю, чо там такого особенного.
no subject
В имитационном моделировании объекты живут своей жизнью и обмениваются сообщениями. Симула-67 - ООП в полный рост, хотя уже был Лисп.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
xaml + WPF круче, проще и мощнее всего, что есть под JVM неважно для какого ЯП. Я щас вообще не приемлю другого подхода к гуям, кроме декларативного xaml или html5/css3
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
А те, кто осилил кложурь, давно забыли что существует какое-то там дельфи.
Редкие исключения типа автора этого жж не выступают на публике в принципе ))
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
ООП-подход к UI - не скейлится (как и всё ООП). Сложность растёт экспоненциально от количества полей и кнопок на форме, и количества cross-cutting фич типа валидации, undo, optimistic concurrency, и подобного.
Частично проблемы пока решаются метапрограммированием (который в ФП обычно лучше), датабиндингом (который кастрированные линзы/FRP), и всякими MVVM (которые про то что стейт UI надо держать отдельно и желательно immutable).
Короче из UI осталось выкинуть оставшуюся половину императивщины и ООП, и будет все хорошо.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
У кложи - удобность для задач, где с типами херово, например белорусской налоговой и статистической отчетности, которую придумывают люди, плохо ударенные на голову Excel. Там в каждой ячейке документа может быть строка, число, фаза луны, функция, рассчитывающая пол будущего ребенка бухгалтера или заклинание вызова ктулху. Кроме того, там есть нормальный репл и интеграция с жабьими либами.
У эрланга - заточенность под кластера, битоебские протоколы и восстановление при ошибках.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
Как мне не нравиться Scala, но она. MS стек без серьезных причин никто брать не будет. У Erlang своя ниша и ему там хорошо. Haskell для общего развития и в продакшен тянуть - безумие. Остается JVM. Clojure слишком динамическая и там скобочки. Вот методом исключения остается Scala. Тем более хайп вокруг нее сформировал не плохое комьюнити, есть уже много интересных фреймворков, типа того же play, akka.
no subject
Кроме того, sbt не работает, maven - содомия, idea плагины не работают, eclipse - грех.
Язык, в котором надо несколько дней заниматься настройкой инструментов, негуманен. Хотя для любителей БДСМ, которыми переполнено IT наверно нормально :)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
так в F# те же парадигмы и опции - Microsoft.FSharp.Control.MailboxProcessor с агентами.
no subject
Интересно, как коррелируют интернет, участники живых конференций и активные проекты.
no subject
мы в этом посте наблюдаем ритуальное самоубийство путем разгрызения коллегами, или действительно
"рэп больше не кал"?(епт, капча "Outlook good". Это знакъ)
no subject
(no subject)
(no subject)
no subject
Есть менеджеры, которые не идеально понимают рабочую область и хоть бы треть знали что сделано уже, но при этом выдают задания.
Есть программисты, которые не будут писать сложных тестов, потому что они сами не понимают как всё работает.
Есть один CTO, который чтоб заставить людей писать тесты ввёл метрику Code Coverage.
Это поделие в трехсот проектах на .Net (из них 150 в одном солюшене) и с сотней программистов катится в ад.
Есть регулирующий орган который спрашивает - а понимаете ли вы как всё работает, а понимают ли разработчики правильно менеджеров. Все кивают головой.
И тут регулятор задаёт такой детский вопрос, а как вы докажете.
Вот тут-то и появляются тесты написанные человеческим языком, в которых смогут разобраться менеджеры. И теоретически менеджеры верхних порядков должны проверять описание в этих тестах перед каждым релизом.