Jump to content

Язык программирования Котлин принят Гуглом вторым рабочим.


Recommended Posts

Язык программирования Kotlyn российской, ныне интернациональной, компанией JetBrains принят в качестве второго для Андроид.

0.jpg.05f4b6108d9883c7b7b5c56fc6bbb24c.jpg

https://rb.ru/news/kotlin-win/

http://kotlinlang.org/

Трудности с языком Ява (9-й версии)  https://jcp.org/en/jsr/results?id=5959 привели к некоторому застою в этой области. Компания Гугл приняла верное, на мой взгляд, решение. Ввести вторым и, видимо, далее перейти к новому языку программирования.

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

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

Link to comment
Share on other sites

Если бы я начинал что-то писать под андроид сейчас, то выбрал бы Xamarin и C#, поскольку после покупки Xamarin'а Майкрософтом они сделали его бесплатным для одиночных разработчиков.

Link to comment
Share on other sites

Мне Котлин ближе по синтаксису как дельфисту. К тому же, Zamarin года три назад подглючивал при компиляции и отладке.

А тут ещё мастдайная фирма усыновила - это не к добру.

Edited by Teddy_Bear
Link to comment
Share on other sites

  • 3 years later...

Решил поделиться своими впечатлениями о Котлине. Несколько месяцев назад начал разрабатывать очередное приложение под Android и решил таки перейти на Kotlin. И, должен сказать, язык и в правду очень хорош. Особенно если его сравнивать с той Джавой, которая в Android (Java 7).

Помимо того, что сам синтаксис Котлина очень компактный, в языке просто огромнейшее количество полезных ништяков из мира функционального программирования. Функциональные типы, полноценные лямбды - это всё то, чего не хватало в Android-Java. Локальные функции, scope-функции, функции-расширения, null-безопасность... Я просто поражаюсь тому, как в языке всё продуманно, как буквально в паре строк можно уместить столько действий, в то время как в той же Джаве приходилось для этого строить 10-этажные конструкции кода, с проверками на null, создавать ад из коллбэков и т.д. Причём от такой плотности полезной информации код на Котлине не становится запутанным или сложным для восприятия.

Котлин компилируется в байт-код JVM, а потому в любом проекте, написанном на Java, в любой момент можно просто начинать писать на Котлине (!!!) Не нужно ничего конвертировать, переписывать (хотя конвертер Java->Kotlin в той же Android Studio есть, довольно качественный, но он всё равно переводит код не всегда красиво; приходится кое-что корректировать, порой проще переписать всё вручную). А так, ты просто внутри Java-проекта пилишь новый файл с расширением .kt и пишешь на Котлине; всё это собирается в самый обычный jvm байт-код и с точки зрения Java-машины нет никакой разницы.

Касательно отсутствия виртуальной машины - при помощи LLVM Котлин действительно можно компилировать в нативное приложение (работающее без JVM). Но там есть некоторые особенности. В целом, задумка интересная. Но я всё же сторонник для конкретных случаев использовать свои инструменты. А том же Android'е, если мне надо что-то посчитать, очень много и очень быстро, я заюзаю Си (просто Си, без плюсов, без ООП и т.д.). Затем, с помощью JNI, напишу обёртку на Java/Kotlin.

Помимо Android, язык можно использовать при создании веб-приложений и веб-сервисов; есть проект Ktor (кому интересно, загуглите). Разработчики Spring, на сколько я знаю, уже тоже поддерживают новый язык.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...