Компания Jetbrains, развивающая интегрированную среду разработки IntelliJ IDEA, представила (http://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released... первый значительный релиз объектно-ориентированного языка программирования Kotlin 1.0 (https://kotlinlang.org/), позволяющего создавать приложения, скомпилированные для последующего выполнения внутри стандартной виртуальной машины Java (JVM) или Android. Дополнительно поддерживается преобразование программ в JavaScript-представление для запуска внутри браузера, но данная функциональность пока отнесена к экспериментальным возможностям. Исходные тексты открыты (http://github.com/jetbrains/kotlin) под лицензией Apache 2.0. Плагины с поддержкой Kotlin подготовлены для интегрированных сред разработки IntelliJ IDEA, Eclipse и Android Studio. Из систем сборки поддерживаются Maven, Gradle и Ant.
Язык развивается в санкт-петербургском центре разработки компании JetBrains c целью создания максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости. При этом проекты на Kotlin полностью совместимы с компонентами на языке Java - из программ Kotlin можно вызывать Java-классы и наоборот, из Java вызывать компоненты, написанные на Kotlin. Кроме возможности использования штатных Java-бибилиотек для Kotlin подготовлена большая библиотека классов, оптимизированная для генерации байткода минимального размера.
Из отличительный черт языка Kotlin можно выделить ориентацию на обеспечение более высокой безопасности за счет реализации статических проверок для выявления таких проблем как разыменование NULL-указателей. Среди других особенностей, имеющих отношение к безопасности, отмечается отсутствие raw-типов, полное сохранение информации о типах в процессе выполнения и реализация массивов в виде инварианта (http://confluence.jetbrains.net/display/Kotlin/Basic+types#B.... Из расширенных языковых возможностей отмечается поддержка функций высшего порядка (http://ru.wikipedia.org/wiki/%D0%A4%D1%8... вывода типов (http://ru.wikipedia.org/wiki/%D0%92%D1%8... значений на основании выражения, использование уточняющих "примесей (http://ru.wikipedia.org/wiki/%D0%9F%D1%8... (mixin) и делегирования (http://ru.wikipedia.org/wiki/%D0%94%D0%B....
URL: http://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released.../
Новость: http://www.opennet.me/opennews/art.shtml?num=43882
>максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков JavaЧуточку причёсанная Ява, которой никто не будет пользоваться потому что есть просто Ява? Кто в здравом уме перейдёт с Явы, на такую же Яву, но подконтрольную разработчикам тормозных IDE?
JetBrains :)
А так же те кому очень нравится IDE
По этих понятно. Я спросил про тех, кто в здравом уме:)
Люди в здравом уме Java не пользуются.
Для этого надо не пользоваться сотовыми, карточками и никакими современными IDE, за исключением одной проприетарной.
Люди в здравом уме не пользуются сотовыми, карточками и так далее.*Просто представил себе здесь этот круто заплюсованный коммент.
Увы, людей в здравом уме почти не осталось
> Увы, людей в здравом уме почти не осталосьПросто здравомыслящие не фокусируются на вышеперечисленном.
+1
>Люди в здравом уме Java не пользуются.Люди в здравом Java умом не пользуются.
Люди в здравом уме вообще не занимаются программированием.
> от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости.Шутка в том, что этой совместимости нет. Пользующиеся iLO2 очень хорошо
это знают. Нужна специально jre 1.4.X вплоть до подверсии, firefox нужной
версии и тому подобное. Хваленая "переносимость" java.
Отдельные косые примеры не опровергают правило. :)
Чуть менее чем все веб-морды к железкам (свитчи d-link, АТС hipath - тысячи их...) именно такие косые примеры.
Как раз опровергают.
Спасибо криворуким разрабам iLO2.
Воспользовались недокументированными возможностями - пожалуйста, страдайте.
>Шутка в том, что этой совместимости нетРечь идёт о совместимости языка по компиляции. Совместимость по виртуальной машине обеспечивает и Kotlin
>Нужна специально jre 1.4.X вплоть до подверсии
Дай ка угадаю. Используют JNI?
Недавно заливал в G5-тые ilo2 датированное осенью 15 года кажется. Т.е. весьма новую. И никакой старой явы не потребовалось.
Я не говорю что нет проблем, я подсказываю что если у вас с ilo проблемы то их можно решить. Только новые билды через sim считаются несовместимыми, но на практике чудесно работают.
>Недавно заливал в G5-тые ilo2 датированное осенью 15 годаА разве это поддерживается HP-ями? То есть ты сам себе устроил вечный праздник? Мои поздравления :)
Впрочем я ваш SLA не видел, может у вас неделя даунтайма предусмотрена.
> А разве это поддерживается HP-ями?Поддерживается ли обновление integrated lights out?
Разумеется да!> Впрочем я ваш SLA не видел, может у вас неделя даунтайма предусмотрена.
Из-за обновления iLO даунтайма не бывает, так как это отдельный компонент
в сервере.
Баги, видимо, тоже будут фиксить годами, причем критичные.
> Баги, видимо, тоже будут фиксить годами, причем критичные.Где? В Oracle JVM?
В язычке своем. Который суть такой же продукт, как и их кривые IDE, в которых они считают нормой фиксить критичные баги, внесенные в релиз, месяцами.https://youtrack.jetbrains.com/issue/PY-16356
Драма:
https://youtrack.jetbrains.com/issue/PY-15605Нам некогда фиксить баги, надо свежие релизы успевать:
https://youtrack.jetbrains.com/issue/WEB-15918 - месяц! на Usage Blocking Issue
Попытки сделать из Java язык на подобии Ruby, но зачем?
Тот у кого мозгов хватает только на освоение топора будет топором и стены красить и двор подметать, не?
в каждом IDE свой язык будет скоро?!
Не целесообразная задача в целом.
Имеет смысл делать более простой, понятный и интуитивный ЯП на основе другого ЯП.
Но делать ЯП по ВСЕМ принципам другого ЯПа - трата времени и не более.
Если бы занялись упрощением использования\написания\отладки - да
В данном случае - нет.
Это же относится ко многим другим ЯП как и скриптовым ужасам.
> Если бы занялись упрощением использования\написания\отладки - даОни этим и занимаются лол
одни недоделки у JetBrains, и котлин не исключение
В целом приятный язык, на фоне Scala, в которой каждая либа написана на своем уникальном языке. Дай творческому дураку DSL - так каждый класс сделает уникально-нечитабельным.
Согласен про Scala: "творческие дураки", обходите этот язык стороной.:D Всем остальным - велкам.Вообще, хоть я сам и скалист, но честно признаю что котлин имеет много годных изменений относительно с джавы. Есть ли смысл изучать котлин после скалки - нет, причём это официальная позиция котлина из faq. Есть ли смысл изучать котлин после джавы - да, и я лично скорее соглашусь.
Довольно интересно. Учитывая сжигатели памяти, которые некоторые люди по недоразумению называют IDE, страшно представить что с моей памятью сделает это. Только одно словосочетание Java и JetBrains заставляет мой процессор нагружаться а оперативку уменьшатся.
Kotlin не видел, но вот слово Scala завит нагружаться ваш ЦПУ ещё с удвоенной энергией)
хотя язык (Scala) прикольный, далеко не такое уныние как Java c бесконечными геттерами-сеттерами (и сопровождающими их фигурными скобками вдовесок) и прочим бойлерплейтом
Так не пользуйся этими get-ерами и set-ерими. Для даных делай простые обьекты, с final полями и одним конструктором, не расшыряемые, как в старом добром Си (хотя и его испоганили glib).
а что я, фреймворки такое частенько требуют
да и речь не только про мой код, но и общее впечатление от просмотра того, что попадалось