Город: Санкт-Петербург Новосибирск Казань Язык: Русский English

Язык программирования Kotlin (Андрей Бреслав, JetBrains)
Computer Science семинар


Что: Лекция
Когда: Воскресенье, 02 октября 2011, 15:35–17:10
Где: ПОМИ РАН
Слайды: csseminar_lecture_021011.pdf

Описание

Летом 2011 компания JetBrains объявила о разработке проекта Kotlin — статически типизированного ОО-языка программирования, компилируемого для платформы Java и предназначенного для использования промышленными разработчиками ПО. При разработке мы руководствуемся следующими требованиями к языку: он должен

  • быть совместим с Java “в обе стороны”: код на Java можно вызывать из кода на Kotlin, и наоборот;
  • компилироваться как минимум так же быстро как Java, это требование особенно важно для больших проектов;
  • быть безопаснее Java, то есть статически гарантировать отсутствие ошибок, типичных для программ на Java;
  • быть лаконичнее Java. Всем известны обвинения Java в излишней “церемониальности”: код на этом языке изобилует “само собой разумеющимися” конструкциями, загромождающими программы;
  • и, наконец, при сохранении необходимой выразительности, новый язык должен быть значительно проще Scala, нашего основного конкурента, поскольку сложность освоения — очень существенный фактор.
Как легко догадаться, интегрированная среда разработки (IDE) для нового языка создается параллельно с компилятором, “с первого дня”, так что пользователи даже самых ранних версий могут рассчитывать на достойную инструментальную поддержку.

Выход публичной бета-версии компилятора залпанирован на конец 2011 года. В настоящее время доступно описание языка, размещенное на странице проекта: http://jetbrains.com/kotlin.

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

  • система типов: отслеживание нулевых ссылок, автоматическое приведение типов, обобщенные типы и вариантность,
  • модель наследования,
  • внешние функции,
  • функции высших порядков,
  • создание DSL.

Предполагается знакомство аудитории с Java, C# или C++.

Видео

Материалы