Комментарии 29
Какую тему на ваш взгляд сложнее всего объяснить?
Монады однозначно. У каждого в голове они формируют свою собственную абстракцию и аналогии.
Есть такой анекдот — если вы думаете, что вы можете объяснить монады, то вы их не понимаете. Как только вы понимаете монады — вы их уже никогда не объясните другому человеку.
Есть такой анекдот — если вы думаете, что вы можете объяснить монады, то вы их не понимаете. Как только вы понимаете монады — вы их уже никогда не объясните другому человеку.
Где-то тут про «the m word»: infoq.com/presentations/functional-pros-cons
Про монады можно рассказать понятно, просто и весело. Вот пример: www.youtube.com/watch?v=ZhuHCtR3xq8
После просмотра понимаешь что монады это очень нужная вещь в функциональных языках
После просмотра понимаешь что монады это очень нужная вещь в функциональных языках
Объяснить не знаю, но понять мне было сложнее всего Implicits. Разобрался только благодоря примеру реализации классов типов через него.
Правда, я уже хорошо знал C++ и Haskell.
Правда, я уже хорошо знал C++ и Haskell.
Ссылка не та
Прощу прощения.
Вот верная: Functional Programming Principles in Scala
Вот верная: Functional Programming Principles in Scala
У меня такая история. Я Java-man. И не раз уже ставил перед собой задачу ознакомиться со Scala и немного разобраться в ней. Ходил на конференции, пробовал читать, начинал курс на корсеа, но все равно меня немного подташнивало…
Но вот сейчас 1:30 ночи и я уже посмотрел 30 минут первой лекции и понимаю, что я буду смотреть это! Кажется я всё-таки смогу! :-)
Спасибо за лекцию. Дадим еще один шанс Scala вместе!
Но вот сейчас 1:30 ночи и я уже посмотрел 30 минут первой лекции и понимаю, что я буду смотреть это! Кажется я всё-таки смогу! :-)
Спасибо за лекцию. Дадим еще один шанс Scala вместе!
Мыши плакали и кололись, но продолжали жевать кактус…
Scala есть альтернатива в виде Clojure. Не холивара ради, может стоит и на него посмотреть? Или вас тощнит от функциональности?
Я смотрел. Язык приятный, особенно радуют макросы, которые значительно проще, чем в Scala.
Но в Clojure практически отсутствует pattern matching (деструкция его не заменяет), и сложнее интеграция с java-библиотеками. На данный момент Scala практичнее.
Но в Clojure практически отсутствует pattern matching (деструкция его не заменяет), и сложнее интеграция с java-библиотеками. На данный момент Scala практичнее.
Все же «деконструкция», а паттерн матчинг реализован в библиотеке clojure.core.match, хотя обычных средств clojure.core хватает за глаза и за ушли пока что…
в статье перепутаны ссылки на видео.
На 12 -ой минуте второй части, Алекс заявил, что в яве параметры передаются по значению, и явисты в аудитории промолчали)
Оффтопик, извиняюсь, но персонаж с картинки напомнил творчество Gorillaz
Посмотрел пока что 3 часа, появился вопрос, который скорее всего не задавался, ибо этот кусочек уже прошел. Можно ли писать свои классификации (span), где предварительно делаем какие-то модификации с данными?
или это вообще не имеет смысла и span это грубо говоря заготовка для if/else, в которую просто передаем условие? т.е. скажем, что-нибудь типа strlen(_)>3?
ну или же вообще все разворачивается в то самое замыкание, где предварительно работаем с данными, а затем производим классификацию (тогда речь шла о постоянной выборке из базы, момент с подготовкой калькулятора)?
или это вообще не имеет смысла и span это грубо говоря заготовка для if/else, в которую просто передаем условие? т.е. скажем, что-нибудь типа strlen(_)>3?
ну или же вообще все разворачивается в то самое замыкание, где предварительно работаем с данными, а затем производим классификацию (тогда речь шла о постоянной выборке из базы, момент с подготовкой калькулятора)?
Боюсь ответить вам не по теме и ввести в заблуждение, но span просто разбивает коллекцию в нужной «точке» на две части.
Возможно, первая часть вашего вопроса относится ко всем «предикатам» (функциям с условиями). В этом случае вы можете создать функцию отдельно и использовать ее в методах типа filter.
Если вас не затрудник — скопируйте ссылку с привязкой ко времени и переформулируйте вопрос, и мы обсудим его подробней.
Возможно, первая часть вашего вопроса относится ко всем «предикатам» (функциям с условиями). В этом случае вы можете создать функцию отдельно и использовать ее в методах типа filter.
Если вас не затрудник — скопируйте ссылку с привязкой ко времени и переформулируйте вопрос, и мы обсудим его подробней.
На самом деле, кажется я уже понял, что просто нет смысла в том, что я написал, т.к. в итоге так или иначе все сведется к одному условию.
Мой вопрос связан с вот этой репликой — www.youtube.com/watch?feature=player_detailpage&v=-TMVAtlxiEQ#t=2779 и видимо там та самая ошибка, о которой говорится в комментарии к видео, т.е. span сработает до первого false?
в общем я думал, что в posNum будет 1,2,122 а в negNum будут -55 и -33.
Мой вопрос связан с вот этой репликой — www.youtube.com/watch?feature=player_detailpage&v=-TMVAtlxiEQ#t=2779 и видимо там та самая ошибка, о которой говорится в комментарии к видео, т.е. span сработает до первого false?
в общем я думал, что в posNum будет 1,2,122 а в negNum будут -55 и -33.
Численность участников чатика Scala.UA выросла на 8 человек.
Публикация на хабре => численность выросла в 5(?) раз.
Замечательная лекция. Все понятно разжевано.
Единственное замечание: фраза «взорвем вам мозг» очень часто употребляется. Но ничего такого мозговыносящего, вроде, не было. Хотя, может мне так кажется после Хаскеля.
Спасибо за ваш труд.
Единственное замечание: фраза «взорвем вам мозг» очень часто употребляется. Но ничего такого мозговыносящего, вроде, не было. Хотя, может мне так кажется после Хаскеля.
Спасибо за ваш труд.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Основы Scala. 5 часов поедания мозгов