#scala
Closed. This question is opinion-based. It is not currently accepting answers. Want to improve this question? Update the question so it can be answered with facts and citations by editing this post. Closed 4 года назад. Подскажите, есть ли ресурсы, где можно попрактиковаться в написании кода на Scala? Можно просто сборники задач по основному функционалу языка. Желательно, чтобы было освещено побольше проблем, связанных с функциональным программированием. Ссылки на ресурсы по спортивному программированию, где принимают решения на Scala, тоже категорически приветствуются.
Ответы
Ответ 1
Для разгона 99 задачек для Scala - подборка 99 небольших упражнений на выработку идиоматического стиля написания кода, знакомства с классами и методами стандартной библиотеки, короче, чтобы освоиться со Scala. Упражнения для начинающих программистов на Scala от знаковой фигуры в мире функционального программирования, Тони Морриса. Если не знаете, кто это такой - марш читать рассылки scala-user и scala-debate. :) 20 упражнений умеренной сложности для Scala от все того же Тони Морриса. CodeCata - сборник практических, приближенных к реальности, задач по программированию, часто с перечнем тестовых данных. Не привязаны к конкретному языку, хотя часто для демонстрации используется Ruby. В комментариях пишут решения на самых разных языках, от C/C++ до Lisp. Для обретения уверенности Codechef - отличный учебный и олимпиадный ресурс с кучей задач самого различного толка, автоматической валидацией решений (поддерживаются Scala и Haskell), и прочими вкусностями. Sphere Online Judge - аналогичная площадка, с бОльшим уклоном на соревновательную составляющую. Поддерживает Scala и Haskell. Список задачек, которые в небезызвестной в узких гругах нидерландской компании Streamtech предлагают на собеседованиях при приеме на работу. Programming Praxis изначально вышел из сообщества программистов на языке Scheme, но сейчас на ресурсе активно решают задачи на самых различных языках. Особый упор делается на функциональное программирование. Для постижения дзена Все, что перечислено выше - херня. В определенном смысле, конечно :). Эти ресурсы помогут научиться алгоритмическому мышлению, различным алгоритмам, процедурному программированию, может быть, даже, объектно-ориентированному, хотя это вряд ли. Но это не научит вас функциональному программированию (ФП) - ни на йоту. До того, как взяться за Scala, я изучал много языков, в разной мере, конечно: Pascal, C/C++, Perl, Python, Smalltalk, Scheme. И даже начатки функционального программирования по небезызвестному SICP. Но приходится признать: все это мне мало помогло схватить суть функционального программирования. Ну разве что чуть-чуть. Методология ФП мне понравилась сразу, но до последнего я плевался: "Дурацкий Haskell со своим уродливым синтаксисом, идиотской математической терминологией для профессоров - к черту!". И лишь однажды, уже после того, как я начал заниматься Scala, от делать нечего я открыл главу из Душкина, посвященную спискам и еще чему-то там, и... что-то сдвинулось в моей голове - прочитав всю главу с увлечением, я понял, что настало, наконец, время для Haskell. И приходится признать: одни лишь первые 5 глав "Real World Haskell" дали мне НАМНОГО больше, чем все те многочисленные книги по языкам, которые я изучал до этого. Haskell - это реально посвящение в дзен ФП. Без него это ОЧЕНЬ и ОЧЕНЬ трудно сделать, хотя, возможно, вы и будете думать что все знаете и понимаете. Проверено на собственном опыте. Возможно, ваш путь будет более успешен, но вы можете не повторять моих ошибок, и на досуге изучать Haskell. Но это уже другая история :)Ответ 2
Очень скоро начнется онлайн курс от создателя языка -- Мартина Одерски, насколько мне известно там будут не только видео лекции но и задачки, поэтому очень рекомендую хотя бы взглянуть на него.
Комментариев нет:
Отправить комментарий