Pull to refresh

Comments 19

Со скалой трудно разобраться с наскоку, особенно после java. Там нужно очень много примеров и время подумать над каждым. Конечно однодневный формат такой возможности не дает.
Конечно однодневный формат такой возможности не дает.

Но он и не для этого предназначен. Он просто дает пинок в нужном направлении.
А дальше каждый сам решает, надо ему это или нет.
6й слайд — фэспалм. 7й слайд — двойной фэйспалм. 9й — рук не хватило, вечерком попробую ещё раз.
В тот вечер не дошёл. Но всё-таки считаю что должен развёрнуто описать почему презентация произвела на меня столь удручающее впечатление.

1. Во-первых 6й слайд. Понятно что надо как-то отбивать расходы на помещение, но разлапистая бибилотека коллекций в принципе позволяет этим заняться попозже и с меньшим вредом для аудитории. Здесь же должно быть ровно 3 пункта, из низ 2 — код. «Install scala», "$ scala", "> println(«Hello, World!»)".

2. Слайд 7. Очень резкий старт. 3 неочевидные (хотя и модные) фичи. Люди ещё не умеют создавать замыкания но им уже показывают что у замыканий есть краткая форма…

3. 9й и далее. Всё ещё не создано ни одной функции, ни единого объекта… но уже пора знать что классов три вида (таки может типов:) ). Дальше куча слайдов об очень неблизких для новича проблемах. Статические члены, множественное наследование, свойства, обобщённые типы, вариантность? Зачем это всё людям которые не могут написать итерацию по списку?

4. Вторая часть. Продолжаются дебри типа implicits и TypeTag. При этом case class — 59й слайд. Пятьдесят, мать его, девятый слайд. Это простейшая и полезнайшая вещь, примерно 80% полезности всей этой функциональной движухи на 5м с конца слайде. Я даже достал Мартина с полки, у него это 15 глава из 35, до пропертей, до дженериков и до имплиситов.
Все верно. Цель была изначально неправильной, а именно рассказать как можно больше, сколько только возможно успеть. Цель достигнута, но ответ неоднозначный, насколько эффективным это окажется в итоге (зависит лишь от того, продолжат ли люди изучение Scala или нет).
Думаю, что если проведем что-то такое еще раз, то все переделаю, и расскажу в три раза меньше, но с введением в функциональное программирование.

Спасибо за замечание!
Смотрите на существующие решения в этой области, «Scala by example», «Learn You a Haskell» проверенно неплохо работают. Ну и это… ревью полезная штука, чирканули бы в scala-russian…
трое пришедших с Хабра;

Полагаю события на Хабре — не лучший способ информирования.

А где еще вы распространяли информацию о мероприятии?
по рассылке людей, ранее говоривших нам, что им такое будет интересно, в комментарии к соответствующему вопросу, в событиях на timepad, в твиттере, в группе джавистов в ВКонтакте. В результате пришло даже больше людей, чем мы ожидали. Т.е. уровнем интереса мы полностью довольны. То, что не все они прочли о событии на Хабре — это нормально :)
Спасибо за информацию, подписался на ваш timepad. (Ссылка для тех, кто тоже хочет.)

Планируете и дальше нести свет scala в массы? То есть планируете ли новые встречи по scala?
implicits сначала взорвали мой мозг, но уже дома, отдохнув и еще раз переосмыслив, наконец смог поянть о чем говорил докладчик.
Спасибо вам за тренинг!
На coursera отличный вступительный курс есть. Кстати, насчёт конференции, а где вообще новости о ней были?
Он по второму кругу начался, я его ещё весной прошёл, но не нашёл, где знания применить и сейчас просто периодически пытаюсь олимпиадные задачки на ней решать для тренировки.
Выскажу свое «фи». Иллюстрация scala-way на примере «быстрой» сортировки просто ужасна. Вы отдаете себе отчет, что в такой реализации на один вызов qsort происходит 4 раза создание и копирование массива? Конечно, это всего лишь пример, и он не обязан быть оптимальным, но зачем учить новичков наступать на самые большие грабли скалы — бездумное использование «красивых» методов, за которыми часто скрыты «лишние» операции.
На мой взгляд, лучше было бы придумать пример, который демонстрирует красивое рекурсивное решение, с использованием красивых фич скалы, при этом по перформансу не уступает императивному подходу. То есть, tail recursion, O(1) list prepending, List immutability, и т.д. Например, у Мартина Одерски в курсе все примеры были как раз такие.
У Одерски тоже есть такой пример qsort. Но он там обращает внимание читателя на накладные расходы. Возможно при относительно небольшом количестве данных подобный подход допустим с целью минимизировать количество ошибок.

А вообще это первое, в чем упрекают функциональный подход.
Sign up to leave a comment.