Программирование

Ответить в тред Ответить в тред
Kotlin #4 /kotlin/ Аноним 27/09/20 Вск 13:37:06 18173111
image.png 490Кб, 1250x1250
1250x1250
image.png 52Кб, 800x400
800x400
image.png 445Кб, 619x409
619x409
image.png 76Кб, 1147x721
1147x721
Вкатываемся в новый язык на превосходно отточенной jvm с богатейшим набором библиотек от java.

>Что имеем:
У нас есть синтаксический сахар поверх джавы, немного ФП (удобные лямбды), корутины с асинхронщинной, DSL и многое другое.
В синтаксисе можно встретить много WTF-решений (как же без них), но в целом, плюсы перевешивают минусы. Так-то, во всех языках есть что-то что раздражает.
Параллельно jvm платформы пилятся kotlin-js (котлин для javascript) и kotlin-native (компилируемый в нативный код котлин), а возможность языка в DSL позволяет писать на HTML и CSS (типобезопасно), если кому-то это надо.
Котлин имеет полный интероп с джавой, от чего его не совсем корректно сравнивать его со scala.

>Хайп:
Язык был подкреплен гуглом в связки мобильной разработки, а с недавних пор рекомендован как основной язык для андроида, из-за чего начался рост популярности языка.
Также для языка был создан фонд, чтобы в случае покупки создателей не повторилась судьба с джавой. Вероятно условия гугла.
В связи с этим, котлин очень популярен в мобильной разработке, порой даже раздражает, что весь свежий контент пишут именно о телефонах. Но нужно помнить, котлин это та же джава и сейчас мы видим, многие фреймворки предлагают решения сразу на двух языках (как минимум пишут примеры, но в целом котлин имеет хороший интероп и так).

>Производительность.
Не забываем, что java (с JIT) одна из самых производительных платформ. Она делит топ 10 наравне с многими другими производительными платформами. Также у джавы хорошо оптимизированный драйвер базы данных, что видно по тестам.
https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=query
Нередко именно база-данных является узким местом в веб-приложениях.

>Q: Котлин это что-то про разработку на андроиде?
A: Нет, не только. Объем разработки на JVM высок, но в основном где-то на галерах. Смотрим статистику:
https://www.jetbrains.com/ru-ru/lp/devecosystem-2019/kotlin/

>Q: ...кококо, котлин уничтожит джаву!
A: Нет. Котлин сильно завязан на джаву и не заменяет её, а скорее дополняет (как typescript дополняет javascript). Джаву никто и ничто не заменит в ближайшие 10-15 лет, у этого языка чрезвычайно огромный капитал написанного кода, поэтому переживать за неё не стоит. В любом случае конкуренция это хорошо, джава стала развиваться (попутно завозя годноту в байткод).

>Q: Стоит ли сразу вкатиться в котлин минуя джаву?
A: Нет. Не стоит. Есть точка зрения, что котлин позиционируется как "удобная/лучшая джава", подразумевая то, что ты хочешь писать на джаве, но более современно и практично. Да и глупо игнорировать джавоский мир, который является в топе по числу библиотек и решений, где тебе все равно придется погрузиться когда-то в его синтаксис.

>Q: Но если меня интересует только разработка под андроид, стоит ли вкатываться в джаву?
A: Стоит. Доки старого API на джаве, кодогенерация, байткод близкий к джаве. Ну и легаси, оно тоже на джаве.

>IDE - среда разработки.
Бесплатная community edition - обычно более чем достаточно (и работает шустро), но можете попробовать триал-версию.
https://www.jetbrains.com/idea/download/

>Официальный сайт и там же чтиво
https://kotlinlang.org/docs/reference/

>Тоже с переводом (на первый взгляд, ру-перевод впервые выглядит не заброшенным):
https://kotlinlang.ru/

>Котлин в примерах
https://play.kotlinlang.org/byExample/overview
>Koans
https://play.kotlinlang.org/koans/overview
>Try Kotlin (пробуй и кодь)
https://try.kotlinlang.org/
>Knowledge map
https://hyperskill.org/knowledge-map/209

>Онлайн компилятор (вставить код или просто что-то потестить)
https://play.kotlinlang.org/

>Awesome (либы близкие к kotlin, но не стоит забывать про java решения)
https://kotlin.link/
или
https://github.com/KotlinBy/awesome-kotlin#libraries-frameworks-web

>kotlin для питонистов [eng]
https://github.com/Khan/kotlin-for-python-developers

>Telegram
В телеге есть чаты по котлину. Это полу-белорусское комьюнити, которое клонирует пачками чаты (раньше про джаву - JavaBy и KotlinBy в Gitter). Крайне не рекомендую посещать это рассадник из ЧСВ макак. В чатах лобызаются одни и те же лица и если ты им не понравишься (а ты им не понравишься) будут постоянно тебя подстрекать пассивной агрессией или принуждать к анальным правилам, которые они вспоминают только тогда, когда пишешь ты. Конечно, ты можешь терпеть и сидеть в этой помойке, но если не хочешь словить негатив и получить ложное представление о ру-комьюнити, не рекомендую посещать этих ребят. Лично видел как токсично слили пчела за расспрос про api java.
Если можешь в ангельский, лучше сразу нырнуть в слаку.
https://kotlinlang.org/community/#kotlin-online-resources
Но лично я рекомендую не заниматься херней в чатиках, а спрашивать сразу на StackOverflow, тем самым ты сразу поможешь тысячи другим пользователям (и себе в будущем, если забудешь):
https://stackoverflow.com/questions/tagged/kotlin
Там можно спрашивать даже банальные вещи (кроме неопределенных), они потом хорошо гугляться и превращаются в простой справочник. Серьезно, анон, прекращайте спрашивать на древних форумах, бестолковых чатах, и даже двачах. Если уж совсем плохо с английским и не можешь в переводчик, то там есть ру-язычная версия сайта, но это так себе идея

>РАЗНОЕ

>Шпаргалки.
https://ibb.co/yRSzLsS
https://ibb.co/dB2m4nN
https://ibb.co/McTbJk0


>Шпаргалка по run, let, apply, also
https://pbs.twimg.com/media/EENzl8CWwAApP3W?format=png
или статья по теме
https://www.rockandnull.com/kotlin-let/
На практике, если точно не уверены, можно просто кликнуть и посмотреть исходник функции (игнорируя там контракты).

>Шпаргалка (общая)
https://simplecheatsheet.com/tag/kotlin-cheat-sheet/

>Контент
https://youtu.be/xH-RZ9YlxH0



Если вам нравится kotlin или java и вы умеете читать документацию сами, то можете просто кидать в тред годный контент, новости и прочее из мира jvm.


Аноним 27/09/20 Вск 13:41:48 18173182
>>1817305 →
ну а без него нужен установленный питон
как и нужна установленная java для jar

нет никакого "жава у всех стоит по дефолту"
Аноним 27/09/20 Вск 14:30:22 18173833
>>1817318
Это верно, поэтому будущее за Net Core, который может кросскомпилиться со всеми зависимостями.
Аноним 27/09/20 Вск 14:31:29 18173854
>>1817383
Или за котлин натив
Аноним 27/09/20 Вск 14:33:21 18173875
>>1817318
Кстати, еще один момент, в установке питона есть. Во время установки пункт добавления себя в PATH не активен. Юзер может по твоей просьбе поставить по принципу "далее... далее... далее..." и ничего работать не будет.

В общем, питон он только в маня фантазиях удобен, в реале даже поднасрать в установке может.
Аноним 27/09/20 Вск 14:33:39 18173896
Неткорщики мне чем-то хаскеллистов напоминают. У них тоже всё вотужезавтра взлетит и порвёт всё остальное.
Аноним 27/09/20 Вск 14:35:45 18173977
>>1817387
Ну переставит как надо
Делов то
Аноним 27/09/20 Вск 14:37:50 18174008
>>1817385
Я уже сам в него не верю. Тут даже раст не выстрелил, а в нем усилий на порядок больше вложено. Ну еще мне думается, они переоценили свои усилия. Слишком все медленно идет, лучше бы все усилия сосредоточили на jvm и удобных батарейках.

Не пытаюсь тут ныть, но мне, субъективно, стало казаться, что котлин забуксовал в развитие и росте популярности.
Аноним 27/09/20 Вск 14:41:17 18174059
>>1817389
Да, вроде, у них как-то все неплохо. Тоже думал что это загон по типу свифта, но потом полазил и мнение немного поменял.
Если бы мне сейчас представился выбор между Net Core и JVM, я бы выбрал нет кор или я просто от жабы выгорел, хз
Аноним 27/09/20 Вск 22:57:56 181782410
поясните за

protected open fun <T> toArray(array: Array<T>): Array<T>

Fills the provided array or creates new array of the same type and fills it with the elements of this collection.

это ж как ее вызвать нужно, чтобы оно "or creates new array"?
Аноним 28/09/20 Пнд 00:53:16 181786811
>>1817311 (OP)
> Крайне не рекомендую посещать это рассадник из ЧСВ макак. В чатах лобызаются одни и те же лица и если ты им не понравишься (а ты им не понравишься) будут постоянно тебя подстрекать пассивной агрессией или принуждать к анальным правилам, которые они вспоминают только тогда, когда пишешь ты. Конечно, ты можешь терпеть и сидеть в этой помойке, но если не хочешь словить негатив и получить ложное представление о ру-комьюнити, не рекомендую посещать этих ребят
Лол, в телеграм-чатиках по Скале та же фигня. Какие-то раки хуже чем в /b/. Видимо такой способ общения чем-то привлекает
этот специфический контингент
Аноним 28/09/20 Пнд 03:52:48 181789412
>>1817824
toArray(emptyArray<T>())

А вообще можешь toTypedArray() использовать для такого.
Аноним 28/09/20 Пнд 11:13:07 181797313
>>1817868
Вполне вероятно, что часть тех же токсичных лиц может сидеть и там.

Вообще, не редко возникает эта проблема в ру-чатах, было даже еще в эпоху irc. Ру говорящее айти (и не важно белорус, украинец, русский итд...) чрезмерно, почему-то, высокомерно и одновременно не очень культурно образовано (быдло), и почти всегда возникает местная тусовка и чисто инстинктивно пытается доминировать (потому как уровень культуры на уровне стада), а как доминировать, когда нужно показательно вести себя культурно (поддерживать эту иллюзию)? Только пассивной агрессией, задевая всех кто "не свой".
Аноним 30/09/20 Срд 15:17:22 181975414
Есть ли Best Practice по конструированию объекта data-класса? Поясню, я собираю из одной xml другую. Есть RequestA, состоит из кучи всего другого, например есть поле CardInfo, в котором есть уже pan и т.д. Все это я беру, и сую эту вложенность в RequestB. И т.к я в котлине недавно, получается здоровая такая партянка похожая на джавовый код, хочу избавиться от этого.
Аноним 30/09/20 Срд 15:27:05 181976215
>>1819754
Нефига, мы должны телепатией понять что за код ты имеешь ввиду?
Аноним 30/09/20 Срд 15:27:53 181976416
>>1819754
>я собираю из одной xml другую
Современное программирование.
Аноним 30/09/20 Срд 15:34:44 181977017
>>1819762
Ну такой вот

return RequestB(
cardInfo = CardInfo(cardNum = requestA?.myInfo?.myInfo2?.cardInfo?.cardNum?.pan),

custAddr = CustomerAddress(requestA?...//и тут тоже длинная строка ),

//Тут по аналогии ещё новые тэги и ещё больше вложенности
)
Аноним 30/09/20 Срд 15:42:03 181977318
>>1819770
А как ты это хочешь сократить? Что за сахар ты тут видишь?
Аноним 30/09/20 Срд 15:48:48 181977719
>>1819773
Например в классе CardInfo запилить метод build(), который даже хз что будет делать, принимать объект и извлекать из него нужную инфу, возможно. И так со всеми классами
Аноним 30/09/20 Срд 15:53:47 181977820
>>1819777
Это ты и на джаве можешь.
И не совсем понимаю чем это от конструктора будет отличаться.
Аноним 30/09/20 Срд 15:55:22 181978021
>>1819778
Я и спросил, может есть нормальные способы. Хотя бы более читаемым код сделать.
Аноним 30/09/20 Срд 16:40:36 181979422
>>1819780
Ну как минимум делаешь метод, в котором прячешь все эти кишки и в которую передаешь A, а на выходи получаешь B

Потом убрать все эти A и B и назвать вменяемо, хотя бы Old и New

convert(OldRequest): NewRequest
Аноним 30/09/20 Срд 21:57:09 182003223
>>1819794
Это понятно все, ну ладно, потом подумаю.
Аноним 02/10/20 Птн 14:22:28 182121024
котлин тред, я так вас люблю, вы у меня самые милые и не токсичные на дваче!
Аноним 07/10/20 Срд 22:18:47 182549025
>>1817311 (OP)
Разраб на Ноде, думал перекатиться на бэкенде в ЯП со статической типизацией, Котлин вроде выглядит неплохо. Зашел посмотреть вакансии, почти во всех где нужен бэкенд разраб Котлин идет в паре с Жавой или С#, че захрень?
Аноним 07/10/20 Срд 22:30:13 182549826
>>1825490
Котлин всплыл совсем недавно и в первую очередь для андроида. А старые джава-проекты никуда не делись. Вот и юзается котлин не в чистом виде, а в связке с джавой.
Ещё есть Go. раз перекатываешься с ноды, он может тебе зайти, но те, кто пишет на статике, от го блюют.
Ну и ещё есть скала, со своими заморочками.
Аноним 11/10/20 Вск 02:24:54 182770627
>>1825490
>Котлин идет в паре с Жавой или С#
Странное сочетание сишарпа и котлина.

Но вообще, если по честному, нет нормального статического типизированного языка. Джава, кусок древнего говна, котлин, это свежее попытки, но поверх древнего говна и не все так гладко в синтаксисе. Шарп, не уверен что будут все нужные либы кросс, в общем, неожиданный вендор лок, я думаю, ожидаем. Го, мог ворваться в этот рынок победителем, но нельзя бегать и какать на ходу.
Поэтому грызи либо ts. Либо оставайся в динамике, всякие jsdoc вполне выполняют ту роль, которая требуется от статики сейчас, все зависит от твоей организованности, но нода это кусок говна.
Аноним 11/10/20 Вск 04:38:50 182773428
>>1827706
Чёт все языки по-своему хуёвые, что статические, что динамические. Ни один не вызывает у меня восторга.

> Го
Засилье interface{} никак не тянет на нормальную статику. Да и наверняка в результате получится та же жаба. Гоферы говорят о простоте, но и жаба - один из простейших языков, и всё сложность в тоннах легаси, просто на го это не так незаметно, пока легаси мало.

> ts
Те, кто его тыкал, говорят, что там ненастоящая статика, то ли из-за any, то ли там можно вызвать несуществующий метод, хуй знает.

мимо
Аноним 11/10/20 Вск 21:16:29 182807729
Как котлин резолвит конфликты, когда в двух разных экстеншенах определяется метод с одной и той же сигнатурой?
Аноним 11/10/20 Вск 21:42:17 182809830
>>1828077
либо разные импорты либо нельзя так, поч не протестишь сам?
Аноним 11/10/20 Вск 21:43:04 182810031
>>1828098
Идею долго запускать.
Аноним 11/10/20 Вск 21:58:40 182811232
>>1827706
>Но вообще, если по честному, нет нормального статического типизированного языка

Swift
Аноним 11/10/20 Вск 22:03:17 182811733
>>1828112
Бэкенд на свифте?) Речь именно про бэкенд.
Аноним 11/10/20 Вск 22:04:34 182811834
>>1828117
Не, я в целом про статические языки
Аноним 12/10/20 Пнд 02:54:18 182823635
>>1828112
Как говорят мои товарищи, языки не имеющие полноценную кросплатформенность, языками программирования называть нельзя.
Аноним 12/10/20 Пнд 03:06:31 182824036
>>1828236
Твои товарищи - долбоебы
Аноним 12/10/20 Пнд 03:12:47 182824137
>>1828240
Возможно, но это не отменяет ненужность таких языков в наши дни. Тем более на свифте, как слышал, часто кладут на обратную совместимость, что вообще делает язык не пригодным в промышленном программирование.
Аноним 12/10/20 Пнд 16:29:59 182861738
>>1828236
А какие имеют полноценную кроссплатформенность?
На каких я одновременно напишу приложения на иос и андроид?
Аноним 12/10/20 Пнд 16:34:13 182862139
Аноним 12/10/20 Пнд 16:43:56 182862640
>>1828621
То есть только js и dart полноценные языки?
Аноним 12/10/20 Пнд 16:47:06 182862941
>>1828626
Получается, что так. Но не знаю, может ли дарт выполняться в браузере.
Аноним 12/10/20 Пнд 16:57:49 182863642
Аноним 12/10/20 Пнд 20:48:37 182878443
>>1828617
Я не про мобильные платформы, туда всякое говно конвертится и так.
Аноним 13/10/20 Втр 00:38:55 182891344
Есть у кого ощущение, что котлин впал в стагнацию?
Аноним 13/10/20 Втр 09:09:52 182905845
>>1828913
да конечно! жизненный цикл этой хуйни приходит к концу.

эту еболу прокатили жиды, получили профиты, больше она нахуй не нужна им. ща новую будут пилить, чтоб вам её скормить.
типа "смузи-новейшая-секси-технология"

вон hr уже в вакансиях пишут не "у нас хорошие зп и бонусы", а
"наша вакансия - отличная возможность перейти на ТЕХНОЛОГИЯ-НЕЙМ"
Аноним 13/10/20 Втр 09:27:50 182907246
>>1828913
У нас в легаси-проект на работе в одно время было впилили котлин, но недавно выпилили и переписали обратно на 8 жабу.
Аноним 13/10/20 Втр 14:27:43 182925947
>>1829058
Какие именно жиды и какие профиты они получили?
Аноним 13/10/20 Втр 14:56:05 182929048
>>1829259
Присоединяюсь к вопросу, даже мои шизофантазии ограничивают догадки.
Аноним 13/10/20 Втр 15:00:17 182929649
>>1829072
Понятно что ты залетный школьник. Но мне просто интересно, какие могут быть причины, резко взять и переписать на 8 жабу? После котлина, жабу вообще противно трогать.
Аноним 13/10/20 Втр 15:05:11 182930250
> пик 2

В чём прикол?
Аноним 13/10/20 Втр 15:12:14 182930751
>>1829296
Я в этот участок проекта не лез, просто слышал, что там были какие-то проблемы с версиями зависимостей. Один разраб впилил, другой выпилил.
> После котлина, жабу вообще противно трогать.
Это твоё личное мнение. Не все считают, что котлин - это лучший язык всех времён и народов.

inb4: ряяя врёти
Аноним 13/10/20 Втр 16:25:54 182939152
Погуглите кто создал язык котлин
Какие профиты? Чем учить чужую хуйню и зависеть от её создателей/корпораций, круче придумать свою и подсадить всех на неё. Типично жидовская тема, кстати.
Аноним 14/10/20 Срд 19:22:32 183048853
>>1829307
>Не все считают, что котлин - это лучший язык всех времён и народов
Никто так не считает, после любого языка убирающего бойлерплейт, будет противно на жабу.
Мне в свое время говорили учи шарп, потом если надо легко на джаву переедешь. А я потом оплювался жабу трогать.
Если бы мягкие не были в свое время такими муднями, сейчас бы вообще вопроса не стояло, какой ЯП на тяжелый бэкенд брать.

Судя по сленгу и причине в которой котлин никаким местом не причастен, ты мимозалетный фантазер.
Аноним 14/10/20 Срд 19:34:56 183050554
>>1830488
> А я потом оплювался жабу трогать.
Надуманно. Я спокойно слез с питона и js на жабу.

> Судя по сленгу и причине в которой котлин никаким местом не причастен, ты мимозалетный фантазер.
Сука, ты читать умеешь?
> Я в этот участок проекта не лез, просто слышал
За что купил - за то и продаю. Я о котлине и его мирке вообще ничего за исключением того, что он подключается через плагин мавена и компилится в классы. И о том, какие там могут быть проблемы с зависимостями, знаю ещё меньше тебя. Но факт остаётся фактом - выпилили под предлогом проблем с зависимостями, действительно это так или нет.
Аноним 15/10/20 Чтв 01:29:57 183075055
>>1830505
>Я спокойно слез с питона и js на жабу.
Ты впервые стал программировать.
Аноним 15/10/20 Чтв 01:36:33 183075656
>>1830505
>подключается через плагин мавена
Неожиданно, жаба там тоже подключается. Так как изначально задумывали как универсальные сборщики независящие от языка классический задержавшийся юношеский максимализм, у взрослых дядей

Ты это байду про версии в этом треде и вычитал, где чел говорил что не мог два подпроекта объединить (довольно редкая и решаемая другим путем задача). Так что иди самоутверждайся в другом месте.
Аноним 15/10/20 Чтв 01:48:27 183076157
>>1830756
> Ты это байду про версии в этом треде и вычитал,
Заявляя, что я фантазёр, ты превзошёл самого себя и начал фантазировать сам.

> где чел говорил что не мог два подпроекта объединить (довольно редкая и решаемая другим путем задача).
Я в это не сильно вчитывался, но если под проектами понимаются модули мавена, то я даже придумать не могу, откуда там проблемам взяться.
Аноним 15/10/20 Чтв 22:10:08 183155258
Все таки интероп котлина с явой - говно!

Вот какого хера, енум не может заимплеменитить интерфейс в котором есть метод String name()? Почему в яве это отлично работает, а тут ошибка компиляции?
Аноним 16/10/20 Птн 01:07:28 183162859
Аноним 21/10/20 Срд 10:48:59 183596460
image.png 107Кб, 1698x794
1698x794
привет двач, мне дали делать новый проект на спринге с нуля и я хотел предложить котлин, но мне отказали и я вот пишу на джаве(
вот такая табличка готовится чтобы показать работодателю, хочу на котлине писать, добавьте чего-нибудь в обе стороны, что вам нравится в обоих языках
спасибо котлин тред вы у меня самые лучшие!
Аноним 21/10/20 Срд 19:07:49 183633861
image.png 1Кб, 382x19
382x19
Аноним 21/10/20 Срд 21:54:21 183643662
>>1836338
Тоже не понял этого пункта.
Аноним 21/10/20 Срд 22:08:48 183645763
>>1836338
мне не приходилось этого делать а пока не приходится - нахуй надо знать=)
это проблема точно не моя, а языка. функциональные интерфейсы - худшая попытка спиздить функциональщину переделав под ооп...
в общем вместо того чтобы гадости писать предложили бы чего интересного.... =(
Аноним 21/10/20 Срд 22:25:47 183646964
Аноним 21/10/20 Срд 22:26:24 183647065
>>1836457
> функциональные интерфейсы
Сразу видно, что о лямбдах в котлине ты знаешь только то, что они есть.
Аноним 22/10/20 Чтв 04:11:06 183660766
>>1835964
>modern syntax
Что в нем модернового, если они полностью слямзили вдохновились у других языков?
Что вообще является современным синтаксисом, какой критерий?
Аноним 22/10/20 Чтв 09:47:18 183665967
Аноним 22/10/20 Чтв 10:50:27 183670768
>>1836607
все то, что есть в котлине, но нет в джаве
все то, что есть в шарпе, но нет в джаве
чел ты доебался до ничего, ты очень глупый
>>1836470
мне без разницы как они реализованы до того момента, пока я могу описать тип лямбды через ахуеннейший синтаксис котлина, благодарен великим русским разработчикам за то, что мне не приходится трогать уебищные функциональные интерфейсы джавы

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




Аноним 22/10/20 Чтв 10:57:30 183671269
>>1836707
Потому что на самом деле котлин тебе не нужен, не выдумывай.
Аноним 22/10/20 Чтв 16:56:59 183705370
>>1836659
Тогда js и питон сверх новые яп.
Аноним 22/10/20 Чтв 16:58:54 183705971
>>1836707
Все котлинисты такие тупые?
Аноним 22/10/20 Чтв 17:15:07 183707172
>>1837053
Интересно, что петухон появился до жабы, но коболом считают именно жабу.
Аноним 22/10/20 Чтв 18:18:00 183712573
>>1837071

Ну, логично, жаба заняла нишу кобола - крудо опердни энтерпрайза.
Аноним 23/10/20 Птн 03:23:46 183743374
>>1836338
Это у него вообще про джаву написано, вторая колонка же.
Аноним 23/10/20 Птн 17:18:39 183781275
>>1836707
У тебя там по сути один пункт - ты смузихлеб.
Аноним 23/10/20 Птн 19:19:07 183793376
>>1837812
хули ты на джаве пишешь, сойбой? на ассемблере хуярь, лол, или слабый?
Аноним 24/10/20 Суб 07:44:16 183828477
Стух, что-то тред.
Аноним 24/10/20 Суб 16:56:12 183872478
https://habr.com/ru/company/ruvds/blog/524824/
Я то думал, откуда такой наркоманский дизайн некоторых моментов языка, а оказывается Бреслав просто шизик
Аноним 25/10/20 Вск 19:23:35 183959379
>>1817311 (OP)
А чего график протухший. Он же ещё Январский.
Аноним 25/10/20 Вск 20:46:33 183965480
Аноним 25/10/20 Вск 21:04:32 183967781
>>1838724
Забавно, когда впервые листал синтаксис, была такая же мысль.
Имхо, нельзя разрешать дизайнить язык одному человеку.
Аноним 25/10/20 Вск 21:05:51 183968082
>>1839593
В январе дарт вообще сосал.
Аноним 25/10/20 Вск 21:10:21 183968983
>>1838724
Я как-то тыкал скалу и увидел, что в котлине многое взято именно из неё. Так что часть претензий насчёт упоротого дизайна можно обратить к создателям самой скалы.
Аноним 25/10/20 Вск 21:11:31 183969284
>>1839689
так они могли не брать этот хуевый дизайн
я мимокрок, сам очень люблю абсолютно все что есть в котлине, ни одна фича не кажется убогой (пока что)
Аноним 25/10/20 Вск 22:05:01 183976085
>>1839689
Котлин заявляет более лучший (по сравнению со Скалой) интероп с джавой, однако в Скале
val m: java.util.Map[String, Any] = java.util.HashMap[String, Any]()
работает как и ожидается, а вот соотвествующий аналог в Котлине
val m: java.util.Map<String, Any> = java.util.HashMap<String, Any>()
не скомпилится.
Аноним 25/10/20 Вск 22:20:15 183977086
Раз они упоролись в нейтив, они могли вообще не брать за основу jvm, а взять llvm сразу.

В итоге мы имеешь,
-хер пойми какое объявление конструкторов (считаю это эпик проёб)
-просрана короткая запись для списков [] и мап {}
-избыточный загон по мутабельности и не мутабельности в языке
-изуродован static в виде компаньюнов каких-то.
-непродуманные дата-классы с мелкими подводными, в том числе отсутствие наследования
-не такой уж и прям честный 100% интероп.
-dsl, который, для меня, не так и гибок как хотелось бы.
-беднейшая стандартная библиотека.
-избыточные непонятные экстеншены в стандартной библиотеки (взять ту же строку, херова туча непонятной херни)
-зачем они сделали отсебячину с корутинами, хотя уже их критиковали за это.
-100500 зарезервированных ключевых слов
-Вводить дополнительные подтипы для null, имхо, не лучше дизайн. Теперь null типы проблемны и неудобны. Не так много проблема NPE приносил, как привносить проблемы нуллабл типы. То есть, от null вообще надо отказываться (делая какие-то спец исключения или еще что-то), а не в типы его засовывать.
Аноним 25/10/20 Вск 22:22:31 183977387
>>1839770
А ещё companion object, который спёрли из Скалы не разобравшись. В итоге в Скале это просто идиома, а в Котлине - зачем-то часть синтаксиса.
Аноним 25/10/20 Вск 22:32:50 183977488
Или вот пример с пропертями и приватными сеттерами и публичными геттерам. Помню говорили мол, нет кейса использования, а значит это вам не надо мы же блядь умнее вас, хули вы хотите. Но оказалось настоящие программисты стали приводить кейсы, когда это может быть надо (например сделать поле length в какой-нибудь коллекции из которого можно читать, но писать мог бы только сам класс).


Аноним 25/10/20 Вск 22:35:42 183977589
>>1839770
> не брать за основу jvm, а взять llvm сразу
То есть высрать очередной язык без инфраструктуры, в котором нет ничего, кроме сахарочка и громоздких жаба-подобных идентификаторов? Какой-нибудь Go хотя бы поддерживается гуглом, а котлин бы родился уже мёртвым.
Аноним 25/10/20 Вск 22:37:58 183977990
Предлагаю обсудить, почему котлин не выстрелил и стал фактически языком только для мобильной разработки?
Аноним 25/10/20 Вск 22:39:24 183978191
>>1839775
Куда более гибко создавать язык с нуля, чем фиксить джаву. Имхо, котлин даже с джава либами не особо востребован.
Аноним 25/10/20 Вск 22:42:37 183978392
>>1839781
Котлин как раз и создавался с целью пофиксить жабу, а не создать очередной инновационный язык, которых и так десятки тысяч.
В определённых кругах он всё же востребован, на андроиде это основной язык, а в бэке уже на уровне скалы почти нулевом.
Аноним 25/10/20 Вск 23:04:11 183979493
>>1839783
Логично фиксить джаву должна сама джава. Зачем тащить говно и потом побеждать его, когда говна можно просто не брать. Ну ладно, хер с ним, так то понятно зачем им ЯП на джаве. Нужно известное имя чтобы продвигать продукт.
Но зачем они в нейтив полезли и тем более в js? Почему не делать котлин еще лучше? Там уже жаба догоняет их.
Аноним 25/10/20 Вск 23:07:29 183979594
>>1839783
>В определённых кругах он всё же востребован
У нас по началу дали команде поиграться, всем зашло, но остальные отказались, мол хера писать тоже самое только еще синтаксис учить и новые подводные камни осваивать, в итоге снова java, здравствуйте.
Аноним 25/10/20 Вск 23:10:25 183979795
>>1839795
Но вот для своих проектов я бы новый яп взял, но не на базе jvm (и точно не го, раст для бизнес логики сложен, динамика сосёт, шарп вроде кажется продуманей, но хз).
Аноним 25/10/20 Вск 23:17:24 183980196
>>1839794
> Логично фиксить джаву должна сама джава
Джава, как видишь, добавляет фишечки очень неохотно. Но даже если и добавит, все по-прежнему из-за легаси будут сидеть на древних джавах, где этих фишечек нет. А котлин позволяет хоть прям сейчас юзать сахарочек, ничего при этом не ломая.
> Нужно известное имя чтобы продвигать продукт.
Вот только груви, цейлон и кложура что-то не особо продвигаются, хотя имя вроде бы известное.
> Но зачем они в нейтив полезли и тем более в js?
Могут - вот и полезли. JVM всё равно остаётся в приоритете.
Аноним 25/10/20 Вск 23:20:06 183980397
>>1839795
В какой-нибудь хипстерской команде в стартапе, наверное, было бы легче продвинуть котлин. Это в легаси все с коболом смирились.
Аноним 25/10/20 Вск 23:33:25 183981098
>>1839801
>Джава, как видишь, добавляет фишечки очень неохотно
Есть такой эффект в программирование, хз как называется, пускай будет эффект Семёна. Дело в том, что чаще популярные яп тащат в свои языки идеи, а новый инноватор тухнет на обочине.
Яркий пример руби и рельсов, или фп фич.

>не особо продвигаются
Глупенький, наоборот, котлин нужен чтобы популизировать продукты жопбрейнс. Собственно это и объясняет желание засунуть его везде. Чтобы сиял повсюду.

>Могут - вот и полезли
И увязли.

>JVM всё равно остаётся в приоритете.
Ничего нового толком и не пилится, стандартная библиотека выглядит как обертка копипаст, ни пакетного менджера, ни веб плюшек (полноценных фреймворков удобных, раз уж даже в js полезли), вообще отсутствие флагманских проектов. Даже у дарта там тормозной флаттер есть.



Аноним 25/10/20 Вск 23:48:27 183982199
>>1839810
> популярные яп тащат в свои языки идеи, а новый инноватор тухнет на обочине
Джава, скорее всего, и будет развиваться с оглядкой на котлин, который выкинут, когда он перестанет быть особенным. В этом ничего плохого нет.
> котлин нужен чтобы популизировать продукты жопбрейнс
Это с точки зрения жетбрейнса. Но они создали сравнительно удобную технологию, и странно отказываться от её использования только потому, что жетбрейнсу от этого может быть профит. Вон Go тоже создавали для внутренних нужд гугла, но теперь его пихают куда не лень.
> И увязли.
Их проблемы. В JS-мирке хорошо не бывает, а проблемы с нейтивом не могут решить даже те, кто целенаправленно создаёт языки для него.
> обертка копипаст
Лучше сложно что-то придумать.
> ни пакетного менджера
Мавен, градл, ант. Или ты предлагаешь и здесь всё с нуля делать вместо использования готового? Это уже на NIH похоже.
> ни веб плюшек
Ktor, Spring, EE, и прочее из джава-мирка.

Складывается ощущение, будто ты веришь, что котлин - это самостоятельный язык, а не на подсосе у жабы.
Аноним 25/10/20 Вск 23:57:59 1839825100
>>1839821
Какое шаблонное мышление, одно и тоже, каждый тред, как попугаи блин. Вы можете сами анализировать? Я хочу видеть ваши мысли, а не конспект.
Аноним 26/10/20 Пнд 00:02:51 1839828101
>>1839825
> 2 + 2 = 4
> Какое шаблонное мышление, конспект из начальной школы!
> Ладно, давайте выскажем свои мысли. Может, это 5? Хотя нет, была такая гипотеза, и она опровергнута. Хорошо, посчитаем на пальцах. Всё-таки 4.
Такой анализ хочешь?
Аноним 26/10/20 Пнд 00:14:53 1839833102
>>1839821
>Мавен, градл, ант, Spring, EE
Так зачем мне тогда твой котлин?

>странно отказываться от её использования только потому, что жетбрейнсу от этого может быть профит.
Кто это сказал? Зачем ты подстраиваешь мой ответ под свои мысли? Тут речь о том, что у их конкретный профит не связан с профитом среднестатистического разработчика. А раз у нас вектор разный, рано или поздно мы разойдемся в интересах.

>Лучше сложно что-то придумать.
Там ничего нет, хватит подменять понятия.

>будто ты веришь, что котлин - это самостоятельный язык
Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?
Аноним 26/10/20 Пнд 00:17:53 1839834103
>>1839828
>Я хочу видеть ваши мысли
Ясно, я понял, не надо ваших мыслей :)
Аноним 26/10/20 Пнд 00:21:49 1839838104
>>1839833
> Так зачем мне тогда твой котлин?
Сахар. Если он тебе не нужен, то и котлин не нужен.
> Кто это сказал? Зачем ты подстраиваешь мой ответ под свои мысли?
Потому что ты не умеешь их формулировать, и непонятно, что хотел сказать.
> конкретный профит не связан с профитом среднестатистического разработчика. А раз у нас вектор разный, рано или поздно мы разойдемся в интересах.
Тогда все вернутся обратно на жабу.
> Там ничего нет, хватит подменять понятия.
И не должно быть.
> Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?
Не хочешь - не учи, тебя никто не заставляет. Продолжай писать на джаве, всё равно котлин через время исчерпает смысл своего существования.
Аноним 26/10/20 Пнд 00:30:39 1839843105
>>1839838
>Зачем ты подстраиваешь мой ответ под свои мысли?
>Потому что ты не умеешь их формулировать
"Ты говоришь не под мое шаблонное мышление, поэтому я скорректировал чтобы оно совпадало с ним". Так будет правильнее.

>Сахар. Если он тебе не нужен, то и котлин не нужен
За какой-то сахар, я должен тратить время на переучивание? Странная цена.

Остальные ответы уровня пятиклассника - не нравится, не делай. Интеллектуальный дисскус это не твоя стезя, лучше больше не влезай в него.
Аноним 26/10/20 Пнд 00:44:16 1839846106
>>1839843
> Так будет правильнее.
Нешаблонное мышление - это отрицание очевидных фактов? Я тебя понял.
> За какой-то сахар, я должен тратить время на переучивание? Странная цена.
Да там и учить нечего, не кресты.
> Интеллектуальный дисскус это не твоя стезя, лучше больше не влезай в него.
Ты придумал себе манямирок из-за непонятой сути котлина и ещё хочешь каких-то "дисскусов". М-да.
Аноним 26/10/20 Пнд 15:47:14 1840136107
>>1839760
Нашел до чего доебаться. Используй kotlin.collections.MutableMap вместо java.util.Map.
Аноним 26/10/20 Пнд 18:29:16 1840313108
>>1839774
> Или вот пример с пропертями и приватными сеттерами и публичными геттерам.

Ну так ведь так можно сейчас делать (и можно было начиная с 1.0 точно).

В чем твой поинт? В том что жб слушают фидбек и делают фичи, когда появляются реальные юз-кейзы?
Аноним 26/10/20 Пнд 18:48:35 1840345109
>>1839779
людская лень. один из челов, которые тут наспорили, говорил
>Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?
ты недооцениваешь эту ебанутую лень, которая не позволяет перстроиться с говна на конфеты
Аноним 26/10/20 Пнд 22:13:50 1840545110
>>1840345
Просто не все жрут маркетинг не пережевывая и для многих это размен говна на говно.
Аноним 26/10/20 Пнд 22:22:39 1840557111
>>1840136
> Используй kotlin.collections.MutableMap вместо java.util.Map
Иди нахуй с такими советами
Аноним 27/10/20 Втр 17:00:28 1841124112
>>1840557
не дали попользоваться языком без стдлибы, суки, да?
Аноним 27/10/20 Втр 17:27:19 1841154113
>>1841124
Здорово, что для юзания стдлибы джавы приходится юзать стдлибу котлина.
Аноним 27/10/20 Втр 20:54:30 1841376114
Ппц, есть же продуманный и вменяемый шарп, нафига эти костыли поверх древнего синтаксиса жрать?


мимо джаваскрипт господин.
Аноним 27/10/20 Втр 21:05:02 1841390115
>>1841376
> костыли поверх древнего синтаксиса
> джаваскрипт
То есть ты не пользуешься бабелем и полифиллами, чтобы транслировать новейший EcmaScript в старые стандарты, поддерживающиеся у большинства, а сразу хуяришь на прод, чтобы открывалось только в самых свежих браузерах?
Аноним 27/10/20 Втр 21:34:11 1841425116
>>1841390
Хром обновляется по кд, а кто сидит еще на XP или каком-нибудь IE, они не платежеспособны и не интересны бизнесу в котором я работаю.

Собственно именно поэтому стал ненужен ts. Js впитал уже все лучшее, а типизации хватило на уровне jsDoc. на самом деле, по нашему внутреннему исследованию, типизация нужна лишь для автокомплита в IDE, подсветки ошибок там же и рефакторингу. Если всех заставить писать jsDoc, то динамико-пораша становится удобной и главное шустрой. Пока ты компилишь свой код, js код скорее всего уже исполнился.

Но это другая ветвь развития, тут даже не старайся понять или дискутировать, ибо действительно жаба и шарп это отдельным мир. И вот, возвращаясь к сказанному, если выбирать между жабой, прокси языком по типу ts - котлином и шарпом, я выбрал бы шарп, просто потому, чтобы не нужно скакать по костылям синтаксиса джавы и её поверхностными фиксами, в виде котлина с новыми костылями и подводномы.
Аноним 27/10/20 Втр 21:35:33 1841428117
>подводномы
жуть какаяподводными камнями
Аноним 27/10/20 Втр 21:42:50 1841438118
>>1841154
тебе приходится юзать стдлибу котлина чтобы пользоваться котлином, чел.
Аноним 27/10/20 Втр 22:08:08 1841459119
В общем, я понял. Если в Go-треде "lol no generics", то здесь "lol mapped types".
Аноним 28/10/20 Срд 12:55:16 1841954120
>>1841124
У котлина нет стдлибы, у него сахарок поверх стдлибы явы. Но местами он карамелизовался и перекрыл доступ к стдлибе явы.
Не то, чтобы прям проблема-проблема, но неприятно. Косяки интеропа с явой - это реальная проблема для миграции существующих проектов.
Аноним 28/10/20 Срд 19:33:56 1842310121
>>1841954
ну так это же вполне можно назвать стдлибой
а про миграцию печально да, но косяки правятся, все предусмотреть невозможно, учитывая что они многие вещи сделали по-своему, так что либо терпим и переносим на котлин, либо терпим еще больше но на жабе
Аноним 28/10/20 Срд 22:23:50 1842486122
>>1842310
Либо плаваем в большом бассейне с водой, либо терпим и черпаем ложкой в новый бассейн "котлин"
Аноним 29/10/20 Чтв 15:15:58 1842963123
Поясните мне такую вещь,
https://kotlinlang.org/docs/reference/data-classes.html
>Data classes cannot be abstract, open, sealed or inner;

При этом такой код компилируется и работает

class Foo {
data class Bar(val x: Int, val y: Int)
}

Как так?
Аноним 29/10/20 Чтв 15:18:29 1842965124
>>1842963
Это не inner, это nested. Отличие в том, что inner имеет доступ к экземпляру содержащего класса.
Иными словами Nested - это аналог static класса в джаве.
Аноним 29/10/20 Чтв 15:28:28 1842972125
Аноним 29/10/20 Чтв 16:11:26 1843019126
>>1817311 (OP)
Всем привет, неофит в треде
Есть один цикл
Есть массив из нескольких элементов
Мне нужно по определенному принципу часть элементов отсеять и перенести в другой массив
Выглядит это примерно следующим образом
https://pastebin.com/rN7457Re
Для каждого type будет несколько элементов i, которые нужно выкинуть
И всё работает
Но что, если для какого-то type будет 100 элементов. Запись и так выглядит громоздко. Как можно авторитетно и по красоте написать?

В идеале это всё в функцию засунуть, и потом просто вызывать эту функцию, да? Как это лучше сделать? В другом файле и импортировать функцию?
Аноним 29/10/20 Чтв 17:08:24 1843084127
>>1843019
>Для каждого type будет несколько элементов i, которые нужно выкинуть
Вот это, непонятно. Как тип связан с элементом массива?
Аноним 29/10/20 Чтв 17:22:49 1843094128
Аноним 29/10/20 Чтв 17:44:10 1843147129
>>1843084
>>1843094
type никак не связан, это сторонняя переменная, которая приходит из другой части кода.
Если будет удобнее, это сигнал от свитч-кнопки. По замыслу творца выключение свитч-кнопки должно убрать из общего пула (речь про массив) несколько значений, которые имеют определенный индекс в массиве (как раз несколько значений i)
Аноним 29/10/20 Чтв 17:50:36 1843153130
>>1843147
Я бы объявил
val filters = mapOf<Type, Set<Int>>()
Где Type это енум с типами кнопок, который можно нажимать. А Set<Int> это значения которые связаны с конкретным типом.
Аноним 29/10/20 Чтв 18:08:38 1843163131
>>1843153
Извините, я неофит
А можно какой-то пример с картиночкой?
Желательно к этому же самому примеру
Просто mapOf - это же пара ключ-значение, много пар, вернее. >дубликаты ключей не допускаются, значения могут быть одинаковыми
Из документации, а у меня на 1 ключ (у тебя в примере type стоит как раз на месте ключа) будет прямо много значений
Хотя, если подумать, можно как ключ использовать i, а значение - значение type.
Звучит вроде бы даже логично, только не очень понятно, как теперь жить с этим.
Аноним 29/10/20 Чтв 18:24:07 1843176132
Аноним 29/10/20 Чтв 20:14:01 1843276133
>>1843176
Извините за тупость, но я нихуя не понял
enum class Type {
TYPE1,
TYPE2
}
Но ведь у каждого type (в моем примере) два значения 0 или 1, в зависимости от которых и выполяется / не выполняется условие

>fun filter
Я слишком слаб, но я не понял ничего после этого
Но там нет if, и нет while
Получается, что это только функция, для дальнейшего использования её в цикле?
Аноним 29/10/20 Чтв 20:15:56 1843278134
>>1843276
ты бы попытался хотя бы внятно объяснить что тебе нужно....
Аноним 29/10/20 Чтв 20:23:08 1843286135
>>1843278
Глобально: есть ли какие-то способы (желательно простые, как показывает практика) сделать вот это
>>1843019
Продублирую ещё раз пастебин
https://pastebin.com/rN7457Re
как относительно лаконично записать это, если количество i будет не 3, как в примере, а 100?
Аноним 29/10/20 Чтв 20:50:48 1843304136
Аноним 02/11/20 Пнд 23:00:40 1846691137
>>1817311 (OP)
Всем привет
Есть такая конструкция:

name1 = nameplayer1.getText().toString()
color1 = spinnerplayer1.getSelectedItemPosition()

По сути нужно писать подобное + еще пару переменных для каждого игрока.
Есть ли способ как-то сократить это? Например, foi i 1..x name$i -=..
Но такую запись не принимает.
Как модно молодежно сделать?

Пока писал, посетила мысль забить всё в массив и доставать по номеру игрока. Норм тема?
Аноним 02/11/20 Пнд 23:39:15 1846711138
>>1846691
Даже если бы такая возможность была - нахуя? Как потом такой код читать, чтобы в нем разобраться? Какие-то переменные, которые хуй пойми откуда взялись. Пиши нормально, как у тебя сейчас в посте.
Аноним 03/11/20 Втр 01:01:32 1846743139
>>1846691
Тебе тут нужно работать со списком.


Аноним 03/11/20 Втр 10:41:20 1846914140
>>1846691
тут вопрос к дизайну твоего приложения, че это за хуйня
а вообще есть прикол с декомпозицией, но он опять же работает только с нормальным дизайном
val a, b, c = objectThatGetsDecomposed
Аноним 03/11/20 Втр 15:05:26 1847152141
>>1846691
как-то не очень по индексу из массива доставать конкретных игроков, а если где-то ошибся и вбил не туда данные другого игрока, например?
Аноним 03/11/20 Втр 16:39:17 1847255142
image.png 67Кб, 988x375
988x375
блин блять можно я сюда про гредл спрошу? я заебался.

как можно поменять проджект-нейм без помощи гредл.сеттингс?

как может получатся разный artifactId когда я вызываю publish и publishToMavenLocal ? всю репу засрал уже.

конкретно: мне нужно в артифакт-ид указать версию некой либы, ее я храню в buildSrc, поэтому в gradle.settings не могу просто прописать
rootProject.name = "myname-${Vers.liba}"
(т.к. сеттингс подгружаются раньше билдсрц)
Ну окей, я в MavenPublication указываю artifactId какой мне надо, на локали публикуется все как надо, а при деплое в удаленную репу (gradle publsih) используется имя из гредл-сеттингс
Аноним 03/11/20 Втр 23:46:13 1847628143
>>1847255
Покажи код, где ты объявляешь публикацию в удалённую репу
Аноним 06/11/20 Птн 14:19:18 1849550144
Народ, а нет ли какой хорошей книжки по котлину, где бы с (не совсем тупыми) примерами и задачами рассказывалось про все фишки и внутренние особенности котлина от простого к сложному?
Аноним 06/11/20 Птн 15:19:47 1849601145
Можно в object инициализировать val в методе, наподобие как конструктор/статический инициализатор в яве?

Пример https://pastebin.com/wmg8wZar
хотелось бы избавиться от matchGroup потому что посл создания регекспов она уже не нужна. Можно конечно через let сконвертировать в регулярки, но получается нечитаемая ебанина в реальном коде, логики больше.
Аноним 06/11/20 Птн 18:10:38 1849799146
Аноним 06/11/20 Птн 19:04:15 1849847147
>>1849799
В init {} нельзя val инициализировать.
Аноним 06/11/20 Птн 19:12:53 1849857148
>>1849847
тебе кто-то запретил?
val finalVar: String
init { finalVar = "value" }
Аноним 06/11/20 Птн 19:14:01 1849859149
>>1849601
Немного шизы:
object O {
val x = {
val x = 1
val y = 2
x + y
}()
}

O.x // 3
Аноним 06/11/20 Птн 19:46:47 1849899150
image.png 23Кб, 332x681
332x681
Аноним 07/11/20 Суб 16:16:02 1850482151
>>1849859
Почему шиза то? Есть явный вызов анонимной функции, все норм вроде
Аноним 07/11/20 Суб 16:18:00 1850486152
>>1847255
Насколько я понимаю, сейчас есть две книги которые есть смысл читать.
1 - Kotlin in action (норм)
2 - Kotlin. Программирование для профессионалов (такое себе)
Аноним 07/11/20 Суб 16:18:46 1850488153
Аноним 07/11/20 Суб 17:21:55 1850543154
>>1849857
Я ступил и не прочитал сообщение об ошибке что надо указать тип переменной
Аноним 08/11/20 Вск 03:36:34 1850919155
>>1850486
Спасибо.
>Kotlin in action
Жаль, старовата она уже.
Аноним 09/11/20 Пнд 13:46:46 1851817156
Аноним 18/11/20 Срд 14:45:57 1859344157
котлин жив?
Аноним 18/11/20 Срд 15:04:21 1859356158
Аноним 18/11/20 Срд 23:38:44 1859780159
>>1859356
>Скалы
Еще бы с перлом сравнил
Аноним 18/11/20 Срд 23:50:32 1859782160
image.png 5Кб, 368x162
368x162
Аноним 19/11/20 Чтв 11:17:57 1859984161
>>1859782
котлин победил дно
Аноним 19/11/20 Чтв 14:48:03 1860110162
https://habr.com/ru/company/funcorp/blog/528778/
> корутины с synchronized работают через жопу
> интероп с джавой через жопу (см. MutableMap)
> говнище в синтаксисе вида companion object
> ахах ваша скала мертвая)) в котлине лучше интероп с жавой))
Каково это, пользоваться поделием шизика в медицинском смысле Бреслава?
Аноним 19/11/20 Чтв 15:01:14 1860125163
>>1860110
Сейчас тебе скажут, что хабр помойка, что там все говноеды и вообще не правы.
Аноним 19/11/20 Чтв 17:26:01 1860258164
>>1860110
> корутины с synchronized работают через жопу
Ну так они работают, потому что разработчики Котлина ленивые жопы. А так-то препятствий нет, можно даже на этапе компиляции заменять @Synchronized на synchronized() {}.

На самом деле, что не может сделать Котлин так это блокируюший IO заменить на неблокирующий. А вот Project Loom - может. Но Котлин тут и уже работает, а Loom там далеко и неизвестно когда будет.
Аноним 19/11/20 Чтв 22:26:04 1860494165
>>1860110
Блин, они эту жопу 5 лет писали. При том что новых идей то и не было.

Мимо слился с котлина, когда увидел какую жопу они с асинк авей придумали и понял, что они намеренно будут делать всегда по другому, по своему и максимум под IDE.
Аноним 22/11/20 Вск 02:33:01 1862447166
Аноним 22/11/20 Вск 02:36:06 1862449167
Котлин как барахтающийся неадекватный плавец, потопил скалу и груви и при этом сам не выплыл.
Аноним 22/11/20 Вск 05:22:16 1862484168
>>1862447
Поменяли шизика на сжв-левака, найс
Аноним 22/11/20 Вск 10:58:38 1862557169
>>1862484
Раст уже так загубили. Лол
Аноним 22/11/20 Вск 12:54:36 1862656170
мимо ОП
Появилась вкусная возможность перекатиться на шарп что я и сделал. И решил полностью выкинуть экосистему джавы из своей жизни. Поэтому перекатывайте этот котлин сами.

Фулл-перекат получился не по причине фанатизма к новой платформе, а просто потому, что выгорел и в какой-то момент осознал, что вокруг жабы создан переоцененный пузырь восхваления, не соответствующий действительности.
Аноним 22/11/20 Вск 19:29:02 1862997171
Аноним 23/11/20 Пнд 16:36:55 1863792172
image.png 390Кб, 3214x1782
3214x1782
>>1862557
Жидбрейнс пишут на расте.


>>1862656
>и в какой-то момент осознал, что вокруг жабы создан переоцененный пузырь восхваления, не соответствующий действительности.
Даже интересно стало, через сколько лет ты в .Net разочаруешься. Думаю 2-х лет хватит, чтобы понять что это то же самое говно, только обильно посыпанное сахаром.
Аноним 23/11/20 Пнд 17:58:26 1863878173
>>1863792
>Жидбрейнс пишут на расте.
Сейчас бы в 2020 до сих пор не знать о способе пиара на модных и молодежных языках, чтобы твою компанию где-то чаще упоминали.

Аноним 23/11/20 Пнд 18:08:25 1863899174
>>1863792
>...то же самое говно, только обильно посыпанное сахаром
Тут речь не про синтаксис и сахар, а то что технология сидит на легаси в тырпрайзе и востребована только по инерции ну еще андроид палкой теребит.
В итоге получаем 100500 кривозадейзаненных с оверхед кодом библиотек с мантрой о том что память дешевле разработчика.

>.Net разочаруешься
По крайней мере мягким не пофиг на свое детище, сам шарп активно развивается.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов