Оффтоп Andrey Frolov
7 061

Google объявила о поддержке в Android созданного россиянами языка программирования Kotlin

​Операционная система Android будет поддерживать приложения, созданные на основе языка программирования Kotlin, который разрабатывается российской компанией JetBrains. Об этом представители Google сообщили на конференции Google I/O.

В закладки

В компании отметили, что это позволит разработчикам быть «более продуктивными». В JetBrains уточнили, что Kotlin будет поддерживаться в приложении Android Studio 3.0 — таким образом, разработчикам не придётся устанавливать дополнительные плагины для обеспечения совместимости.

Разработку Kotlin продолжит спонсировать JetBrains. При этом компания не отказывается от возможности создавать приложения для macOS и iOS с помощью Kotlin.

Kotlin разрабатывается с 2010 года, версия 1.0 вышла в 2016 году. В JetBrains говорили, что это «"прагматичный" язык для JVM и Android», который полностью совместим с Java. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт.

#новость

{ "author_name": "Andrey Frolov", "author_type": "editor", "tags": ["\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438"], "comments": 26, "likes": 27, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 23875, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 23875, "author_id": 14066, "diff_limit": 1000, "urls": {"diff":"\/comments\/23875\/get","add":"\/comments\/23875\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/23875"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

26 комментариев 26 комм.

Популярные

По порядку

Написать комментарий...
13

Jetbrains круты :thumbsup:
Разработанная ими Intellij IDEA - самая крутая IDE для разработки на Java.
Багтрекер Youtrack тоже хорош и удобен.

Ответить
0

а самое главное - Android Studio это и есть Intellij IDEA.
так что технически новость из серии "Jetbrains добавили Jetbrains в Jetbrains".

Ответить

Комментарий удален

0

Он того стоит

Ответить
2

Вопрос: есть ли для джетбрейнс финансовая отдача от языка?

Ответить
4

Скорее всего опосредованно через рост продаж IDEA. Так как в IDEA лучшая поддержка Kotlin из коробки. А на средства разработки бизнес обычно готов раскошелится. Тем более что цены там доступные, это не Oracle.

Ответить
0

Android Studio, где будет поддерживаться Kotlin, не продаётся, а распространяется бесплатно, поэтому доход скорее всего не от продаж, в данном случае можно считать, что google выступает заказчиком у jetbrains софта для своих нужд, некий аутсорс если угодно

Ответить
2

Поддержка языка в Android скажется на его популярности в целом, что, соответственно, может хорошо сказаться на продажах IDEA.

Ответить
0

Ну, значит, приучивание к системе и бренду. Разработчики привыкнут к opensource-версии, а потом для других задач будут просить купить им платную. И ведь купят!

Ответить
2

Сначала он разрабатывался для нужд самих JetBrains, чтобы было проще разрабатывать и поддерживать собственные продукты.

Ответить
0

интеллектуальная собственность как минимум, права на язык, он же вроде не опенсорс

Ответить
1

Язык opensource под Apache 2.0 лицензией. Выложен на github: https://github.com/JetBrains/kotlin

Ответить
0

Права на язык? Разве можно защитить права на язык?..

Ответить
3

Шикарная новость!

P.S. Привет из Кронштадта!

Ответить
3

Воу. Все к тому шло, но приятно услышать такое официально на конференции

Ответить
3

еба нам нужно еще больше языков

Ответить
2

А мне по душе когда так. Без громких заявлений, пафоса пришли и взяли трудом свою часть рынка. Кстати, вот онлайн обучалка, протестите прямо в планшете или смартфоне https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt

Ответить
1

Молодцы!

Ответить
1

Шикарный язык

Ответить
1

Ну теперь то уж точно настало время садиться за изучение этого языка :D

Ответить
–1

Языка D.

Ответить
0

Языка D:

Ответить

Комментарий удален

1

Подозреваю, что коммент был про Swift, а не Metal.

Разница в производительности если и есть, то несущественная. Нужно понимать, что никто в здравом уме не будет писать вещи, требующие дикой производительности на таких языках.

Разница в надежности — вообще непонятно, что это такое и как померять.

Ответить

Комментарий удален

0

Metal? Это от apple? Так его с OpenGL или directX нужно сравнивать. Это ж графический API.

А Kotlin - это язык программирования общего назначения, сравнить можно с java, c#, swift и тп.

Ответить
0

Пробовал котлин, штука очень крутая, но мне не зашло, не смотря на то, что Swift мне очень понравился.
Раздражает путаница между fun и func (первое в котлине, второе в свифте), а так же необходимость написать какую-то хероту, чтобы банально объявить аналог static final поля из Java. Было еще что-то бесящее, но уже не помню.

Ответить
0

companion object там надо написать, чтобы сделать аналог static поля. Получается более компактно, если нужно объявлять несколько статиков сразу.

Ответить
0

Красавчики, чо уж.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления