Pull to refresh
56
0
Nerumb @nerumb

Разработчик

Send message
А можете скинуть ссылку на его выступление?
В Kotlin корутины безстековые. На счет асимметричности не могу дать точного ответа, можно ли их так назвать.
Можете посмотреть подробнее в какой байткод они компилируются в этом посте
Чаще всего coroutines называют корутинами. Например сами JetBrains тут. Также, если посмотреть выступления того же Андрея Бреслава, то он тоже так их называет.
Вообще JavaScript может в многопоточность :)
did-you-know-you-can-multithread-in-javascript
Concurrent != Multithreaded != Asynchronous

Да, это не то же самое.

Не то же самое что

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

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

Для больших коллекций при большом количестве chain преобразований думаю ленивый подход лучше себя покажет
Нет, планов писать подобный пост про Scala у меня нет =)

Сама Scala уже давно появилась, если поискать то наверняка будет полно уже написанных постов. Как например этот пост.
Да, спасибо, исправил. Была опечатка, должно быть mask вместо var3.
Как это сделать в Intellij Idea не знаю (хотя можно по идее плагином попробовать).
А вообще такую подсветку можно сделать в Sublime Text, и в нем открывать файл, полученный с помощью javap.
Плагин для подсветки синтаксиса.
Вам бы пообщаться в живую с Андреем Бреславым, ну или посмотреть его выступления… зарядиться Kotlin'ом…

А по поводу этой статьи, она мягко говоря не очень удачная, вместе с картинкой сверху. Больше смахивает на троллинг перехода на Kotlin.

В Kotlin есть одно неоспоримое преимущество, с ним будет больше ежедневного «фана» (original: fun) чем в других языках =)
Ну на самом деле они у себя его вовсю используют. Код на Kotlin в продакшене начал использоваться еще с начала его создания (вроде 2011) и у них же проходил боевую обкатку. Сейчас полностью на Kotlin написан сервис авторизации. В Rider фронтенд также полностью написан на Kotlin. Как минимум еще тесты пишутся также на Kotlin. В своем новом проекте они также используют Kotlin.

Сам язык постепенно проникает в их проекты. Нет смысла все сразу переписывать на Kotlin, они для того и делали язык с осознанием того, чтобы он прекрасно дружил с большой кодовой базой на Java.
Ну я больше про Java, Scala, Kotlin… В Rust да, это немного другое.
Если вы в таких местах используете Option, то у вас будет либо Some с объектом, либо None. В случае None вы так же теряете информацию о том что пошло не так. (в таких случае целесообразней использовать другой механизм, может тот же Either)

Там же где Option подходит, он заменяется успешно на nullable тип. (не везде, да бывают места где лучше оставить Option, но все же в большинстве случаев его можно заменить)
Как минимум сервис авторизации полностью написан на Kotlin. На счет остальных продуктов может кто из JetBrains скажет точнее.
Да и, в принципе, тот же монадический синтаксис можно использовать и в Kotlin, где нужно.
Но теряется возможность использовать монадический синтаксис и унифицированный код, работающий с разными типами коллекций

Просто один подход заменяется на другой. Да и для nullable типов в Kotlin есть специальные расширения для коллекций (типа filterNonNull и т.п.)
Да и я бы не сказал, что большое количество '?' делает код сильно проще.

Спорное утверждение, кому что ближе =)
Из своего опыта могу сказать что мне подход Kotlin ближе. К примеру код на Scala: fun1().flatMap( _.fun2).flatMap( _.fun3) заменяется на fun1()?.fun2()?.fun3()
Плагин так же есть под Eclipse и Netbeans. Да и не обязательно покупать Ultimate версию Intellij Idea, подойдет и Community.
Это как если бы поставщик обедов для самолётов объявил о запуске своей линии самолётов на том основании, что давно связан с отраслью и хорошо её понимает

Все же не очень корректное сравнение. Ближе будет что-то вроде этого: Создатели промышленных роботов для производства хорошо знакомы со многими отраслями, и решили открыть свою фабрику со своими роботами…

У JetBrains большая экспертиза, есть огромное количество студий под самые разные языки. Им известны проблемы, которые есть в языках, а также все проблемы создания IDE под них. Очень показателен тут пример Scala, где под популярные макросы пишутся плагины для IDE, чтобы она их нормально понимала. Для Kotlin же планируется в будущем добавить метапрограммирование, которое будет позволять делать практически тоже самое что и макросы Scala, но только чтобы оно одновременно легко встраивалось в поддержку IDE.
Поэтому они взяли лучшее что есть в других языках, добавили своих нововведений и получился Kotlin.

За C# стоит Microsoft, за джавой — оракл и понятно, что эти компании пилят компиляторы уже десятилетиями и никуда не денутся и через 20 лет. JetBrains, при всём уважении, пилит красивый текстовый редактор с рюшечками и откуда у них вдруг опыт разработки промышленного компилятора уровня «давайте выкинем Java нафиг» — не ясно

Kotlin запускается поверх JVM, Dalvik VM, и есть транслятор в Javascript (native также есть, но пока не в релизе). Java c JVM точно никуда не денется в обозримом будущем (уж очень много написано на ней и работает сейчас), а значит и Kotlin будет работать поверх JVM. Все новые версии почти сразу будут поддерживаться Kotlin, в том числе и скорая Java 9. Для Android Kotlin теперь поддерживается официально.
Ну а web слишком быстро меняется =). Андрей Бреслав на одном из выступлений сказал, что они рассматривают возможность компилироваться в WebAssembly, как технология дозреет. Это так же дает уверенность что в web можно будет с уверенностью писать на Kotlin.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity