Яков Сироткин (yakov_sirotkin) wrote,
Яков Сироткин
yakov_sirotkin

Обсуждая Kotlin

Начать изучение Kotlin можно на https://try.kotlinlang.org/ — это самый популярный ответ. Споры в основном разгораются при сравнении с другими языками (это очень-очень традиционно). Однако, мой подход к разработке программного обеспечения основан на удалении ненужного кода, избавлении от дублирования, нахождении понятных имён и ненависти к багам. Понятно, что мне просто не хватает кругозора, чтобы спорить о дизайне языков программирования. Тем не менее, инструментальная поддержка языка для меня имеет большое значение — я хочу, чтобы неиспользуемый код показывался автоматически и чтобы можно было делать переименование явно, а не через полнотекстовый поиск с заменой.

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

Кто-то критикует Kotlin за использование JVM, но как могло быть иначе? JVM совершенствовали больше 20 лет и инвестировали в это десятки, если не сотни, миллионов долларов. JVM тестировали на серверах со 100500 процессорами, которые простые смертные и не видели никогда. И, как показал опыт Android, был бы язык программирования хороший, а производители VM сами придут.

А вот идея о том, что люди начнут в свои Java-приложения вставлять новые классы на Kotlin не кажется мне такой уж многообещающей — это только для тех, у кого код жалко выбрасывать. Давайте представим, что проект на Java начали разрабатывать 7 лет назад. Это означает, что Spring там — на XML. При помощи Maven приложение может зависеть от 400 сторонних библиотек без особых проблем. Представляете, какого размера тут может накопиться технический долг? Когда выйдет Spring, написанный на Kotlin, то это будет мощнейший стимул для радикальных изменений.
Tags: kotlin
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 10 comments