Добрый день, уважаемое хабрасообщество!
В конце ноября 2013 года мы с коллегой устроили встречу, на которой провели сеанс «интенсивного введения Scala в мозг добровольцев».
Выкладываю на суд общественности наше творчество и краткое описание «эксперимента».
Мы не являемся Scala-экспертами, но являемся практикующими специалистами.
Поэтому некоторые концепции мы можем обрисовывать неправильно.
Злого умысла в этом нет, errare humanum est.
Все получилось. Нам понравилось. Людям понравилось. Смотрите и комментируйте.
Часть 1:Введение. Иммутабельность. «Строительные блоки». Основные типы. Иерархия классов.
Часть 2:Функции, методы. Функции как первородные объекты. Вывод типов. Замыкания. Коллекции. Циклы и for compehension. Сопоставление с образцом. Неявные конструкции.
Часть 3:Синтаксический сахар. Ленивые вычисления. Рекурсия. Streams. Монады.
Презентацию можно найти тут.
Итак, основной целью нашего выступления были следующие вещи:
Проанализировав отзывы и пронаблюдав «подопытных» в естественной среде, мы пришли в к выводу, что большая часть наших целей выполнена! Ура!
Краткая примерная статистика:
В ходе выступления мы рассмотрели практически все темы, необходимые для уровней A1, A2 и L1 из классификации скала-программистов.
К тому же мы испробовали интерактивный формат выступления:
Мы попытались структурировать материал немного иначе, чем принято его подавать, чтобы оградить людей от «концентрированных знаний» в самом начале.
Наш список основных тем выглядит примерно так:
Ряд дополнительных тем «вшит» в само выступление и разъясняется по мере того, как аудитория этих тем касается.
Пересматривая наше выступление, мы обнаружили несколько концептуальных неточностей и дыр в понимании.
Но даже сразу по ходу выступления мы сделали вывод, что допустили стратегический промах — мы вынесли весь синтаксический сахар в конец.
Так делать нельзя!
Вопросы про хитрые конструкции языка будут всплывать практически во всех рассматриваемых темах.
Как правильно показать и разъяснить сахар по мере выступления — вопрос открытый.
Спасибо за внимание и конструктивную критику.
Приглашаем всех желающих в наш скайп-чат: bit.ly/scalachat (украинский чат: bit.ly/scala-ua)
Будем рады как новичкам, так и экспертам. Место проживания, раса, пол, и прочие малозначительные факторы значения не имеют.
P.S. Если вам нравится наше мероприятие, вы можете пригласить нас к себе в гости. Стучитесь в личку.
О планируемых мероприятиях можно узнать в нашем чатике.

В конце ноября 2013 года мы с коллегой устроили встречу, на которой провели сеанс «интенсивного введения Scala в мозг добровольцев».
Выкладываю на суд общественности наше творчество и краткое описание «эксперимента».
Отказ от отвественности и Крик о помощи
Мы не являемся Scala-экспертами, но являемся практикующими специалистами.
Поэтому некоторые концепции мы можем обрисовывать неправильно.
Злого умысла в этом нет, errare humanum est.
Если вы видите неувязочку или уличили нас во лжи — оставьте комментарий к статье и разъясните нам, как жестко мы ошиблись. Я буду крайне за это благодарен!
TL;DR;
Все получилось. Нам понравилось. Людям понравилось. Смотрите и комментируйте.
Часть 1:Введение. Иммутабельность. «Строительные блоки». Основные типы. Иерархия классов.
Часть 2:Функции, методы. Функции как первородные объекты. Вывод типов. Замыкания. Коллекции. Циклы и for compehension. Сопоставление с образцом. Неявные конструкции.
Часть 3:Синтаксический сахар. Ленивые вычисления. Рекурсия. Streams. Монады.
Презентацию можно найти тут.
Отчет для представителей доLTDRной эры
Социальная часть
Итак, основной целью нашего выступления были следующие вещи:
Повысить ЧСВ.Показать, что Scala не так страшна, как ее малюют.- Продемонстрировать наличие крутых концепций, о которых многие вообще не думали.
- Задать вектор «кудаДальшеКопания».
- Подсадить на тяжелый наркотик Scala… ???… PROFIT!!
Проанализировав отзывы и пронаблюдав «подопытных» в естественной среде, мы пришли в к выводу, что большая часть наших целей выполнена! Ура!
Краткая примерная статистика:
- Зарегестрировалось около 130 участников.
- Пришло около 90 участников.
- До конца дожило около 40 участников.
- Письменные отзывы прямо на месте оставило 15 участников.
- Численность участников чатика Scala.UA выросла на 8 человек.
В ходе выступления мы рассмотрели практически все темы, необходимые для уровней A1, A2 и L1 из классификации скала-программистов.
К тому же мы испробовали интерактивный формат выступления:
- Любой участник задает вопрос в любой момент выступления
- Лайфкодинг, в ходе которого любой участник может предложить изменение
Апарт №1
Я лично очень люблю форматы, поддерживающие живое общение с аудиторией, потому что они не дают отклониться от темы, уйти в «сложный язык» или перескочить на уровень непонятных аудитории абстракций.
Вероятно, такая любовь вызвана тем, что мне нравится импровизировать и не нравится заучивать выступление.
К тому же, есть некий психологический дискомфорт, когда у человека появляется вопрос, необходимый для формирования концепции, а он не может его тут же прояснить.
Слушатель все же должен сформировать гештальт как можно быстрее.
Вероятно, такая любовь вызвана тем, что мне нравится импровизировать и не нравится заучивать выступление.
К тому же, есть некий психологический дискомфорт, когда у человека появляется вопрос, необходимый для формирования концепции, а он не может его тут же прояснить.
Слушатель все же должен сформировать гештальт как можно быстрее.
Теоретическая часть
Апарт №2
Главная проблема при рассказе про Scala — правильная структура и последовательность материала.
Мы прочитали ряд книжек, просмотрели ряд выступлений, прошли курс на курсере.
Скала сложна только потому, что при ее изучении человек утыкается в неизвестное в каждой теме, и углубляется в это неизведанное. Но стек в человеческом мозгу очень даже конечен, что приводит к «переполнению мозгового стека» при изучении 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/scalachat (украинский чат: bit.ly/scala-ua)
Будем рады как новичкам, так и экспертам. Место проживания, раса, пол, и прочие малозначительные факторы значения не имеют.
P.S. Если вам нравится наше мероприятие, вы можете пригласить нас к себе в гости. Стучитесь в личку.
О планируемых мероприятиях можно узнать в нашем чатике.