company_banner

JetBrains Night в Москве. Видео. Kotlin как первый шаг к JVM

    29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

    На Хабре мы публикуем видео всех докладов, по одному на пост, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

    Сегодня — видео доклада Дмитрия Жемерова, ведущего разработчика в команде Kotlin. Встречайте, Дмитрий Жемеров, Kotlin как первый шаг к JVM:

    Метки:
    JetBrains 87,31
    Компания
    Поделиться публикацией
    Комментарии 11
    • –5
      Научите PyCarm нормально работать с pytest. Цены вам не будет!

      Что хотелось бы:
      — подхват fixture из `conftest.py`
      — подхват встроенных fixture
      — встроенные переменные типа `pytest_plugins, pytestmark`
      • 0
        https://youtrack.jetbrains.com/issues
      • –1

        А есть планы переделать/доделать maven plugin, чтобы он работал скажем как аналогичный от Eclipse для Groovy?

        • 0
          Можно, пожалуйста, конкретнее? «Как аналогичный» в каком отношении?
          • 0

            Да все очень просто на самом деле. Речь о совместной компиляции kotlin+java.


            Вот как работает groovy: используется штатный maven-compiler-plugin, тот самый, который компилирует java. Eclipse groovy компилятор (groovy-eclipse-compiler) это расширение к нему.


            Соответственно, в итоге никаких проблем с совместной компиляцией groovy+java нет, все работает из коробки. За зависимостями внутри проекта можно не следить — это забота компилятора.


            А теперь сравните это с тем, что нужно сделать, чтобы скомпилировать проект, содержащий kotlin и java:


            To compile mixed code applications Kotlin compiler should be invoked before Java compiler.

            Ну и сравните сложность настройки.


            Вот это вот все — довольно сильное ограничение.Я не хочу сказать, что собрать такой проект невозможно, но на сегодня это скажем так, далеко от идеала. Который, как мы видим на примере groovy, вполне возможен.

            • 0
              А зачем в случае котлина следить за зависимостями внутри проекта? Компилятор котлина отлично умеет читать исходный код на java, поэтому то, что нужно запускать его перед запуском javac, никак вас не ограничивает в том, как именно у вас зависят друг от друга классы на kotlin и на java.

              Сложность настройки — да, согласен, но это то, что нужно сделать один раз, причём не руками, а предоставить это IDE.
              • 0
                Пардон, но насчет «предоставить это IDE» я не понял. Вы вот про это, например?

                <configuration>
                   <sourceDirs>
                                            <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                                            <sourceDir>${project.basedir}/src/main/java</sourceDir>
                   </sourceDirs>
                </configuration>
                

                или вот про это?

                <execution>
                                    <id>default-compile</id>
                                    <phase>none</phase>
                </execution>
                

                По-моему и то и другое отдать IDE не получится. Да, насчет один раз — тут вы правы, это не каждый день делается. Ну и в целом это не шоу стоппер, конечно же, но скажем так, некоторое неприятное неудобство, хотя надо сказать, по сравнению с первыми версиями плагина уже стало намного лучше.
                • +1
                  Про «предоставить IDE» я имею в виду, что у нас есть экшн Tools | Kotlin | Configure Kotlin in Project, который автоматически вносит нужные изменения в ваши pom.xml.
                  • 0
                    Кстати, вот это вот: «Компилятор котлина отлично умеет читать исходный код на java, поэтому то, что нужно запускать его перед запуском javac, никак вас не ограничивает в том, как именно у вас зависят друг от друга классы на kotlin и на java.» на первый взгляд ниоткуда не следует. Т.е. открыв документацию на тот же maven plugin, я там этого не вижу. Было бы неплохо как-то отразить этот факт.
        • –2
          Сделайте уже мультиязычность и русификацию ваших продуктов наконец!
          Я конечно могу пользоваться и так, но на родном языке всё равно удобнее.
          • 0
            «Привет, Перл» :)
            Научите Перл компиляться в JVM и все остальное станет просто не нужно )))
            Синтаксического сахара в нём просто целая коробка рафинада )

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое