Летом 2011 компания JetBrains объявила о разработке проекта Kotlin — статически типизированного ОО-языка программирования, компилируемого для платформы Java и предназначенного для использования промышленными разработчиками ПО. При разработке мы руководствуемся следующими требованиями к языку: он должен
- быть совместим с Java “в обе стороны”: код на Java можно вызывать из кода на Kotlin, и наоборот;
- компилироваться как минимум так же быстро как Java, это требование особенно важно для больших проектов;
- быть безопаснее Java, то есть статически гарантировать отсутствие ошибок, типичных для программ на Java;
- быть лаконичнее Java. Всем известны обвинения Java в излишней “церемониальности”: код на этом языке изобилует “само собой разумеющимися” конструкциями, загромождающими программы;
- и, наконец, при сохранении необходимой выразительности, новый язык должен быть значительно проще Scala, нашего основного конкурента, поскольку сложность освоения — очень существенный фактор.
Как легко догадаться, интегрированная среда разработки (IDE) для нового языка создается параллельно с компилятором, “с первого дня”, так что пользователи даже самых ранних версий могут рассчитывать на достойную инструментальную поддержку.
Выход публичной бета-версии компилятора залпанирован на конец 2011 года. В настоящее время доступно описание языка, размещенное на странице проекта: http://jetbrains.com/kotlin.
В докладе будет представлен обзор дизайна языка и его основных возможностей. В частности, будут обсуждаться
- система типов: отслеживание нулевых ссылок, автоматическое приведение типов, обобщенные типы и вариантность,
- модель наследования,
- внешние функции,
- функции высших порядков,
- создание DSL.
Предполагается знакомство аудитории с Java, C# или C++.