The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Доступен компилятор Kotlin/Native 0.6

15.02.2018 21:27

Представлен выпуск инструментария Kotlin/Native 0.6, предоставляющего возможность компиляции проектов на языке Kotlin в самодостаточные исполняемые файлы, для выполнения которых не требуется виртуальная машина. Kotlin/Native реализован в виде бэкенда на базе LLVM, интегрируемого со штатным компилятором Kotlin, и сопутствующих реализаций runtime и генератора кода. Kotlin/Native может применяться для сборки приложений для платформ, в которых применение виртуальной машины не оправдано или невозможно, например, для встраиваемых систем.

В новом выпуске добавлена возможность использования Kotlin/Native в многоплатформенных проектах, например, теперь можно применять один сборочный сценарий Gradle для формирования сборок в виде байткода JVM, машинного кода и JavaScript. Добавлена поддержка Kotlin 1.2.20, Java 9 и Gradle 4.5, представлена возможность сборки для микроконтроллеров STM32, обеспечена совместимость с классами Objective-C, улучшен API для передачи объектов между потоками и обработчиками, добавлена возможность экспорта первичных функций на Си, реализована возможность сборки в псевдокод WebAssembly.

Напомним, что разработчики языка Kotlin попытались сохранить максимальную совместимость и похожесть на Java, при этом избавившись от имеющихся в Java ограничений и недостатков. Язык обеспечивает неплохую переносимость с Java - из программ на Java можно вызывать компоненты, написанные на Kotlin, и, наоборот, из программ Kotlin можно вызывать Java-классы. Среди отличий Kotlin выделяется ориентация на обеспечение более высокой безопасности за счет реализации статических проверок, отсутствия raw-типов, полного сохранения информации о типах в процессе выполнения и реализации массивов в виде инварианта. Язык обеспечивает поддержку функций высшего порядка, вывода типов значений, уточняющих "примесей" (mixin) и делегирования.

  1. Главная ссылка к новости (https://blog.jetbrains.com/kot...)
  2. OpenNews: В Android обеспечена официальная поддержка разработки на языке Kotlin
  3. OpenNews: Релиз Kotlin 1.0, языка программирования для JVM и Android
  4. OpenNews: Открыт код реализации языка программирования Kotlin
Лицензия: CC-BY
Тип: Программы
Ключевые слова: kotlin, llvm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (34) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.2, trolleybus (?), 21:33, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Так держать, JetBrains!
     
  • 1.3, Аноним (-), 22:25, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Какого размера получаются выходные exe файлы?
     
     
  • 2.9, Crazy Alex (ok), 01:10, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да пусть хоть гигабайт, скорость какая?
     
     
  • 3.12, Coocos (?), 05:54, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Гагабайт не прокатит. Не влезет в STM32.
     
     
  • 4.15, fr0ster (ok), 09:35, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    (stq sarcasm t)
    Это проблема STM32!
    (stq sarcasm nil)
     
     
  • 5.18, burjui (ok), 12:11, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    veryFunny :: Bool
     
  • 4.16, Аноним (-), 10:54, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В M7 влезет
     

  • 1.4, Аноним (-), 22:51, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Чот с самого начала излучения котла, меня не покидает чувство, что jb сделали этого кадавра для облегчения болей от разработки на java. То, что получилось в результате, однако, удобно только тем, кто познал всю боль разработки БОЛЬШИХ проектов на java. Ну или это просто попытка оправдать затраты на разработку перед инвесторами.
     
     
  • 2.22, Аноним (-), 15:18, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >что jb сделали этого кадавра для облегчения болей от разработки на java

    Это написано на официальном сайте в описании языка kotlin, 3 строкой.
    >То, что получилось в результате, однако, удобно только тем, кто

    работает в jetbrains, очевидно же. Проприетарный язычек, котроллируемый одной компанией не нужен, как бы они не клялись в любви к сообществу.
    Так что наш герой едет на помоечку к С#, golang, rust и прочему мусору.

     
     
  • 3.26, _ (??), 01:06, 17/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >прочему мусору.

    Лопнешь ведь, зелёный :)

     
  • 3.30, Гоги (?), 21:07, 17/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Проприетарность" Жабы никак не влияет на её популярность. Равно как и у Котлина. Если язык - достойный, людям всё равно, кто и как его пилит - лишь бы без багов.
     

  • 1.5, Commodore 64 (?), 23:06, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а стоит ли с джавы перескакивать, если я джаву не доучил?
     
     
  • 2.11, Аноним (-), 01:22, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну смотри. Яву все же доучивай - жрать-то тебе наверное хочется. На работе будешь прогать на яве, а дома на котлине, для души (потому что на котлине работы пока что нету короче). Я сейчас прогаю дома на яве (тоже для души), вместе с тем мне приходится дублировать ява-код на тайпскрипте, чтоб в браузере выполнять. А тут смарю - котлин и там и там может выполняться, так что ща допью пивасик и напишу свой первый хелловорлд на котлине.
     
     
  • 3.13, Онаним (?), 06:26, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Я сейчас прогаю дома на яве (тоже для души), вместе с тем мне приходится дублировать ява-код на тайпскрипте, чтоб в браузере выполнять.

    Что, мало компиляторов JVM-байткода в JavaScript/WASM?

     
     
  • 4.23, J.L. (?), 18:11, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Я сейчас прогаю дома на яве (тоже для души), вместе с тем мне приходится дублировать ява-код на тайпскрипте, чтоб в браузере выполнять.
    > Что, мало компиляторов JVM-байткода в JavaScript/WASM?

    а перечислить ? вроде мало

     
     
  • 5.25, J.L. (?), 18:13, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Я сейчас прогаю дома на яве (тоже для души), вместе с тем мне приходится дублировать ява-код на тайпскрипте, чтоб в браузере выполнять.
    >> Что, мало компиляторов JVM-байткода в JavaScript/WASM?
    > а перечислить ? вроде мало

    я бы до кучи и про компилятор JVM-байткода в натив послушал

     
     
  • 6.27, _ (??), 01:15, 17/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    JCG - но оно уже мёртвое
    Excelsior - оно *оно и за бабло

    У жабистов всегда выбор такой ... зелёный :)

     

  • 1.6, Осторожный_аноним (?), 23:33, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Что-то я не втыкаю. Где в этих исходниках парсер и лексер котлина? Где перевод котлина во внутреннее представление LLVM?
     
     
  • 2.8, Осторожный_аноним (?), 23:53, 15/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Короче, как я понял эта поделка работает только в присутствии JDK который исполняет код котлина (на котором написан kotlin-native) который в свою очередь переводит код на kotlin на котором написано приложение в ir представление LLVM. Написать всё на C++ не осилили.
     
     
  • 3.10, Crazy Alex (ok), 01:11, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну, если так - то его забутстрапить же можно?
     
     
  • 4.20, Осторожный_аноним (?), 12:23, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Если так считаешь то сделай это. Исследовательскую часть для тебя я уже сделал.
     

  • 1.7, mimocrocodile (?), 23:49, 15/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GC то какой? Самое важное
     
     
  • 2.17, Аноним (-), 10:55, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то типа как в питоне.
     

  • 1.14, Аноним (-), 08:03, 16/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >для микроконтроллеров STM32

    а для атмеги 328 будет?

     
  • 1.19, x0r (??), 12:19, 16/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поглядел синтаксис - обычная java не похоже что сразу скомпилируется
     
  • 1.21, Аноним (-), 15:12, 16/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >для выполнения которых не требуется виртуальная машина
    >реализован в виде бэкенда на базе LLVM
    >LLVM - low level virtual machine
    >не требуется виртуальная машина

    Ясно.

     
     
  • 2.24, J.L. (?), 18:13, 16/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>для выполнения которых не требуется виртуальная машина
    >>реализован в виде бэкенда на базе LLVM
    >>LLVM - low level virtual machine
    >>не требуется виртуальная машина
    > Ясно.

    теперь прочитай про фронтенды LLVM

     
  • 2.35, Вареник (?), 19:10, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ясно.

    Не позорься.

     

  • 1.28, Аноним (-), 07:51, 17/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чет у меня вопрос, а рынку реально нужен Kotlin? Какие фундаментальные вопросы кроме амбиций JetBrains он решает? Почему их не решает Scala или Groovy? Чем плохи Rust, Go и %что там сейчас на слуху%
     
     
  • 2.29, Аноним (-), 08:16, 17/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Scala - слишком тяжелая для мобильных устройств, а как язык - просто опасная. На ней слишком дорого вести разработку крупных проектов - надо очень внимательно следить за стилем, иначе проект становится не сопровождаемым.

    Groovy - с одной стороны хорош, но после появления JRuby ниша его подсократилась.

     
  • 2.31, Гоги (?), 21:26, 17/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чет у меня вопрос, а рынку реально нужен Kotlin?

    По-хорошему, ему и Жаба не особо нужна, но раз есть целая армия старпёров, ничего кроме жабы не кодящие, то и Котлин там - необходимая, свежая струя.


     
     
  • 3.34, Вареник (?), 19:09, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Чет у меня вопрос, а рынку реально нужен Kotlin?
    > По-хорошему, ему и Жаба не особо нужна, но раз есть целая армия
    > старпёров, ничего кроме жабы не кодящие, то и Котлин там -
    > необходимая, свежая струя.

    Это такой зуд молодости, весь работающий код выкинуть и переписать на чем-то новомодном и экстравагантном. То стиль якобы лучше, то 5 %  производительности на бенчмарке, то обещания что компилятор сам исправит все ошибки.

     
  • 2.33, Вареник (?), 19:06, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Rust - еще корявее прототипа (сишечки).

    Go - это аналог бейсик и VisualBasic, только от Гугла. Чтобы миллиард индусов можно было обучить кодить, прямо не вынимая из полевых работ.

    Kotlin - развитие Java, с сохранением возоможностей корпоративной платформы и одновременно применением в Embedded.

     

  • 1.32, Вареник (?), 19:02, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Kotlin на STM32? Сильно, надо попробовать :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру