пятница, 24 мая 2013 г.

Курс по Scala от Coursera

Coursera предлагает прекрасный курс по Scala, в котором мне посчастливилось поучаствовать.

Курс длится 7 недель. Каждая неделя состоит с 1,5-часовых лекций и задания, на которое уходит от часа до пяти. Итак, поделюсь личным опытом

Стоило ли записываться на курс? Несомненно. Если вы не являетесь профи в Scala и функциональном программировании, то обязательно получите полезные навыки - в первую очередь глубокое понимание парадигмы функционального программирования.

Я помню, как давным-давно начал изучать объектно-ориентированное программирование и, как все новички, думал, что разбираюсь в нем, если понимаю суть полиморфизма, наследования и инкапсуляции и могу вспомнить названия нескольких шаблонов проектирования.

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

Подобным образом, многим может показаться, что функциональное программирование - это функциональные литералы, функции второго порядка, внутренние функции и замкнутые выражения.

Следует отметить, что этот курс делает акцент на важности разумного использования рекурсии в ФП. Прежде я не слишком задумывался о данном аспекте. Рекурсия играет решающую роль в ФП, потому что неизменяемое состояние играет решающую роль в ФП.

Чему еще я научился?
  1. Ключевые термины - четкое различие между применением функции и типом функции.
  2. Левая ассоциация для применения функции и правая - для типа функции.
  3. Передавать функции анонимно - следует лишь изредка использовать оператор def для функций, которые передаются.
  4. Искусство  DRY (“Не повторяйся”). Функции должны быть короткими.
  5. Решающая роль соответствия шаблону, особенно при использовании рекурсии.
  6. Потоки - ленивые списки и потенциал запоминания.

В общем, отличный курс.  

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

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