...

суббота, 18 января 2014 г.

Основы Scala. 5 часов поедания мозгов

Добрый день, уважаемое хабрасообщество!image

В конце ноября 2013 года мы с коллегой устроили встречу, на которой провели сеанс «интенсивного введения Scala в мозг добровольцев».


Выкладываю на суд общественности наше творчество и краткое описание «эксперимента».


Отказ от отвественности и Крик о помощи




Мы не являемся Scala-экспертами, но являемся практикующими специалистами.

Поэтому некоторые концепции мы можем обрисовывать неправильно.

Злого умысла в этом нет, errare humanum est.


Если вы видите неувязочку или уличили нас во лжи — оставьте комментарий к статье и разъясните нам, как жестко мы ошиблись. Я буду крайне за это благодарен!



TL;DR;




Все получилось. Нам понравилось. Людям понравилось. Смотрите и комментируйте.

Часть 1:Введение. Иммутабельность. «Строительные блоки». Основные типы. Иерархия классов.


Часть 2:Функции, методы. Функции как первородные объекты. Вывод типов. Замыкания. Коллекции. Циклы и for compehension. Сопоставление с образцом. Неявные конструкции.


Часть 3:Синтаксический сахар. Ленивые вычисления. Рекурсия. Streams. Монады.


Презентацию можно найти тут.


Отчет для представителей доLTDRной эры




Социальная часть



Итак, основной целью нашего выступления были следующие вещи:


  1. Повысить ЧСВ. Показать, что Scala не так страшна, как ее малюют.

  2. Продемонстрировать наличие крутых концепций, о которых многие вообще не думали.

  3. Задать вектор «кудаДальшеКопания».

  4. Подсадить на тяжелый наркотик Scala… ???… PROFIT!!




Проанализировав отзывы и пронаблюдав «подопытных» в естественной среде, мы пришли в к выводу, что большая часть наших целей выполнена! Ура!

Краткая примерная статистика:



  • Зарегестрировалось около 130 участников.

  • Пришло около 90 участников.

  • До конца дожило около 40 участников.

  • Письменные отзывы прямо на месте оставило 15 участников.

  • Численность участников чатика Scala.UA выросла на 8 человек.




В ходе выступления мы рассмотрели практически все темы, необходимые для уровней A1, A2 и L1 из классификации скала-программистов.

К тому же мы испробовали интерактивный формат выступления:



  • Любой участник задает вопрос в любой момент выступления

  • Лайфкодинг, в ходе которого любой участник может предложить изменение




Апарт №1
Я лично очень люблю форматы, поддерживающие живое общение с аудиторией, потому что они не дают отклониться от темы, уйти в «сложный язык» или перескочить на уровень непонятных аудитории абстракций.

Вероятно, такая любовь вызвана тем, что мне нравится импровизировать и не нравится заучивать выступление.

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

Слушатель все же должен сформировать гештальт как можно быстрее.






Теоретическая часть



Апарт №2
Главная проблема при рассказе про Scala — правильная структура и последовательность материала.

Мы прочитали ряд книжек, просмотрели ряд выступлений, прошли курс на курсере.

Скала сложна только потому, что при ее изучении человек утыкается в неизвестное в каждой теме, и углубляется в это неизведанное. Но стек в человеческом мозгу очень даже конечен, что приводит к «переполнению мозгового стека» при изучении Scala у неподготовленных адептов.






Мы попытались структурировать материал немного иначе, чем принято его подавать, чтобы оградить людей от «концентрированных знаний» в самом начале.

Наш список основных тем выглядит примерно так:



  • Introduction

  • Immutability

  • Building blocks

  • Basic types

  • Class hierarchy

  • Functions. Methods. First-class functions

  • Type inference

  • Closures

  • Collections

  • Loops. For comprehension.

  • Pattern matching.

  • Implicits

  • Scala syntax sugar




Ряд дополнительных тем «вшит» в само выступление и разъясняется по мере того, как аудитория этих тем касается.

Пересматривая наше выступление, мы обнаружили несколько концептуальных неточностей и дыр в понимании.

Но даже сразу по ходу выступления мы сделали вывод, что допустили стратегический промах — мы вынесли весь синтаксический сахар в конец.


Так делать нельзя!

Вопросы про хитрые конструкции языка будут всплывать практически во всех рассматриваемых темах.

Как правильно показать и разъяснить сахар по мере выступления — вопрос открытый.






Спасибо за внимание и конструктивную критику.

Приглашаем всех желающих в наш скайп-чат: bit.ly/scalaua.

Будем рады как новичкам, так и экспертам. Место проживания, раса, пол, и прочие малозначительные факторы значения не имеют.

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий