Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Знакомьтесь, Kotlin

Знакомьтесь, Kotlin

Алексей Жидков (Excelsior) рассказывает про Kotlin

«Kotlin — это относительно молодой JVM-based язык, поддерживающий в том числе компиляцию в Javascript. В этом докладе мы расскажем о том, зачем создавался Kotlin, покажем наиболее интересные его фичи путем решения небольшой, но реальной практической задачи, а также дадим простой рецепт, который позволит определить, нужен ли вам Kotlin или нет.

К слову, Kotlin был создан в России. Часто ли вы пишете на языках отечественного производства?»

Tech Talks @NSU

November 03, 2015
Tweet

More Decks by Tech Talks @NSU

Other Decks in Education

Transcript

  1. Обо мне • 10 лет программирую на Java за еду

    • 13 лет программирую на Java за идею • Работаю в Эксельсиор программистом 2 @AlexeyZhidkov +AlekseyZhidkov @aleksey-zhidkov
  2. План 1. Анекдот 2. Несколько синтаксических примеров 3. Решение реальной

    задачи на Котлине 4. Кому и когда нужен Котлин 3
  3. 4 АНЕКДОТ - Очень маленький рассказ с забавным, смешным содержанием

    и неожиданным острым концом. (Словарь Ожегова) Короткий по содержанию и сжатый в изложении рассказ о замечательном или забавном случае; байка, баутка. (Словарь Даля) Вымышленный, короткий рассказ о смешном, забавном происшествии (Словарь Ушакова)
  4. Kotlin Statically typed programming language for the JVM, Android and

    the browser 100% interoperable with Java™ 5
  5. 6

  6. Почему Java Platform? ◦ Быстрая, но гибкая ◦ Кроссплатформенная -

    Server side, Desktop, Android, iOS, embedded ◦ Профайлеры, мониторинг, дебаггинг, IDE, библиотеки 7
  7. Ханойские башни 9 Задача: переместить башню с одного стержня на

    другой Условия: • За один ход можно переместить 1 диск • Нельзя помещать больший диск на меньший Одно из решений: многократно повторять действия: 1-2, 1-3, 2-3, где x-y означает: перенести диск между стержнями x и y в допустимом направлении
  8. Термины • Лента, Tape, Диск - теоретически независимое устройство хранения

    данных, но практически поддиректория с именем соответсвующим номеру диска/ленты • Backup - фактически снапшот исходной директории на момент бэкапа; содержимое ленты • Перемещение диска N между любыми стержнями - запись снапшота исходной дирекотории в поддиректорию 10
  9. 12 otlin - язык создаваемый для того чтобы “мочить” конкурентов

    [одной очень хорошей и доброй компании]
  10. Kotlin на Андроид • Компиляция в байткод Java 6 •

    Полная интероперабельность с Java • Anko - layout DSL and misc SDK improvements • Kotlin Android Extensions - compiler plugin to eliminate findViewById 13
  11. Kotlin на Андроид 14 Источник: http://slides.com/antonrutkevich/kotlin-intro-voxxed#/36 Library Size Method Count

    scala-library-2.11.7 5.7 Mb 50 811 groovy-2.4.4 4.6 Mb 28 768 kotlin-runtime-0.13.1513 0.29 Mb 1 067 kotlin-stdlib-0.13.1513 0.88 Mb 7 672
  12. Кому и когда нужен Kotlin* 15 Статическая типизация Java Interoperability

    Скорость обучения Поддержка ФП Баллы Kotlin ✓ ✓ ✓ ✓/✗ 3.75 Groovy ✗/✓ ✓/✗ ✓ ✗/✓ 2.25 Scala ✓ ✗ ✗ ✓ 2 Ceylon ✓ ✗ ✗ ✓/✗ 1.75 Clojure ✗ ✗ ✗ ✓ 1 * этот слай - очень грубый наброс на вентилятор, для того чтобы понять контекст, ознакомтесь с этим тредом: https://twitter.com/TechTalksNSU/status/661557729446727680