Программирование на Kotlin
осень 2016, посмотреть все семестры

О курсе

Kotlin — современный язык программирования, разрабатываемый в компании JetBrains, который:

  • позволяет более элегантно выражать свои идеи и писать менее многословный код, чем на Java;
  • объединяет объектно-ориентированное и функциональное программирование;
  • идеально подходит для создания своих доменно-специфичных языков (DSL).

Курс предназначен для слушателей, уже знакомых с программированием на Java (или C++). В курсе будет много внимания уделяться написанию идиоматического кода - кода, который не “лишь бы работал”, а был лаконичным и понятным без дополнительных комментариев.

Предварительная программа

Введение, базовый синтаксис

  • функции, классы, свойства, строковые шаблоны и многое другое

Особенности языка, которых не хватает в Java

  • data классы, nullable типы, extension функции

Функциональное программирование на языке Kotlin

  • лямбды, функции высших порядков, работа с коллекциями

Конвенции, позволяющие сделать код более красивым

  • перегрузка операторов
  • делегирующие свойства

Создание доменно-специфичных языков (DSL)

  • лямбды с неявной this ссылкой; функции with, apply
  • HTML билдеры

Дженерики*

  • in и out на типовых параметрах
  • как сохранять на runtime типовые параметры функции (и зачем)

Примеры кода, обсуждаемого на лекциях, живут тут: https://github.com/svtk/kotlin-course.

Дата и время Название Место Материалы
12 сентября
20:00–21:20
Введение, базовый синтаксис, лекция Таймс, ауд. с белыми досками слайды
19 сентября
20:00–21:20
Nullable типы, extension функции, лекция Таймс, ауд. с белыми досками файлы
03 октября
20:00–21:20
Nullabilty, equals, when, conventions, лекция Таймс, ауд. с белыми досками файлы
10 октября
20:00–21:20
Objects, companion objects, delegation, delegated properties, лекция Таймс, ауд. с белыми досками Нет
17 октября
20:00–21:20
More about inline functions, лекция Таймс, ауд. с белыми досками файлы
24 октября
20:00–21:20
Reified generics, лекция Таймс, ауд. с белыми досками файлы
31 октября
20:00–21:20
Lambdas with receiver, лекция Таймс, ауд. с белыми досками Нет
07 ноября
20:00–21:20
Kotlin Builders, лекция Таймс, ауд. с белыми досками файлы
14 ноября
20:00–21:20
Mixing Java and Kotlin, лекция Таймс, ауд. с белыми досками слайды
21 ноября
20:00–21:20
Variance, лекция Таймс, ауд. с белыми досками слайды
05 декабря
20:00–21:20
Зачёт, лекция Таймс, ауд. с белыми досками файлы
12 декабря
20:00–21:20
Type inference in Kotlin, лекция Таймс, ауд. с белыми досками другие