Научная статья на тему 'KOTLIN КАК ЯЗЫК ПРОГРАММИРОВАНИЯ БУДУЩЕГО'

KOTLIN КАК ЯЗЫК ПРОГРАММИРОВАНИЯ БУДУЩЕГО Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
658
128
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
KOTLIN / JAVA / ANDROID / ПРОГРАММИРОВАНИЕ / РАЗРАБОТЧИК / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ИНФОРМАЦИОННЫЕ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рахматуллин Т. Г.

В объектно-ориентированном языке операции производятся с объектами, взаимодействующими друг с другом. Kotlin - это статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine (JVM). Поддерживает как объектно-ориентированное, так и процедурное программирование. Статья посвящена исследованию вопросов, связанных с популяризацией языка программирования Kotlin. Обобщены особенности языка программирования. Проведен анализ применения языка в разработке программного обеспечения. Изложены перспективы развития языка программирования Kotlin. Произведен сравнительный анализ языков программирования Java и Kotlin. В статье отмечается, что это перспективный и надежный язык. Сильная связь с Java упрощает ее изучение для большинства разработчиков, особенно для тех, кто работает с этой технологией. Растущее сообщество пользователей является мощной поддержкой в этом отношении. Учитывая также положительное влияние и преимущества для бизнеса, это хороший выбор для предприятий, планирующих разработку мобильного приложения, а также для тех, кто хочет модернизировать свое текущее, возможно, уже немного устаревшее и глючное приложение. Независимо от ваших намерений, Kotlin может принести огромную прибыль.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

KOTLIN AS THE PROGRAMMING LANGUAGE OF THE FUTURE

In an object-oriented language, operations are performed on objects that interact with each other. Kotlin is a statically typed, object-oriented programming language that runs on top of the Java Virtual Machine (JVM). Supports both object-oriented and procedural programming. The article is devoted to the study of issues related to the popularization of the Kotlin programming language. The features of the programming language are generalized. The analysis of the use of the language in software development has been carried out. Prospects for the development of the Kotlin programming language are outlined. A comparative analysis of Java and Kotlin programming languages has been made. The article notes that it is a promising and reliable language. A strong connection to Java makes it easy to learn for most developers, especially those who work with this technology. The growing user community is a strong support in this regard. Considering also the positive impact and business benefits, this is a good choice for businesses planning to develop a mobile application, as well as for those who want to modernize their current, perhaps already slightly outdated and buggy application. Regardless of your intentions, Kotlin can bring in huge profits.

Текст научной работы на тему «KOTLIN КАК ЯЗЫК ПРОГРАММИРОВАНИЯ БУДУЩЕГО»

Kotlin как язык программирования будущего

Рахматуллин Тимур Галиевич

backend-программист, компания MyTona

В объектно-ориентированном языке операции производятся с объектами, взаимодействующими друг с другом. Kotlin - это статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine (JVM). Поддерживает как объектно-ориентированное, так и процедурное программирование. Статья посвящена исследованию вопросов, связанных с популяризацией языка программирования Kotlin. Обобщены особенности языка программирования. Проведен анализ применения языка в разработке программного обеспечения. Изложены перспективы развития языка программирования Kotlin. Произведен сравнительный анализ языков программирования Java и Kotlin. В статье отмечается, что это перспективный и надежный язык. Сильная связь с Java упрощает ее изучение для большинства разработчиков, особенно для тех, кто работает с этой технологией. Растущее сообщество пользователей является мощной поддержкой в этом отношении. Учитывая также положительное влияние и преимущества для бизнеса, это хороший выбор для предприятий, планирующих разработку мобильного приложения, а также для тех, кто хочет модернизировать свое текущее, возможно, уже немного устаревшее и глючное приложение. Независимо от ваших намерений, Kotlin может принести огромную прибыль.

Ключевые слова: Kotlin, Java, Android, программирование, разработчик, программное обеспечение, информационные системы.

В объектно-ориентированном языке операции производятся с объектами, взаимодействующими друг с другом. Любая сущность с определенным набором характеристик может быть объектом. Например, персонаж в игре или стикер в Telegram. Эти объекты проектируются по специальным шаблонам, которые называются классами. [2]

Kotlin - это статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine (JVM). Поддерживает как объектно-ориентированное, так и процедурное программирование.

Статическая типизация - это типы переменных, которые задаются разработчиками до выполнения программы. Если объявилась целочисленная переменная, то в нее уже не получится поместить текст, так как компилятор тут же укажет на ошибку. Это позволит избежать ошибок с типами переменных уже на начальном этапе, а также ускорит компиляцию.

Данный язык программирования разработала компания JetBrains в 2011 году.[1] После анонса в 2016 году, Kotlin заинтересовалась большая часть программистов. Это неудивительно, ведь лаконичность, надежность и поддержка инструментов - это все сочетается в одном языке программирования, который так прост в использовании. А также, Kotlin возможно использовать практически везде, где работает Java (backend, desktop, web и пр.) и он сочетает в себе функциональное и объектно-ориентированное программирование. За счет возможности компилироваться в байт-код, он способен работать почти на любой платформе или девайсе.[2]

Стоит отметить, что многие технологические компании создают свои приложения для Android именно на основе языка Kotlin. Некоторые из популярных приложений, созданных на этом языке - Reddit, Twitter и Netflix.[3] Также, помимо мобильной разработки, Kotlin все больше используется при написании backend приложений.

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

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

Совместим с Java. В Kotlin можно вызывать функции из Java-кода и наоборот. Библиотеки и фреймворки можно настроить из Java, для запуска в проекте от Kotlin. Поскольку Kotlin обратно совместим с Java, вам не придется переписывать весь ваш код. Вы можете постепенно конвертировать приложение в Kotlin.

X X

о го А с.

X

го m

о

м о м м

CS CS

о

CS

о ш m

X

<

m О X X

Безопасность. Во время компиляции почти невозможно отследить NullPointerException. Поэтому, при создании Kotlin, учли это исключение. Теперь, при инициализации переменной можно указать, что она в некоторых моментах может иметь значение null, и при ее использовании это должно учитываться.

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

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

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

Поддерживается Google. Google поддерживает Kotlin еще с 2017 года, что является огромным потенциалом.

Современность и мощность. Kotlin объединил в себе все самые лучшие черты объектно-ориентированной, функциональной, декларативной и императивной парадигм программирования. За счет своей многофункциональности и безопасности он позволяет писать лаконичный и чистый код. [5]

Применение Kotlin

У каждого языка программирования есть своя ниша, где его используют чаще всего. У Kotlin на данный момент их две - серверная и мобильная разработка. Хотя его можно встретить и в Data Science.

До 2017 года Java являлся официальным языком для разработки Android приложений. Однако, в настоящее время именно Kotlin признали самым современным вариантом разработки приложений, компиляции кода и замены других языков программирования.

Также Kotlin широко используется для разработки кроссплатформенных приложений, которые могут работать на нескольких операционных системах. В нем есть Multiplatform технология, позволяющая адаптировать один код под несколько систем. Она позволяет компилировать код более чем на 10 платформ. [1]

Несколько плюсов Multiplatform:

• Нет проблем с тем, что одна команда ждет другую.

• Написав один тест, покрываются сразу все целевые платформы.

• Имеется одна общая доменная модель, за счет которой разработчики, аналитики и менеджеры лучше понимают друг друга.

• Язык программирования понятен и прост. [2]

Рассмотрим несколько ключевых преимуществ использования Kotlin для разработки под Android:

• Полная совместимость с существующим кодом Java. Благодаря этому, Kotlin можно запускать на любых

серверах, где работает Java. Его также часто используют для создания бэкенда (та часть систем, которая выполняется на сервере и не видна пользователям). Облачные сервисы Jira и продукты Adobe уже работают на языке Kotlin.

• Благодаря тому, что Kotlin является гораздо более сжатым языком, чем Java, снижаются затраты, а время разработки значительно сокращается. Это означает, что предстоит писать меньше кода и достигать тех же результатов.

• Многие функции, специально созданы для разработки под Android, такие как встроенная поддержка null safety и расширений Android. [6]

Популярные приложения для Android, созданные с помощью Kotlin:

С официального сайта Google для разработчиков можно выяснить, что более 70% из 1000 лучших приложений для Android используют Kotlin. Это очень много! Среди них присутствуют довольно именитые бренды. Это показывает не только то, что Kotlin стал чрезвычайно модным, но и то, что его преимущества высоко ценятся. Некоторые из наиболее узнаваемых из них:

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

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

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

Confluence, разработанный с учетом удаленного доступа австралийской компанией-разработчиком программного обеспечения Atlassian. Это рабочее пространство, где команды могут обмениваться знаниями и сотрудничать. Atlassian написал Confluence на языке программирования Java и впервые опубликовал его в 2004 году. Когда дело доходит до их мобильных продуктов, например, Confluence Cloud, они разрабатывают их на Kotlin. Руководитель мобильной команды Atlassian Карлос Хачикян говорит, что они быстро адаптируются к современным технологиям, и поэтому в настоящее время они разрабатывают мобильнью приложения на Swift и Kotlin.

Simple. Что может скрываться под этим, во всяком случае, простым названием? Банковское мобильное приложение. Simple - одно из первых приложений такого типа, запущенное в 2012 году. С тех пор он регулярно

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

Стоит отметить, что Kotlin осваивают и в сфере науки. Например, физики и математики. На данный момент достаточно активно развивается библиотека KMath, которая обеспечивает интеграцию с TensorFlow и приносит продвинутую математику в Kotlin.

Итак, если и начинать новый проект для Android, то Kotlin определенно стоит рассмотреть в качестве основного языка разработки.

Kotlin или Java?

Одним из основных различий между Java и Kotlin является то, что первый представляет из себя объектно-ориентированный язык программирования, в то время как второй поддерживает и ООП, и функциональное программирование. Из этого следует, что код Kotlin может быть более лаконичным и кратким, чем код Java, а также включать дополнительные функции, например, безопасные конструкторы. Кстати, когда язык Java только появился, он был тоже проще и лаконичнее конкурентов, например, С и С++. Правда, в настоящее время этот язык уже кажется старомодным и запутанным. [5]

Kotlin же изначально создавали компактным, чтобы программистам было проще и быстрее работать. Например, в создании класса Person на Java будет как минимум 10 строк, в то время как на Kotlin всего одна.

Ещё одна проблема Java-разработчиков связана с null-безопасностью (Null Safety) или исключением NullPointerException. В Java используют null для представления отсутствия значений, но эта же ситуация может попросту остановить работу программы или увеличить скорость, время обработки. В Kotlin же изначально встроена null-безопасность. Если программист решит присвоить чему-то значение null — во время компиляции просто произойдёт сбой. Для разработчиков null-без-опасность языка позволяет не писать дополнительный код, что несомненно является еще одним преимуществом языка перед Java.[5]

Проверяемые исключения. В Kotlin разработчики также не обязаны проходить через часто трудоемкий и долгоиграющий процесс перехвата или объявления исключений, в то время как программисты Java это делают. Компилятор в Java вынуждает каждый метод обозначать как исключение, а это отнимает время скорости разработки.

При создании классов данных в Java разработчикам нужно устанавливать поля или переменные для хранения, установки для полей, конструктор и функции получения данных и много других функций. Тем временем, в Kotlin этот процесс гораздо проще. Процесс создания классов данных уже упрощен, требуется лишь включение ключевого слова "data".[7]

Несколько потоков. Оба языка позволяют создавать несколько фоновых потоков для обработки длительных операций, избегая трудностей в основном потоке, где компоненты, принадлежащие одному и тому же приложению, запускаются в Android Studio. Это сложная задача на Java, тогда как у Kotlin есть более простое со-программное решение (Coroutines).

Разработка Android. Если же говорить про популярность использования того или иного языка программирования, то Kotlin - новый язык и область его применения постоянно растет. В то время как Java чаще используется для поддержания старых проектов. Хотя и является одним из самых популярных языков программирования и по сей день.

Итак, с Kotlin вы можете пользоваться множеством функций, которые недоступны в Java. В Kotlin вы можете избежать этих надоедливых ошибок

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

Но и недостатки тоже присутствуют в Kotlin. Например, он не пользуется такой большой поддержкой как Java. И поскольку это относительно новый язык, все еще есть некоторые недостатки, которые необходимо устранить, если вы решите писать код с помощью Kotlin.

Итак, что лучше - Kotlin или Java? Если вы начинаете новый проект с нуля, то Kotlin станет подходящим вариантом, особенно если вы относитесь к группе разработчиков Android. Однако, если вы работаете над уже существующим проектом, который написан на Java, то, возможно, лучше пока придерживаться его, даже если этот код можно вызвать из Kotlin.[2]

Перспективы развития и популяризации Kotlin

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

Многие разработчики считают, что за Kotlin стоит будущее именно Android-разработки. Во-первых, из-за своей лаконичности. Меньше тратится времени на написание кода, тем самым сокращается вероятность допустить ошибку. Во-вторых, Kotlin созрел как надежный инструмент без подвохов в виде странного поведения компилятора или самого приложения. Также имеет очень сильную поддержку IDE. [2]

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

Выводы относительно того, стоит ли использовать Kotlin, очевидны. Это перспективный и надежный язык. Сильная связь с Java упрощает ее изучение для большинства разработчиков, особенно для тех, кто работает с этой технологией. Растущее сообщество пользователей является мощной поддержкой в этом отношении. Учитывая также положительное влияние и преимущества для бизнеса, это хороший выбор для предприятий, планирующих разработку мобильного приложения, а также для тех, кто хочет модернизировать свое текущее, возможно, уже немного устаревшее и глючное приложение. Независимо от ваших намерений, Kotlin может принести огромную прибыль. [4]

X X

о го А с.

X

го m

о

м о м м

Литература

1. Mitesh Modi: Kotlin vs Java: Which Is Better for You in 2022? [Электронный ресурс] // Published in MQoS Technologies, 2022. - Режим доступа к ресурсу: https://medium.com/mqos-technologies/kotlin-vs-java-which-is-better-for-you-in-2022-7ce97790c20

2. Максим Сафронов: Язык программирования Kotlin: что это, где применяется и за что его любят разработчики [Электронный ресурс] // Статья Skillbox Media, 2022. - Режим доступа к ресурсу: https://skillbox.ru/media/code/yazyk-programmirovaniya-kotlin/

3. Tamal Das: Kotlin vs. Java: Which Is Best for Developing Android Apps? [Электронный ресурс] // Publication Makeuseof, 2021. - Режим доступа к ресурсу: https://www.makeuseof.com/kotlin-vs-java/

4. Marlena Walburg: What is Kotlin used for? What's worth knowing? [Электронный ресурс] // Blog Binarapps, 2020. - Режим доступа к ресурсу: https://binarapps.com/what-is-kotlin-used-for-whats-worth-knowing/

5. Raghu Vijay: Kotlin vs Java: Which One Is Best For 2022? [Электронный ресурс] // Blog Externlabs, 2022. -Режим доступа к ресурсу: https://externlabs.com/blogs/kotlin-vs-java-2022/

6. Kela Casey: Java Vs Kotlin: Which One Is Better To Learn In 2022? [Электронный ресурс] // Blog Codersera, 2020. - Режим доступа к ресурсу: https://codersera.com/blog/java-vs-kotlin/

7. Алина Онюшкина: Java vs Kotlin: что выбрать в 2022 году [Электронный ресурс] // Статья Checkroi, 2021. - Режим доступа к ресурсу: https://checkroi.ru/blog/java-ili-kotlin-chto-vybrat/

Kotlin as the programming language of the future Rahmatullin T.G.

MyTona

In an object-oriented language, operations are performed on objects that interact with each other. Kotlin is a statically typed, object-oriented programming language that runs on top of the Java Virtual Machine (JVM). Supports both object-oriented and procedural programming. The article is devoted to the study of issues related to the popularization of the Kotlin programming language. The features of the programming language are generalized. The analysis of the use of the language in software development has been carried out. Prospects for the development of the Kotlin programming language are outlined. A comparative analysis of Java and Kotlin programming languages has been made.

The article notes that it is a promising and reliable language. A strong connection to Java makes it easy to learn for most developers, especially those who work with this technology. The growing user community is a strong support in this regard. Considering also the positive impact and business benefits, this is a good choice for businesses planning to develop a mobile application, as well as for those who want to modernize their current, perhaps already slightly outdated and buggy application. Regardless of your intentions, Kotlin can bring in huge profits. Keywords: Kotlin, Java, Android, programming, developer, software,

information systems. References

1. Mitesh Modi: Kotlin vs Java: Which Is Better for You in 2022? [Electronic

resource] // Published in MQoS Technologies, 2022. - Resource access mode: https://medium.com/mqos-technologies/kotlin-vs-java-which-is-better-for-you-in-2022 -7ce97790c20

2. Maxim Safronov: The Kotlin programming language: what it is, where it is

used and why developers love it [Electronic resource] // Article by Skillbox Media, 2022. - Access mode to the resource: https://skillbox.ru/media/code/ yazyk-programmirovaniya-kotlin/

3. Tamal Das: Kotlin vs. Java: Which Is Best for Developing Android Apps?

[Electronic resource] // Publication Makeuseof, 2021. - Resource access mode: https://www.makeuseof.com/kotlin-vs-java/

4. Marlena Walburg: What is Kotlin used for? What's worth knowing?

[Electronic resource] // Binarapps Blog, 2020. - Resource access mode: https://binarapps.com/what-is-kotlin-used-for-whats-worth-knowing/

5. Raghu Vijay: Kotlin vs Java: Which One Is Best For 2022? [Electronic

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

resource] // Blog Externlabs, 2022. - Resource access mode: https://externlabs.com/blogs/kotlin-vs-java-2022/

6. Kela Casey: Java Vs Kotlin: Which One Is Better To Learn In 2022?

[Electronic resource] // Codersera Blog, 2020. - Resource access mode: https://codersera.com/blog/java-vs-kotlin/

7. Alina Onyushkina: Java vs Kotlin: what to choose in 2022 [Electronic

resource] // Checkroi article, 2021. - Resource access mode: https://checkroi.ru/blog/java-ili-kotlin-chto-vybrat /

СЧ СЧ

о

СЧ

о ш m

X

<

m О X X

i Надоели баннеры? Вы всегда можете отключить рекламу.