ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ ЯЗЫКА KOTLIN В ПРОГРАММИРОВАНИИ
С.А. Опивалов, старший разработчик программного обеспечения Кубанский государственный университет (Россия, г. Краснодар)
DOI:10.24412/2500-1000-2023-9-1-260-262
Аннотация. Использование Kotlin в различных сферах практической деятельности набирает обороты. В статье проанализированы преимущества и недостатки этого метода. Проведен сравнительный анализ возможностей ^tlin и Java. Проанализированы перспективы использования Kotlin в контексте ниш и сфер применения.
Ключевые слова: программирование, объектно-ориентированный язык, Kotlin-код, конвертация, Java.
На современном этапе развития практики программирования широкое распространение получили объектно-ориентированные языки программирования [2]. Их использование позволяет налаживать организацию взаимодействия объектов программирования. В качестве объекта понимается сущность, обладающая рядом характеристик. Обычно на практике подобные объекты создаются на основе специальных шаблонов (классов). Иллюстрирующим примером таких объектов может быть какой-нибудь стикер из приложения VK. Чтобы элементы взаимодействовали между собой, нужен специальный язык программирования, выступающий своего рода связующим звеном. В качестве такого звена выступает Kotlin, выступающий объектно-ориентированным языком программирования, который способен работать над основной частью исполняющей системы Java (JVM). Возможности Kotlin позволяют поддерживать, как процедурное программирование, так и объектно-ориентированное, что делает его в условиях динамичного развития других языков программирования почти универсальным [1].
В качестве объектов программирования выступают типы переменных, задаваемых для выполнения программ. В целочисленные переменные обычно не получается поместить текст в силу того, что компилятор обнаружит ошибку с типами переменных сразу на начальном этапе. Наличие такого механизма ускоряет компиляцию.
Kotlin был разработан в компании Jet-Brains в 2011 г. Однако, его анонсирование состоялось лишь в 2016 г. этого было достаточно, чтобы заинтересовать программистов. Язык Kotlin сочетает в себе лаконичность, надежность и поддержка инструментов.
Универсальность языку обеспечивает его способность компилироваться в байт-код, что позволяет работать этому языку на любом device и платформе. Необходимо подчеркнуть, в настоящее время большинство технологических компаний проектируют мобильные приложения для Android на базе Kotlin. В числе подобных популярных примеров следует упомянуть Twitter, Netflix, Reddit, TripAdvisor и мн. др. Кроме того, Kotlin является ключевой основой для написания серверных приложений.
Целью статьи является анализ перспектив использования Kotlin в программировании.
Необходимо признать, появлению языка Kotlin способствовал сравнительный анализ возможностей Java. К тому же многие специалисты отмечают технический симбиоз этого языка с Java, потому что Kotlin комбинирует в себе объектно-ориентированное и функциональное программирование. Между тем данные языки не тождественные, так как Kotlin поддерживает объектно-ориентированное и функциональное программирование. Кроме того, прослеживается аналогия в историческом языке Java, который в свое время был лаконичнее по сравнению с конкури-
рующими с ним C и С++. Следует отметить, что в Java на создание классов данных требуется больше времени в связи с установкой полей и переменных, тогда как для Kotlin в данном случае достаточно включения в код слова «data». Данные языки способны создать сразу ряд фоновых потоков для обработки длительных по продолжительности операций, и не создают проблемы для основного потока. Однако, арсенал инструментов Kotlin пополнился более простой для этого инструментом Coroutines, упрощающей работу с фоновыми потоками для обработки длительных операций. Определенные различия между Java и Kotlin измеряются популярностью и расширением области применения последнего [4]. Работа над проектом, написанным на Java, с имплементацией элементов кода Kotlin не всегда успешная.
При этом Kotlin обратно совместим с этим языком, что позволяет для запуска проектов применять Java-код, и не переписывать весь Kotlin-код, а также поступательно конвертировать написанное приложение на Java в Kotlin. Специалисты подчеркивают, что с помощью Kotlin в отдельных ситуациях можно указывать значение Null для безопасной работы с пустыми ссылками. Легкость в изучении языка привела к тому, что на данный язык существует повышенный спрос среди начинающих программистов. Kotlin отличает кроссплатформенность и мульти-платформенность, что делает его совместимым с Android, Windows, macOS. Его возможности позволяют легко адаптироваться к требованиям web-приложений. Отдельное применение этот язык находит в серверной разработке. Перечисленные возможности показывают, что Kotlin интегрирует в себе лучшие свойства парадигм программирования: функциональной, императивной, декларативной, объектно-ориентированной. Безопасность и функциональность языка позволяет писать простой и чистый код. Неслучайно на язык Kotlin обратила внимание компания Google уже через год после его анонсирования, выявив его значительный потенциал. На это указывает тот факт, что 70%
разработок компании для Android построены на этом языке [3].
Каждый язык имеет свою нишу применения. Kotlin получил значительное распространение в мобильной и серверной разработке, кроссплатформенных приложений. На практике это означает, что один и тот же код адаптирован сразу для нескольких систем (код компилируется на множество платформ). Реже его используют для анализа данных (DataScience). По сравнению с другими языками Kotlin отличает экономическая эффективность в силу его компактного кода, что способствует снижению затрат и времени на разработку. Компактный код языка позволяет добиться таких же высоких результатов, как и с другими емкими языками программирования.
Следует подчеркнуть, язык Kotlin на современном этапе актуален, что объясняется его дополнительным функционалом, который упрощает работу разработчиков. Особенно четко это положение прослеживается при использовании языка Kotlin в многопоточных приложениях [5]. Тем не менее присутствует проблема скорости компиляции. В приложении Java такое не наблюдается. Анализ мнений экспертов и практиков показывает, несмотря на сказанное, перспективы применения Kotlin для разработки Android значительные. Это объясняется следующими аргументами:
1) трудозатраты времени для написания кода снижаются;
2) при этом языке не наблюдается девиаций в работе компилятора и непосредственно приложения;
3) сильная поддержка IDE.
Следует признать, кроме Kotlin, активно применяются возможности и других языков, конкурирующих с ним. Но функционал Kotlin позволяет занимать лидирующие позиции по технологической конкуренции.
В совокупности перечисленные возможности позволяют решать широкий спектр прикладных задач, что делает Ko-tlin привлекательным для компаний из различных сфер, которые в ближайшей перспективе будут нуждаться в специали-
стах, готовых работать с данным языком. К тому же существующие мобильные при-Этот язык простой в изучении. ложения, написанные на других языках,
На современном этапе цифровизации могут быть на всегда удобными для кли-многие предприятия связывают завоевание ентов. Возможности и скорость мобиль-рыночной доли и освоение новых ниш с ных приложений, созданных на базе разработкой мобильных приложений для Kotlin, может принести компаниям боль-взаимодействия с целевыми аудиториями. шую прибыль.
Библиографический список
1. Афанасьев В.О., Поляков С.А., Бородин А.Е., Белеванцев А.А. Kotlin с точки зрения разработчика статического анализатора // Труды Института системного программирования РАН. - 2021. - №6. - С. 67-82.
2. Нагорный Н.Н. Современные технологии программного обеспечения для веб-приложений // Цифровая экономика. - 2023. - №2. - С. 81-84.
3. Tamal Das Kotlin vs. Java: Which Is Best for Developing Android Apps? / MUO. URL: https://www.makeuseof.com/kotlin-vs-java/ (дата обращения: 15.07.2023).
4. Raghu Vijay Kotlin vs Java: Which One Is Best For 2023? / ExternLabs. URL: https://externlabs.com/blogs/kotlin-vs-java-2022/ (дата обращения: 15.07.2023).
5. Which is better, Kotlin vs. java? Let's settle the debate / DAC.digital. URL: https://dac.digital/kotlin-vs-java/ (дата обращения: 15.07.2023).
PROSPECTS OF USING THE KOTLIN LANGUAGE IN PROGRAMMING
S.A. Opivalov, Gradle Inc. Senior Software Engineer Kuban State University (Russia, Krasnodar)
Abstract. The use of Kotlin in various fields of practical activity is gaining momentum. The article analyzes the advantages and disadvantages of this method. A comparative analysis of the capabilities of Kotlin and Java has been carried out. The prospects of using Kotlin in the context of niches and fields of application are analyzed.
Keywords: programming, object-oriented language, Kotlin code, conversion, Java.