ЛекториумМедиатека
Личный кабинет

Язык программирования Kotlin

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

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

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

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

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

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

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

Страница лекции на сайте Computer Science клуба

Лекции курса

9
  1. Вычислительная сложность формальных грамматикАлександр Охотин
  2. Privacy of profile based ad targetingАлександр Смаль
  3. Язык программирования Kotlin▶ Вы тут
  4. Выделение и сопоставление особых точек в обработке изображенийАлександр Мордвинцев
  5. Устойчивая реализация алгоритмов вычислительной геометрииАнтон Ковалев
  6. Практическое применение методов машинного обученияИгорь Кураленок
  7. Безопасность веб-приложений: введениеБен Лившиц
  8. Вредоносное программное обеспечение/Malware: введениеБен Лившиц
  9. Алгоритмы 3D-трэкинга и восстановления геометрии сценыАлександр Куликов

Онлайн-курсы по программированию

3