Upload
tech-talks-nsu
View
96
Download
0
Embed Size (px)
Citation preview
Обо мне
● 10 лет программирую на Java за еду
● 13 лет программирую на Java за идею
● Работаю в Эксельсиор программистом
2
@AlexeyZhidkov +AlekseyZhidkov @aleksey-zhidkov
План1. Анекдот
2. Несколько синтаксических примеров
3. Решение реальной задачи на Котлине
4. Кому и когда нужен Котлин
3
4
АНЕКДОТ -
Очень маленький рассказ с забавным, смешным содержанием и неожиданным острым концом. (Словарь Ожегова)
Короткий по содержанию и сжатый в изложении рассказ о замечательном или забавном случае; байка, баутка.
(Словарь Даля)
Вымышленный, короткий рассказ о смешном, забавном происшествии(Словарь Ушакова)
Kotlin
Statically typed programming language for the JVM, Android and the browser100% interoperable with Java™
5
Почему Java Platform?○ Быстрая, но гибкая
○ Кроссплатформенная - Server side, Desktop, Android, iOS,
embedded
○ Профайлеры, мониторинг, дебаггинг, IDE, библиотеки
7
Бэкап с экспоненциальным интервалом
8
Сег
одня
Вче
ра
2 дн
я на
зад
4 дн
я на
зад
8 дн
ей н
азад
16 д
ней
наза
д
Ханойские башни
9
Задача: переместить башню с одного стержня на другой
Условия:
● За один ход можно переместить 1 диск
● Нельзя помещать больший диск на меньший
Одно из решений:
многократно повторять действия: 1-2, 1-3, 2-3,
где x-y означает: перенести диск между стержнями x и y
в допустимом направлении
Термины● Лента, Tape, Диск - теоретически независимое
устройство хранения данных, но практически
поддиректория с именем соответсвующим номеру
диска/ленты
● Backup - фактически снапшот исходной директории на
момент бэкапа; содержимое ленты
● Перемещение диска N между любыми стержнями -
запись снапшота исходной дирекотории в поддиректорию
с именем N
10
12
otlin - язык создаваемый для того чтобы “мочить” конкурентов [одной очень хорошей и доброй компании]
Kotlin на Андроид● Компиляция в байткод Java 6
● Полная интероперабельность с Java
● Anko - layout DSL and misc SDK improvements
● Kotlin Android Extensions - compiler plugin to eliminate
findViewById
13
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
Кому и когда нужен Kotlin*
15
Статическая типизация
Java Interoperability
Скорость обучения
Поддержка ФП Баллы
Kotlin ✓ ✓ ✓ ✓/✗ 3.75
Groovy ✗/✓ ✓/✗ ✓ ✗/✓ 2.25
Scala ✓ ✗ ✗ ✓ 2
Ceylon ✓ ✗ ✗ ✓/✗ 1.75
Clojure ✗ ✗ ✗ ✓ 1
* этот слай - очень грубый наброс на вентилятор, для того чтобы понять контекст, ознакомтесь с этим тредом: https://twitter.com/TechTalksNSU/status/661557729446727680