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

Содержание

Что такое Kotlin

Kotlin — это язык про­грам­ми­ро­ва­ния ком­па­нии JetBrains, кото­рый за 9 лет потес­нил Java и стал важ­ным инстру­мен­том андроид-разработчиков. Раз­бе­рём­ся, что осо­бен­но­го в Kotlin, какие у него рис­ки и с чего начать.

🤔 Зачем понадобился ещё один язык вместо Java

На этот вопрос есть два ответа.

Офи­ци­аль­ный ответ: в 2017 году язы­ком Kotlin поль­зо­ва­лись око­ло мил­ли­о­на про­грам­ми­стов, и им не хва­та­ло под­держ­ки на Андро­и­де. Гугл пошёл навстре­чу раз­ра­бот­чи­кам и сде­лал Kotlin при­о­ри­тет­ным язы­ком на Андроиде.

Догад­ки и слу­хи: с 2010 года Гугл судит­ся с ком­па­ни­ей Oracle по пово­ду исполь­зо­ва­ния Java в систе­ме Андро­ид. Вот почему:

в осно­ве пер­вых вер­сий Андро­и­да лежа­ла вир­ту­аль­ная маши­на Dalvik,

Dalvik постро­е­на на осно­ве плат­фор­мы Apache Harmony,

Apache Harmony — это плат­фор­ма Java, на кото­рую у Гугл нет лицензии.

В 2010 году Oracle потре­бо­ва­ла от Гугл мил­ли­ард­ную ком­пен­са­цию и три­жды выиг­ры­ва­ла суд: в 2012, 2014 и 2015-м. Дело не закры­ва­лось, посколь­ку в Гугл отка­зы­ва­лись столь­ко пла­тить. В 2016 году иск вырос до девя­ти мил­ли­ар­дов, одна­ко суд встал на сто­ро­ну Гугл. Дело висит с 2017 года, а Гугл посте­пен­но пере­во­дит всю андроид-инфраструктуру с Java на Kotlin.

✅ Преимущества

Сов­ме­сти­мость с Java. Kotlin и Java мож­но исполь­зо­вать в одном про­ек­те. Для это­го у язы­ка Kotlin есть соб­ствен­ный ком­пи­ля­тор, кото­рый выда­ёт байт-код, сов­ме­сти­мый с обыч­ной Java-машиной. Полу­ча­ет­ся, что с точ­ки зре­ния Java неваж­но, из како­го язы­ка был сде­лан байт-код.

Выра­зи­тель­ность. Kotlin — это ком­пакт­ный язык без кус­ков избы­точ­но­го кода:

Без­опас­ность. Язык Kotlin и его сре­да про­грам­ми­ро­ва­ния — это про­дукт одной ком­па­нии, кото­рая посто­ян­но обнов­ля­ет базу оши­бок и помо­га­ет раз­ра­бот­чи­кам редак­ти­ро­вать код до момен­та испол­не­ния программы.

На эта­пе ком­пи­ля­ции в Kotlin сра­ба­ты­ва­ет null-защита: Kotlin авто­ма­ти­че­ски про­ве­ря­ет типы дан­ных, отсле­жи­ва­ет null-значения и предот­вра­ща­ет появ­ле­ние NullPointerException — рас­про­стра­нён­ной Java-уязвимости.

❌ Недостатки

Низ­кая ско­рость. Чаще все­го раз­ра­бот­чи­ки жалу­ют­ся на непред­ска­зу­е­мую ско­рость ком­пи­ля­ции. По быст­ро­дей­ствию Kotlin усту­па­ет Java, посколь­ку в его осно­ве лежит вир­ту­аль­ная маши­на JVM — фун­да­мен­таль­ная про­грам­ма, выпу­щен­ная спе­ци­аль­но под язык Java, а не под Kotlin.

Дру­гие нюан­сы смот­ри­те в твит­те­ре Дани­и­ла Попо­ва — андроид-инженера Ави­то, кото­рый изу­ча­ет Kotlin на прак­ти­ке и рас­ска­зы­ва­ет о све­жих тех­ни­че­ских багах.

Малень­кое сооб­ще­ство и един­ствен­ный вла­де­лец язы­ка. Kotlin всё ещё не такой попу­ляр­ный, как Java. При­чи­на в том, что Kotlin — это не про­дукт Гугл. Раз­ра­бот­чи­ки боят­ся, что через какое-то вре­мя Гугл отка­жет­ся от него, при­ду­ма­ет какую-то свою вер­сию язы­ка или поссо­рит­ся с JetBrains.

Мало­чис­лен­ное сооб­ще­ство тор­мо­зит раз­ви­тие Kotlin: под него мед­лен­но выпус­ка­ют­ся новые биб­лио­те­ки и обнов­ле­ния, а для реше­ния тех­ни­че­ских про­блем нуж­но обра­щать­ся в баг-трекер — напи­сать в тех­под­держ­ку JetBrains, доба­вить свою про­бле­му в оче­редь задач, ждать и наде­ять­ся на её исполнение.

В сен­тяб­ре 2020 в баг-трекере Kotlin око­ло 40 000 задач, кото­рые закры­ва­ют­ся по мере кри­тич­но­сти. До неко­то­рых задач оче­редь дохо­дит через несколь­ко лет, но есть и те, что оста­ют­ся нере­шён­ны­ми — в таких усло­ви­ях раз­ра­бот­чи­ки вынуж­де­ны искать костыль­ные реше­ния или пере­хо­дить на дру­гой язык с раз­ви­тым сообществом.

Для чего используется

Kotlin исполь­зу­ет­ся для созда­ния мобиль­ных при­ло­же­ний, веб-разработки, бэкен­да и муль­ти­плат­фор­мен­но­го программирования:

Для муль­ти­плат­фор­мен­но­го про­грам­ми­ро­ва­ния преду­смот­ре­ны тех­но­ло­гии раз­ра­бот­ки интер­фей­сов в React, созда­ния сер­вер­но­го HTTP API в Ktor и адап­ти­ро­ва­ния андроид-приложений под опе­ра­ци­он­ную систе­му iOS.

Google, Netflix, Twitter, Uber, Netflix и дру­гие ком­па­нии пере­во­дят неко­то­рые свои про­дук­ты на Kotlin. Кей­сы есть на developer.android.com в раз­де­ле «Исто­рии раз­ра­бот­чи­ков».

С чего начать

Почи­тай­те у нас ста­тью про Java — это язык, на кото­ром напи­са­но мно­же­ство при­ло­же­ний, биб­лио­тек и фрейм­вор­ков. Пере­чис­лен­ное часто исполь­зу­ет­ся в мобиль­ной раз­ра­бот­ке и в обо­зри­мом буду­щем не будет пере­во­дить­ся на Kotlin.

Ска­чай­те IntelliJ IDEA или Android Studio. Обе про­грам­мы — это сре­да раз­ра­бот­ки под язык Kotlin. IntelliJ IDEA боль­ше под­хо­дит для сай­тов и деск­топ­ных про­грамм, а Android Studio — для раз­ра­бот­ки мобиль­ных при­ло­же­ний под андроид.

Читайте также:  Герб медведь с языком

Источник

Что такое Kotlin и с чем его едят: обучающее руководство и сравнение нового языка Android-разработки с Java

Kotlin — это относительно молодой язык от российской компании JetBrains. Появился он в 2011 году. На конференции Google I/O 2017 команда разработчиков Android сообщила, что Kotlin получил официальную поддержку для разработки Android-приложений.

Вот основные возможности и преимущества Kotlin:

Разберём некоторые из них поподробнее.

Null-безопасность

Гибкость и простота синтаксиса

Простые функции и структуры можно объявить одной строкой. Геттеры и сеттеры задаются за кулисами для интероперабельности с Java-кодом. Добавление data-аннотации к классу активирует автоматическую генерацию различных шаблонов.

Рассмотрим следующий пример:

Отличия от Java

Null-безопасность

Как уже говорилось ранее, Kotlin не допускает возникновения NullPointerException, выдавая ошибку компиляции.

Классы данных (Data Classes)

Легко создавать копии классов данных при помощи метода copy() :

Функции-расширения

Kotlin позволяет расширять функциональность существующих классов, не прибегая к наследованию. Это делается при помощи функций-расширений. Для объявления такой функции к её имени нужно приписать префикс в виде расширяемого типа. Вот так можно добавить функцию swap в MutableList :

Ключевое слово this внутри функции-расширения относится к объекту-получателю, который передаётся перед точкой. Теперь мы можем применить функцию swap к любому изменяемому списку:

Умные приведения типов

Вывод типов

В Kotlin необязательно явно указывать тип переменной:

Функциональное программирование

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

Функции высшего порядка — это функции, которые принимают другие функции в качестве аргументов и возвращают функции. Рассмотрим следующий пример:

Лямбда-выражения, или анонимные функции — это функции, которые не объявляются, а передаются в виде выражений. Вот пример:

Сравнение скорости Java и Kotlin

Первая сборка Kotlin-кода занимает примерно на 15–20% больше времени, чем аналогичный процесс на Java. Однако инкрементная сборка Kotlin даже немного быстрее, чем у Java. Таким образом, языки примерно равны по скорости компиляции.

Будущее Kotlin

Kotlin — это следующий этап развития Java, с которой он полностью совместим. Это делает его отличным инструментом для мобильных и энтерпрайз-приложений. А поскольку Kotlin теперь является официальным языком Android, можно не бояться, что, изучив его, вы останетесь без работы.

27 марта в 12:00, Онлайн, Беcплатно

В изучении этого языка вам поможет серия статей, описывающая процесс создания простого мобильного приложения Keddit — клиента для популярного ресурса Reddit. Все ее части для вашего удобства мы перечислили в списке ниже.

Вам потребуются следующие библиотеки:

Все исходники доступны на GitHub. Серия состоит из следующих частей:

Если вам удобнее видеоформат, обратите внимание на русскоязычный видеокурс по Kotlin.

Источник

Язык программирования Kotlin: от бэкенд до мобильного софта

Язык программирования, названный в честь острова в Финском заливе, быстро завоевал популярность. Окончательно он укрепил свои позиции после презентации Google I/O 2019. Востребованность Kotlin при разработке бэкенд-приложений и софта на платформе Android невозможно отрицать. Если вы решили изучить новый язык, но сомневаетесь с выбором, то вот пара доводов в пользу Kotlin.

Чем Kotlin понравился профессионалам

Молодой язык программирования, представленный российской компанией JetBrains в 2011 году, неспроста был признан Google приоритетным инструментом в мае 2019-го. Во-первых, код на Kotlin, если сравнивать с Java, занимает меньшее число строк. Во-вторых, язык напрямую поддерживается «корпорацией добра» — уже вышло несколько стабильных версий. В-третьих, Kotlin настолько лаконичен, что его код читается как текст на английском языке. Наконец, если у специалиста есть знания по Java-разработке, можно использовать в процессе все существующие фреймворки и библиотеки Java.

Курс Kotlin Backend Developer

Освоить перспективный инструмент программирования поможет онлайн-курс Kotlin Backend Developer, подготовленный образовательной платформой OTUS. Он рассчитан на 5 месяцев обучения — это по 4 академических часа в неделю. Начало занятий запланировано на 23 декабря. Вы освоите основы Kotlin и Kotlin Multiplatform, принципы разработки бэкенда, научитесь взаимодействовать с фреймворками, погрузитесь во все аспекты создания проекта вплоть до мониторинга готового продукта. Вы сможете стать слушателем программы, если имеете навыки работы на Linux и опыт программирования на любом языке ООП. Чтобы записаться на курс, нужно успешно выполнить вступительный тест.

Кстати, советуем посетить бесплатный вебинар, который поможет понять, как организовано обучение в OTUS. Он будет посвящён созданию современного микросервиса на Kotlin. Демоурок состоится 17 декабря в 19:00. Для получения доступа к занятию потребуется пройти тестирование. На вебинаре под руководством Вячеслава Лапина, профессионала с 12-летним опытом в IT, вы рассмотрите методологию компании Heroku, пионера в облачных решениях.

Читайте также:  Значение имени в русском языке

Курс Android Developer на Kotlin

Этот онлайн-курс рассчитан на профессиональное создание Android-приложений. Программа включает в себя углублённое изучение Android Architecture Components, тестирование мобильных утилит, RxJava, Dagger 2, многопоточности в Android, Koin, Material Design. Обучение начнётся 24 декабря и продлится 5 месяцев. Если у вас есть опыт в программировании, проверьте свой уровень подготовки до записи на курс, пройдя 15-минутный тест.

Перед обучением стоит посетить открытый урок 11 декабря в 20:00, посвящённый теме Unit-тестирования. На бесплатном вебинаре расскажут о модульной проверке и технологии TDD, научат тестировать компоненты, классы и методы в Java. Однако и данное мероприятие без успешного прохождения проверки знаний не посетить.

Как организован процесс обучения

Вебинары проходят в мессенджере Slack — там же взаимодействуют преподаватели и сокурсники. Раз в две недели вам придётся делать домашнее задание, рассчитанное на 3-4 часа свободного времени. При выполнении задач слушатели всегда могут получить обратную связь от менторов. Все лекции сохраняются в личном кабинете и доступны даже после обучения. Финальный месяц курса посвящён выполнению индивидуального проекта, который станет достойной частью вашего портфолио. Самые успешные выпускники получат приглашение на собеседование в партнёрские компании — OZON, «МТС», X5 Retail Group и многие другие.

Источник

Как петербуржцы создали язык программирования Kotlin и почему его теперь используют Android и Google

Язык программирования Kotlin, созданный петербургской компанией JetBrains, стал официальным языком для разработки на Android.

Почему Kotlin назвали в честь острова в Финском заливе, как и когда язык стал популярен среди разработчиков мобильных приложений, почему им удобно пользоваться и зачем он изначально понадобился? Маркетинг-менеджер Kotlin Роман Белов рассказал «Бумаге», как в Петербурге создавали язык, признанный Google.

Как и когда появился язык программирования Kotlin?

Мы начали разрабатывать Kotlin в 2010 году. К тому времени компании JetBrains было уже десять лет и основной продукт компании — JetBrains IntelliJ IDEA, полностью написанный на Java, — был уже очень большого размера. Стало понятно, что во многом Java нас не устраивает. Было несколько альтернативных языков программирования, но оказалось, что ни один из них не соответствует тем требованиям, которые мы выдвигаем к языку, на который хотели бы перейти.

Была и вторая причина. Когда в одном месте собирается очень много людей с большим экспертным опытом в области языков программирования, часто получается, что рождается новый язык. Так оно и получилось. Во-первых, была осознанная и серьезная потребность, а во-вторых, мы могли ее удовлетворить.

Как и многие наши продукты, мы создавали Kotlin исходя из своей необходимости. Это, вообще, заложенный в развитии компании принцип: мы видим, что на рынке нет инструмента, который решал бы какую-то проблему, и тогда создаем его. Наши первые пользователи — это всегда мы сами. Поэтому обычно у нас получаются очень практичные и прагматичные инструменты.

Почему Kotlin называется именно так?

В тот момент, когда придумывалось название, на JVM (Java Virtual Machine — прим. «Бумаги») существовали еще языки, названные в честь островов: Java, Ceylon. И мы подумали: какой у нас есть остров рядом? Котлин. И это название прижилось. Тут нет какой-то традиции или правила, но так случилось, какой-то более глубокой мысли за этим нет.

В чем особенности языка?

Наверное, самое удачное слово, которое подходит к языку Kotlin, — это прагматичность. Языки бывают разные: некоторые выходят из академической среды, другие созданы для конкретных платформ. Мы изначально были нацелены на практичный язык для максимально широкой аудитории. Он должен был быть демократичным, то есть без заумных вещей. Бывают ситуации, когда программист знает все тонкости языка и благодаря этому пишет хитрый код, — и в этот код никто из джуниор-программистов не может лезть. Нам нужен язык, который одинаково хорош как для начинающих программистов, так и для продвинутых.

Внутри компании у нас также полная демократия: каждый программист сам решает, на каком языке писать, на Java или на Kotlin, и далеко не все переходят на Kotlin. Для меня как для маркетинг-менеджера языка JetBrains — это маленький мир. Когда в нашей большой компании все перейдут на Kotlin, тогда, наверное, и во всем мире программисты перейдут на него. Но, действительно, процент использования Kotlin в компании неизменно растет.

Чем же Kotlin так хорош? В первую очередь разработчики любят Kotlin за его краткость и выразительность. Это свойственно всем новым языкам. Раньше людей это не очень смущало, потом размер программ стал больше — люди поняли, что пишут очень много совершенно бессмысленных кусков кода только потому, что от них это требует синтаксис языка программирования.

Вторая причина в том, что он полностью совместим с Java и позволяет постепенно мигрировать с Java-приложения на Kotlin-приложение. Например, приложение Basecamp в течение полугода полностью мигрировало с Java на Kotlin.

Читайте также:  График дня на немецком языке

Третий пункт — Kotlin безопасен: в семантику языка заложены принципы, которые предотвращают целый ряд очень распространенных ошибок, которые обычно случаются в момент исполнения программы. Это позволяет писать более безопасный код, что в конечном итоге помогает сэкономить деньги и снизить затраты на тестирование.

Как Kotlin заметили разработчики приложений?

В JetBrains мы не занимаемся Android-разработкой и изначально никто не думал, что Kotlin будет языком, который так удачно подойдет для целей Android-разработчиков. Но в какой-то момент оказалось, что Android застрял на Java 6 и очень многие новые фичи Java на Android недоступны. Тогда прогрессивные разработчики обратили внимание на Kotlin.

Мы поняли, что Kotlin может быть очень полезен для Android, и стали дорабатывать фичи, которые помогают Android-разработчикам, учитывали их потребности при разработке дизайна языка.

Год назад у нас произошло довольно большое событие: система сборки Gradle, с помощью которой собираются все приложения для Android, объявила о переходе на Kotlin.

В каком-то смысле история с Kotlin на Android — совершенно сказочная и хрестоматийная: мы просто делали язык программирования, и он очень нравился разработчикам. Это история про движение снизу вверх, а не наоборот. Разработчики давно просили Google поддержать Kotlin. И Google к ним прислушался.

С анонсом от Google формально для нас ничего не меняется: мы продолжаем разрабатывать язык и нацелены на разные платформы. Естественно, мы предвкушаем особое внимание к языку со стороны Android-разработчиков: оно будет, в частности, выражено в сообщениях об ошибках, в запросах на поддержку той или иной функциональности, и, естественно, мы будем всё это обрабатывать. Но в целом, конечно, продолжим двигаться по намеченному пути.

Кто и зачем использует язык Kotlin?

В компании мы начали применять Kotlin года с 2012-го, но официальный релиз языка был 17 февраля 2016 года. До этого времени конструкции языка активно менялись и поддерживать код на Kotlin было достаточно проблематично. Надо понимать, что развитие языков программирования требует большого внимания к обратной совместимости. И когда мы заявили о релизе, взяли на себя обязательство по обратной совместимости: по тому, что новый код будет совместим на бинарном уровне со старым. И мы эти обязательства выполняем.

Сейчас язык Kotlin в своих приложениях используют такие российские компании, как Avito и «Рокет Банк». За прошлый год Kotlin опробовали 160 тысяч программистов. До сегодняшнего дня Kotlin показывал экспоненциальный рост по числу программистов, и, думаю, объявление Google поможет нам продолжить этот рост.

Источник

Введение в язык Kotlin

Что такое Kotlin. Первая программа

Kotlin представляет статически типизированный язык программирования от компании JetBrains. Kotlin можно использовать для создания мобильных и веб-приложений.

Первая версия языка вышла 15 февраля 2016 года. Хотя сама разработка языка велась с 2010 года. Текущей версией языка на данный момент является версия 1.2, которая вышла 28 ноября 2017 года.

Также стоит отметить, что Kotin развивается как opensource, исходный код проекта можно посмотреть в репозитории на github по адресу https://github.com/JetBrains/kotlin/.

Kotlin испытал влияние многих языков: Java, Scala, Groovy, C#, JavaScript, Swift и позволяет писать программы как в объектно-ориентированном, так и в функциональном стиле. Он имеет ясный и понятный синтаксис и довольно легок для обучения.

Самым популярным направлением, где применяется Kotlin, является прежде всего разработка под ОС Android. Причем настолько популярным, что компания Google на конференции Google I/O 2017 провозгласила Kotlin одним из официальных языков для разработки под Android (наряду с Java и C++), а инструменты по работе с данным языком были по умолчанию включены в функционал среды разработки Android Strudio начиная с версии 3.0.

Первая программа на Kotlin

Создадим первую программу на языке Kotlin. Что для этого необходимо? Для набора кода программы понадобится текстовый редактор. Это может быть любой тестовый редактор, например, встроенный блокнот или Notepad++. И для компиляции программы необходим компилятор.

Загрузить компилятор непосредственно для самого языка Kotlin можно по адресу https://github.com/JetBrains/kotlin/releases/tag/v1.2.0.

Далее определим в этом файле код, который будет выводить некоторое сообщение на консоль:

Эта функция принимает параметр args, который представляет массив строк.

Откроем командную строку. Вначале с помощью команды cd перейдем к папке, где находится файл app.kt. Затем для компиляции программы введем следующую команду:

После выполнения этой команды будет создан файл app.jar. Теперь запустим его на выполнение. Для этого введем команду

В данном случае считается, что путь к JDK, установленном на компьютере, прописан в переменной PATH в переменных среды. Иначе вместо «java» придется писать полный путь к утилите java.

В итоге при запуске файла мы увидим на консоли строку «Hello Kotlin».

Источник

Поделиться с друзьями
Расскажем обо всем понемногу
Adblock
detector