Slide 1

Slide 1 text

Знакомьтесь, Kotlin Алексей Жидков

Slide 2

Slide 2 text

Обо мне ● 10 лет программирую на Java за еду ● 13 лет программирую на Java за идею ● Работаю в Эксельсиор программистом 2 @AlexeyZhidkov +AlekseyZhidkov @aleksey-zhidkov

Slide 3

Slide 3 text

План 1. Анекдот 2. Несколько синтаксических примеров 3. Решение реальной задачи на Котлине 4. Кому и когда нужен Котлин 3

Slide 4

Slide 4 text

4 АНЕКДОТ - Очень маленький рассказ с забавным, смешным содержанием и неожиданным острым концом. (Словарь Ожегова) Короткий по содержанию и сжатый в изложении рассказ о замечательном или забавном случае; байка, баутка. (Словарь Даля) Вымышленный, короткий рассказ о смешном, забавном происшествии (Словарь Ушакова)

Slide 5

Slide 5 text

Kotlin Statically typed programming language for the JVM, Android and the browser 100% interoperable with Java™ 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

Почему Java Platform? ○ Быстрая, но гибкая ○ Кроссплатформенная - Server side, Desktop, Android, iOS, embedded ○ Профайлеры, мониторинг, дебаггинг, IDE, библиотеки 7

Slide 8

Slide 8 text

Бэкап с экспоненциальным интервалом 8 Сегодня Вчера 2 дня назад 4 дня назад 8 дней назад 16 дней назад

Slide 9

Slide 9 text

Ханойские башни 9 Задача: переместить башню с одного стержня на другой Условия: ● За один ход можно переместить 1 диск ● Нельзя помещать больший диск на меньший Одно из решений: многократно повторять действия: 1-2, 1-3, 2-3, где x-y означает: перенести диск между стержнями x и y в допустимом направлении

Slide 10

Slide 10 text

Термины ● Лента, Tape, Диск - теоретически независимое устройство хранения данных, но практически поддиректория с именем соответсвующим номеру диска/ленты ● Backup - фактически снапшот исходной директории на момент бэкапа; содержимое ленты ● Перемещение диска N между любыми стержнями - запись снапшота исходной дирекотории в поддиректорию 10

Slide 11

Slide 11 text

11 jeb Backuper Hanoi Io State

Slide 12

Slide 12 text

12 otlin - язык создаваемый для того чтобы “мочить” конкурентов [одной очень хорошей и доброй компании]

Slide 13

Slide 13 text

Kotlin на Андроид ● Компиляция в байткод Java 6 ● Полная интероперабельность с Java ● Anko - layout DSL and misc SDK improvements ● Kotlin Android Extensions - compiler plugin to eliminate findViewById 13

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

16 Вопросы @AlexeyZhidkov +AlekseyZhidkov @aleksey-zhidkov