Этого треда уже нет.
Это копия, сохраненная 1 августа 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Kotlin #4 /kotlin/ 1817311 В конец треда | Веб
Вкатываемся в новый язык на превосходно отточенной 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.
2 1817318
>>1817305 →
ну а без него нужен установленный питон
как и нужна установленная java для jar

нет никакого "жава у всех стоит по дефолту"
3 1817383
>>1817318
Это верно, поэтому будущее за Net Core, который может кросскомпилиться со всеми зависимостями.
4 1817385
>>1817383
Или за котлин натив
5 1817387
>>1817318
Кстати, еще один момент, в установке питона есть. Во время установки пункт добавления себя в PATH не активен. Юзер может по твоей просьбе поставить по принципу "далее... далее... далее..." и ничего работать не будет.

В общем, питон он только в маня фантазиях удобен, в реале даже поднасрать в установке может.
6 1817389
Неткорщики мне чем-то хаскеллистов напоминают. У них тоже всё вотужезавтра взлетит и порвёт всё остальное.
7 1817397
>>1817387
Ну переставит как надо
Делов то
8 1817400
>>1817385
Я уже сам в него не верю. Тут даже раст не выстрелил, а в нем усилий на порядок больше вложено. Ну еще мне думается, они переоценили свои усилия. Слишком все медленно идет, лучше бы все усилия сосредоточили на jvm и удобных батарейках.

Не пытаюсь тут ныть, но мне, субъективно, стало казаться, что котлин забуксовал в развитие и росте популярности.
9 1817405
>>1817389
Да, вроде, у них как-то все неплохо. Тоже думал что это загон по типу свифта, но потом полазил и мнение немного поменял.
Если бы мне сейчас представился выбор между Net Core и JVM, я бы выбрал нет кор или я просто от жабы выгорел, хз
10 1817824
поясните за

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"?
11 1817868
>>1817311 (OP)

> Крайне не рекомендую посещать это рассадник из ЧСВ макак. В чатах лобызаются одни и те же лица и если ты им не понравишься (а ты им не понравишься) будут постоянно тебя подстрекать пассивной агрессией или принуждать к анальным правилам, которые они вспоминают только тогда, когда пишешь ты. Конечно, ты можешь терпеть и сидеть в этой помойке, но если не хочешь словить негатив и получить ложное представление о ру-комьюнити, не рекомендую посещать этих ребят


Лол, в телеграм-чатиках по Скале та же фигня. Какие-то раки хуже чем в /b/. Видимо такой способ общения чем-то привлекает
этот специфический контингент
12 1817894
>>1817824
toArray(emptyArray<T>())

А вообще можешь toTypedArray() использовать для такого.
13 1817973
>>1817868
Вполне вероятно, что часть тех же токсичных лиц может сидеть и там.

Вообще, не редко возникает эта проблема в ру-чатах, было даже еще в эпоху irc. Ру говорящее айти (и не важно белорус, украинец, русский итд...) чрезмерно, почему-то, высокомерно и одновременно не очень культурно образовано (быдло), и почти всегда возникает местная тусовка и чисто инстинктивно пытается доминировать (потому как уровень культуры на уровне стада), а как доминировать, когда нужно показательно вести себя культурно (поддерживать эту иллюзию)? Только пассивной агрессией, задевая всех кто "не свой".
14 1819754
Есть ли Best Practice по конструированию объекта data-класса? Поясню, я собираю из одной xml другую. Есть RequestA, состоит из кучи всего другого, например есть поле CardInfo, в котором есть уже pan и т.д. Все это я беру, и сую эту вложенность в RequestB. И т.к я в котлине недавно, получается здоровая такая партянка похожая на джавовый код, хочу избавиться от этого.
15 1819762
>>1819754
Нефига, мы должны телепатией понять что за код ты имеешь ввиду?
16 1819764
>>1819754

>я собираю из одной xml другую


Современное программирование.
17 1819770
>>1819762
Ну такой вот

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

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

//Тут по аналогии ещё новые тэги и ещё больше вложенности
)
18 1819773
>>1819770
А как ты это хочешь сократить? Что за сахар ты тут видишь?
19 1819777
>>1819773
Например в классе CardInfo запилить метод build(), который даже хз что будет делать, принимать объект и извлекать из него нужную инфу, возможно. И так со всеми классами
20 1819778
>>1819777
Это ты и на джаве можешь.
И не совсем понимаю чем это от конструктора будет отличаться.
21 1819780
>>1819778
Я и спросил, может есть нормальные способы. Хотя бы более читаемым код сделать.
22 1819794
>>1819780
Ну как минимум делаешь метод, в котором прячешь все эти кишки и в которую передаешь A, а на выходи получаешь B

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

convert(OldRequest): NewRequest
23 1820032
>>1819794
Это понятно все, ну ладно, потом подумаю.
24 1821210
котлин тред, я так вас люблю, вы у меня самые милые и не токсичные на дваче!
25 1825490
>>1817311 (OP)
Разраб на Ноде, думал перекатиться на бэкенде в ЯП со статической типизацией, Котлин вроде выглядит неплохо. Зашел посмотреть вакансии, почти во всех где нужен бэкенд разраб Котлин идет в паре с Жавой или С#, че захрень?
26 1825498
>>1825490
Котлин всплыл совсем недавно и в первую очередь для андроида. А старые джава-проекты никуда не делись. Вот и юзается котлин не в чистом виде, а в связке с джавой.
Ещё есть Go. раз перекатываешься с ноды, он может тебе зайти, но те, кто пишет на статике, от го блюют.
Ну и ещё есть скала, со своими заморочками.
27 1827706
>>1825490

>Котлин идет в паре с Жавой или С#


Странное сочетание сишарпа и котлина.

Но вообще, если по честному, нет нормального статического типизированного языка. Джава, кусок древнего говна, котлин, это свежее попытки, но поверх древнего говна и не все так гладко в синтаксисе. Шарп, не уверен что будут все нужные либы кросс, в общем, неожиданный вендор лок, я думаю, ожидаем. Го, мог ворваться в этот рынок победителем, но нельзя бегать и какать на ходу.
Поэтому грызи либо ts. Либо оставайся в динамике, всякие jsdoc вполне выполняют ту роль, которая требуется от статики сейчас, все зависит от твоей организованности, но нода это кусок говна.
28 1827734
>>1827706
Чёт все языки по-своему хуёвые, что статические, что динамические. Ни один не вызывает у меня восторга.

> Го


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

> ts


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

мимо
29 1828077
Как котлин резолвит конфликты, когда в двух разных экстеншенах определяется метод с одной и той же сигнатурой?
30 1828098
>>1828077
либо разные импорты либо нельзя так, поч не протестишь сам?
31 1828100
>>1828098
Идею долго запускать.
32 1828112
>>1827706

>Но вообще, если по честному, нет нормального статического типизированного языка



Swift
33 1828117
>>1828112
Бэкенд на свифте?) Речь именно про бэкенд.
34 1828118
>>1828117
Не, я в целом про статические языки
35 1828236
>>1828112
Как говорят мои товарищи, языки не имеющие полноценную кросплатформенность, языками программирования называть нельзя.
36 1828240
>>1828236
Твои товарищи - долбоебы
37 1828241
>>1828240
Возможно, но это не отменяет ненужность таких языков в наши дни. Тем более на свифте, как слышал, часто кладут на обратную совместимость, что вообще делает язык не пригодным в промышленном программирование.
38 1828617
>>1828236
А какие имеют полноценную кроссплатформенность?
На каких я одновременно напишу приложения на иос и андроид?
39 1828621
40 1828626
>>1828621
То есть только js и dart полноценные языки?
41 1828629
>>1828626
Получается, что так. Но не знаю, может ли дарт выполняться в браузере.
42 1828636
>>1828629
Да, может
43 1828784
>>1828617
Я не про мобильные платформы, туда всякое говно конвертится и так.
44 1828913
Есть у кого ощущение, что котлин впал в стагнацию?
45 1829058
>>1828913
да конечно! жизненный цикл этой хуйни приходит к концу.

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

вон hr уже в вакансиях пишут не "у нас хорошие зп и бонусы", а
"наша вакансия - отличная возможность перейти на ТЕХНОЛОГИЯ-НЕЙМ"
46 1829072
>>1828913
У нас в легаси-проект на работе в одно время было впилили котлин, но недавно выпилили и переписали обратно на 8 жабу.
47 1829259
>>1829058
Какие именно жиды и какие профиты они получили?
48 1829290
>>1829259
Присоединяюсь к вопросу, даже мои шизофантазии ограничивают догадки.
49 1829296
>>1829072
Понятно что ты залетный школьник. Но мне просто интересно, какие могут быть причины, резко взять и переписать на 8 жабу? После котлина, жабу вообще противно трогать.
50 1829302

> пик 2



В чём прикол?
51 1829307
>>1829296
Я в этот участок проекта не лез, просто слышал, что там были какие-то проблемы с версиями зависимостей. Один разраб впилил, другой выпилил.

> После котлина, жабу вообще противно трогать.


Это твоё личное мнение. Не все считают, что котлин - это лучший язык всех времён и народов.

inb4: ряяя врёти
52 1829391
Погуглите кто создал язык котлин
Какие профиты? Чем учить чужую хуйню и зависеть от её создателей/корпораций, круче придумать свою и подсадить всех на неё. Типично жидовская тема, кстати.
53 1830488
>>1829307

>Не все считают, что котлин - это лучший язык всех времён и народов


Никто так не считает, после любого языка убирающего бойлерплейт, будет противно на жабу.
Мне в свое время говорили учи шарп, потом если надо легко на джаву переедешь. А я потом оплювался жабу трогать.
Если бы мягкие не были в свое время такими муднями, сейчас бы вообще вопроса не стояло, какой ЯП на тяжелый бэкенд брать.

Судя по сленгу и причине в которой котлин никаким местом не причастен, ты мимозалетный фантазер.
54 1830505
>>1830488

> А я потом оплювался жабу трогать.


Надуманно. Я спокойно слез с питона и js на жабу.

> Судя по сленгу и причине в которой котлин никаким местом не причастен, ты мимозалетный фантазер.


Сука, ты читать умеешь?

> Я в этот участок проекта не лез, просто слышал


За что купил - за то и продаю. Я о котлине и его мирке вообще ничего за исключением того, что он подключается через плагин мавена и компилится в классы. И о том, какие там могут быть проблемы с зависимостями, знаю ещё меньше тебя. Но факт остаётся фактом - выпилили под предлогом проблем с зависимостями, действительно это так или нет.
55 1830750
>>1830505

>Я спокойно слез с питона и js на жабу.


Ты впервые стал программировать.
56 1830756
>>1830505

>подключается через плагин мавена


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

Ты это байду про версии в этом треде и вычитал, где чел говорил что не мог два подпроекта объединить (довольно редкая и решаемая другим путем задача). Так что иди самоутверждайся в другом месте.
57 1830761
>>1830756

> Ты это байду про версии в этом треде и вычитал,


Заявляя, что я фантазёр, ты превзошёл самого себя и начал фантазировать сам.

> где чел говорил что не мог два подпроекта объединить (довольно редкая и решаемая другим путем задача).


Я в это не сильно вчитывался, но если под проектами понимаются модули мавена, то я даже придумать не могу, откуда там проблемам взяться.
58 1831552
Все таки интероп котлина с явой - говно!

Вот какого хера, енум не может заимплеменитить интерфейс в котором есть метод String name()? Почему в яве это отлично работает, а тут ошибка компиляции?
59 1831628
image.png107 Кб, 1698x794
60 1835964
привет двач, мне дали делать новый проект на спринге с нуля и я хотел предложить котлин, но мне отказали и я вот пишу на джаве(
вот такая табличка готовится чтобы показать работодателю, хочу на котлине писать, добавьте чего-нибудь в обе стороны, что вам нравится в обоих языках
спасибо котлин тред вы у меня самые лучшие!
image.png1 Кб, 382x19
61 1836338
>>1835964
чел...
62 1836436
>>1836338
Тоже не понял этого пункта.
63 1836457
>>1836338
мне не приходилось этого делать а пока не приходится - нахуй надо знать=)
это проблема точно не моя, а языка. функциональные интерфейсы - худшая попытка спиздить функциональщину переделав под ооп...
в общем вместо того чтобы гадости писать предложили бы чего интересного.... =(
64 1836469
>>1836457
=)))))))))))))))
65 1836470
>>1836457

> функциональные интерфейсы


Сразу видно, что о лямбдах в котлине ты знаешь только то, что они есть.
66 1836607
>>1835964

>modern syntax


Что в нем модернового, если они полностью слямзили вдохновились у других языков?
Что вообще является современным синтаксисом, какой критерий?
67 1836659
>>1836607
Отсутствие ; же
68 1836707
>>1836607
все то, что есть в котлине, но нет в джаве
все то, что есть в шарпе, но нет в джаве
чел ты доебался до ничего, ты очень глупый
>>1836470
мне без разницы как они реализованы до того момента, пока я могу описать тип лямбды через ахуеннейший синтаксис котлина, благодарен великим русским разработчикам за то, что мне не приходится трогать уебищные функциональные интерфейсы джавы

жесть блин вы меня расстроили, попросил пунктиков накинуть а вы мне гадостей написали, хуй с вами короче, отдам как есть
69 1836712
>>1836707
Потому что на самом деле котлин тебе не нужен, не выдумывай.
70 1837053
>>1836659
Тогда js и питон сверх новые яп.
71 1837059
>>1836707
Все котлинисты такие тупые?
72 1837071
>>1837053
Интересно, что петухон появился до жабы, но коболом считают именно жабу.
73 1837125
>>1837071

Ну, логично, жаба заняла нишу кобола - крудо опердни энтерпрайза.
74 1837433
>>1836338
Это у него вообще про джаву написано, вторая колонка же.
75 1837812
>>1836707
У тебя там по сути один пункт - ты смузихлеб.
76 1837933
>>1837812
хули ты на джаве пишешь, сойбой? на ассемблере хуярь, лол, или слабый?
77 1838284
Стух, что-то тред.
78 1838724
https://habr.com/ru/company/ruvds/blog/524824/
Я то думал, откуда такой наркоманский дизайн некоторых моментов языка, а оказывается Бреслав просто шизик
79 1839593
>>1817311 (OP)
А чего график протухший. Он же ещё Январский.
80 1839654
>>1838724
С подключением.
81 1839677
>>1838724
Забавно, когда впервые листал синтаксис, была такая же мысль.
Имхо, нельзя разрешать дизайнить язык одному человеку.
82 1839680
>>1839593
В январе дарт вообще сосал.
83 1839689
>>1838724
Я как-то тыкал скалу и увидел, что в котлине многое взято именно из неё. Так что часть претензий насчёт упоротого дизайна можно обратить к создателям самой скалы.
84 1839692
>>1839689
так они могли не брать этот хуевый дизайн
я мимокрок, сам очень люблю абсолютно все что есть в котлине, ни одна фича не кажется убогой (пока что)
85 1839760
>>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>()
не скомпилится.
86 1839770
Раз они упоролись в нейтив, они могли вообще не брать за основу jvm, а взять llvm сразу.

В итоге мы имеешь,
-хер пойми какое объявление конструкторов (считаю это эпик проёб)
-просрана короткая запись для списков [] и мап {}
-избыточный загон по мутабельности и не мутабельности в языке
-изуродован static в виде компаньюнов каких-то.
-непродуманные дата-классы с мелкими подводными, в том числе отсутствие наследования
-не такой уж и прям честный 100% интероп.
-dsl, который, для меня, не так и гибок как хотелось бы.
-беднейшая стандартная библиотека.
-избыточные непонятные экстеншены в стандартной библиотеки (взять ту же строку, херова туча непонятной херни)
-зачем они сделали отсебячину с корутинами, хотя уже их критиковали за это.
-100500 зарезервированных ключевых слов
-Вводить дополнительные подтипы для null, имхо, не лучше дизайн. Теперь null типы проблемны и неудобны. Не так много проблема NPE приносил, как привносить проблемы нуллабл типы. То есть, от null вообще надо отказываться (делая какие-то спец исключения или еще что-то), а не в типы его засовывать.
87 1839773
>>1839770
А ещё companion object, который спёрли из Скалы не разобравшись. В итоге в Скале это просто идиома, а в Котлине - зачем-то часть синтаксиса.
88 1839774
Или вот пример с пропертями и приватными сеттерами и публичными геттерам. Помню говорили мол, нет кейса использования, а значит это вам не надо мы же блядь умнее вас, хули вы хотите. Но оказалось настоящие программисты стали приводить кейсы, когда это может быть надо (например сделать поле length в какой-нибудь коллекции из которого можно читать, но писать мог бы только сам класс).
89 1839775
>>1839770

> не брать за основу jvm, а взять llvm сразу


То есть высрать очередной язык без инфраструктуры, в котором нет ничего, кроме сахарочка и громоздких жаба-подобных идентификаторов? Какой-нибудь Go хотя бы поддерживается гуглом, а котлин бы родился уже мёртвым.
90 1839779
Предлагаю обсудить, почему котлин не выстрелил и стал фактически языком только для мобильной разработки?
91 1839781
>>1839775
Куда более гибко создавать язык с нуля, чем фиксить джаву. Имхо, котлин даже с джава либами не особо востребован.
92 1839783
>>1839781
Котлин как раз и создавался с целью пофиксить жабу, а не создать очередной инновационный язык, которых и так десятки тысяч.
В определённых кругах он всё же востребован, на андроиде это основной язык, а в бэке уже на уровне скалы почти нулевом.
93 1839794
>>1839783
Логично фиксить джаву должна сама джава. Зачем тащить говно и потом побеждать его, когда говна можно просто не брать. Ну ладно, хер с ним, так то понятно зачем им ЯП на джаве. Нужно известное имя чтобы продвигать продукт.
Но зачем они в нейтив полезли и тем более в js? Почему не делать котлин еще лучше? Там уже жаба догоняет их.
94 1839795
>>1839783

>В определённых кругах он всё же востребован


У нас по началу дали команде поиграться, всем зашло, но остальные отказались, мол хера писать тоже самое только еще синтаксис учить и новые подводные камни осваивать, в итоге снова java, здравствуйте.
95 1839797
>>1839795
Но вот для своих проектов я бы новый яп взял, но не на базе jvm (и точно не го, раст для бизнес логики сложен, динамика сосёт, шарп вроде кажется продуманей, но хз).
96 1839801
>>1839794

> Логично фиксить джаву должна сама джава


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

> Нужно известное имя чтобы продвигать продукт.


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

> Но зачем они в нейтив полезли и тем более в js?


Могут - вот и полезли. JVM всё равно остаётся в приоритете.
97 1839803
>>1839795
В какой-нибудь хипстерской команде в стартапе, наверное, было бы легче продвинуть котлин. Это в легаси все с коболом смирились.
98 1839810
>>1839801

>Джава, как видишь, добавляет фишечки очень неохотно


Есть такой эффект в программирование, хз как называется, пускай будет эффект Семёна. Дело в том, что чаще популярные яп тащат в свои языки идеи, а новый инноватор тухнет на обочине.
Яркий пример руби и рельсов, или фп фич.

>не особо продвигаются


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

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


И увязли.

>JVM всё равно остаётся в приоритете.


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

> популярные яп тащат в свои языки идеи, а новый инноватор тухнет на обочине


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

> котлин нужен чтобы популизировать продукты жопбрейнс


Это с точки зрения жетбрейнса. Но они создали сравнительно удобную технологию, и странно отказываться от её использования только потому, что жетбрейнсу от этого может быть профит. Вон Go тоже создавали для внутренних нужд гугла, но теперь его пихают куда не лень.

> И увязли.


Их проблемы. В JS-мирке хорошо не бывает, а проблемы с нейтивом не могут решить даже те, кто целенаправленно создаёт языки для него.

> обертка копипаст


Лучше сложно что-то придумать.

> ни пакетного менджера


Мавен, градл, ант. Или ты предлагаешь и здесь всё с нуля делать вместо использования готового? Это уже на NIH похоже.

> ни веб плюшек


Ktor, Spring, EE, и прочее из джава-мирка.

Складывается ощущение, будто ты веришь, что котлин - это самостоятельный язык, а не на подсосе у жабы.
100 1839825
>>1839821
Какое шаблонное мышление, одно и тоже, каждый тред, как попугаи блин. Вы можете сами анализировать? Я хочу видеть ваши мысли, а не конспект.
101 1839828
>>1839825

> 2 + 2 = 4


> Какое шаблонное мышление, конспект из начальной школы!


> Ладно, давайте выскажем свои мысли. Может, это 5? Хотя нет, была такая гипотеза, и она опровергнута. Хорошо, посчитаем на пальцах. Всё-таки 4.


Такой анализ хочешь?
102 1839833
>>1839821

>Мавен, градл, ант, Spring, EE


Так зачем мне тогда твой котлин?

>странно отказываться от её использования только потому, что жетбрейнсу от этого может быть профит.


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

>Лучше сложно что-то придумать.


Там ничего нет, хватит подменять понятия.

>будто ты веришь, что котлин - это самостоятельный язык


Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?
103 1839834
>>1839828

>Я хочу видеть ваши мысли


Ясно, я понял, не надо ваших мыслей :)
104 1839838
>>1839833

> Так зачем мне тогда твой котлин?


Сахар. Если он тебе не нужен, то и котлин не нужен.

> Кто это сказал? Зачем ты подстраиваешь мой ответ под свои мысли?


Потому что ты не умеешь их формулировать, и непонятно, что хотел сказать.

> конкретный профит не связан с профитом среднестатистического разработчика. А раз у нас вектор разный, рано или поздно мы разойдемся в интересах.


Тогда все вернутся обратно на жабу.

> Там ничего нет, хватит подменять понятия.


И не должно быть.

> Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?


Не хочешь - не учи, тебя никто не заставляет. Продолжай писать на джаве, всё равно котлин через время исчерпает смысл своего существования.
105 1839843
>>1839838

>Зачем ты подстраиваешь мой ответ под свои мысли?


>Потому что ты не умеешь их формулировать


"Ты говоришь не под мое шаблонное мышление, поэтому я скорректировал чтобы оно совпадало с ним". Так будет правильнее.

>Сахар. Если он тебе не нужен, то и котлин не нужен


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

Остальные ответы уровня пятиклассника - не нравится, не делай. Интеллектуальный дисскус это не твоя стезя, лучше больше не влезай в него.
106 1839846
>>1839843

> Так будет правильнее.


Нешаблонное мышление - это отрицание очевидных фактов? Я тебя понял.

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


Да там и учить нечего, не кресты.

> Интеллектуальный дисскус это не твоя стезя, лучше больше не влезай в него.


Ты придумал себе манямирок из-за непонятой сути котлина и ещё хочешь каких-то "дисскусов". М-да.
107 1840136
>>1839760
Нашел до чего доебаться. Используй kotlin.collections.MutableMap вместо java.util.Map.
108 1840313
>>1839774

> Или вот пример с пропертями и приватными сеттерами и публичными геттерам.



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

В чем твой поинт? В том что жб слушают фидбек и делают фичи, когда появляются реальные юз-кейзы?
109 1840345
>>1839779
людская лень. один из челов, которые тут наспорили, говорил

>Тогда зачем мне учить новый синтаксис и иметь в поддержке сразу два языка?


ты недооцениваешь эту ебанутую лень, которая не позволяет перстроиться с говна на конфеты
110 1840545
>>1840345
Просто не все жрут маркетинг не пережевывая и для многих это размен говна на говно.
111 1840557
>>1840136

> Используй kotlin.collections.MutableMap вместо java.util.Map


Иди нахуй с такими советами
112 1841124
>>1840557
не дали попользоваться языком без стдлибы, суки, да?
113 1841154
>>1841124
Здорово, что для юзания стдлибы джавы приходится юзать стдлибу котлина.
114 1841376
Ппц, есть же продуманный и вменяемый шарп, нафига эти костыли поверх древнего синтаксиса жрать?

мимо джаваскрипт господин.
115 1841390
>>1841376

> костыли поверх древнего синтаксиса


> джаваскрипт


То есть ты не пользуешься бабелем и полифиллами, чтобы транслировать новейший EcmaScript в старые стандарты, поддерживающиеся у большинства, а сразу хуяришь на прод, чтобы открывалось только в самых свежих браузерах?
116 1841425
>>1841390
Хром обновляется по кд, а кто сидит еще на XP или каком-нибудь IE, они не платежеспособны и не интересны бизнесу в котором я работаю.

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

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

>подводномы


жуть какаяподводными камнями
118 1841438
>>1841154
тебе приходится юзать стдлибу котлина чтобы пользоваться котлином, чел.
119 1841459
В общем, я понял. Если в Go-треде "lol no generics", то здесь "lol mapped types".
120 1841954
>>1841124
У котлина нет стдлибы, у него сахарок поверх стдлибы явы. Но местами он карамелизовался и перекрыл доступ к стдлибе явы.
Не то, чтобы прям проблема-проблема, но неприятно. Косяки интеропа с явой - это реальная проблема для миграции существующих проектов.
121 1842310
>>1841954
ну так это же вполне можно назвать стдлибой
а про миграцию печально да, но косяки правятся, все предусмотреть невозможно, учитывая что они многие вещи сделали по-своему, так что либо терпим и переносим на котлин, либо терпим еще больше но на жабе
122 1842486
>>1842310
Либо плаваем в большом бассейне с водой, либо терпим и черпаем ложкой в новый бассейн "котлин"
123 1842963
Поясните мне такую вещь,
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)
}

Как так?
124 1842965
>>1842963
Это не inner, это nested. Отличие в том, что inner имеет доступ к экземпляру содержащего класса.
Иными словами Nested - это аналог static класса в джаве.
125 1842972
>>1842965
Спасибо.
126 1843019
>>1817311 (OP)
Всем привет, неофит в треде
Есть один цикл
Есть массив из нескольких элементов
Мне нужно по определенному принципу часть элементов отсеять и перенести в другой массив
Выглядит это примерно следующим образом
https://pastebin.com/rN7457Re
Для каждого type будет несколько элементов i, которые нужно выкинуть
И всё работает
Но что, если для какого-то type будет 100 элементов. Запись и так выглядит громоздко. Как можно авторитетно и по красоте написать?

В идеале это всё в функцию засунуть, и потом просто вызывать эту функцию, да? Как это лучше сделать? В другом файле и импортировать функцию?
127 1843084
>>1843019

>Для каждого type будет несколько элементов i, которые нужно выкинуть


Вот это, непонятно. Как тип связан с элементом массива?
128 1843094
>>1843019
непонятно
129 1843147
>>1843084
>>1843094
type никак не связан, это сторонняя переменная, которая приходит из другой части кода.
Если будет удобнее, это сигнал от свитч-кнопки. По замыслу творца выключение свитч-кнопки должно убрать из общего пула (речь про массив) несколько значений, которые имеют определенный индекс в массиве (как раз несколько значений i)
130 1843153
>>1843147
Я бы объявил
val filters = mapOf<Type, Set<Int>>()
Где Type это енум с типами кнопок, который можно нажимать. А Set<Int> это значения которые связаны с конкретным типом.
131 1843163
>>1843153
Извините, я неофит
А можно какой-то пример с картиночкой?
Желательно к этому же самому примеру
Просто mapOf - это же пара ключ-значение, много пар, вернее. >дубликаты ключей не допускаются, значения могут быть одинаковыми
Из документации, а у меня на 1 ключ (у тебя в примере type стоит как раз на месте ключа) будет прямо много значений
Хотя, если подумать, можно как ключ использовать i, а значение - значение type.
Звучит вроде бы даже логично, только не очень понятно, как теперь жить с этим.
133 1843276
>>1843176
Извините за тупость, но я нихуя не понял
enum class Type {
TYPE1,
TYPE2
}
Но ведь у каждого type (в моем примере) два значения 0 или 1, в зависимости от которых и выполяется / не выполняется условие

>fun filter


Я слишком слаб, но я не понял ничего после этого
Но там нет if, и нет while
Получается, что это только функция, для дальнейшего использования её в цикле?
134 1843278
>>1843276
ты бы попытался хотя бы внятно объяснить что тебе нужно....
135 1843286
>>1843278
Глобально: есть ли какие-то способы (желательно простые, как показывает практика) сделать вот это
>>1843019
Продублирую ещё раз пастебин
https://pastebin.com/rN7457Re
как относительно лаконично записать это, если количество i будет не 3, как в примере, а 100?
136 1843304
>>1843276
https://pastebin.com/er2utvdd
Передаешь сет со всеми выбранными type.
137 1846691
>>1817311 (OP)
Всем привет
Есть такая конструкция:

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

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

Пока писал, посетила мысль забить всё в массив и доставать по номеру игрока. Норм тема?
138 1846711
>>1846691
Даже если бы такая возможность была - нахуя? Как потом такой код читать, чтобы в нем разобраться? Какие-то переменные, которые хуй пойми откуда взялись. Пиши нормально, как у тебя сейчас в посте.
139 1846743
>>1846691
Тебе тут нужно работать со списком.
140 1846914
>>1846691
тут вопрос к дизайну твоего приложения, че это за хуйня
а вообще есть прикол с декомпозицией, но он опять же работает только с нормальным дизайном
val a, b, c = objectThatGetsDecomposed
141 1847152
>>1846691
как-то не очень по индексу из массива доставать конкретных игроков, а если где-то ошибся и вбил не туда данные другого игрока, например?
image.png67 Кб, 988x375
142 1847255
блин блять можно я сюда про гредл спрошу? я заебался.

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

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

конкретно: мне нужно в артифакт-ид указать версию некой либы, ее я храню в buildSrc, поэтому в gradle.settings не могу просто прописать
rootProject.name = "myname-${Vers.liba}"
(т.к. сеттингс подгружаются раньше билдсрц)
Ну окей, я в MavenPublication указываю artifactId какой мне надо, на локали публикуется все как надо, а при деплое в удаленную репу (gradle publsih) используется имя из гредл-сеттингс
143 1847628
>>1847255
Покажи код, где ты объявляешь публикацию в удалённую репу
144 1849550
Народ, а нет ли какой хорошей книжки по котлину, где бы с (не совсем тупыми) примерами и задачами рассказывалось про все фишки и внутренние особенности котлина от простого к сложному?
145 1849601
Можно в object инициализировать val в методе, наподобие как конструктор/статический инициализатор в яве?

Пример https://pastebin.com/wmg8wZar
хотелось бы избавиться от matchGroup потому что посл создания регекспов она уже не нужна. Можно конечно через let сконвертировать в регулярки, но получается нечитаемая ебанина в реальном коде, логики больше.
146 1849799
>>1849601
init {}
147 1849847
>>1849799
В init {} нельзя val инициализировать.
148 1849857
>>1849847
тебе кто-то запретил?
val finalVar: String
init { finalVar = "value" }
149 1849859
>>1849601
Немного шизы:
object O {
val x = {
val x = 1
val y = 2
x + y
}()
}

O.x // 3
image.png23 Кб, 332x681
150 1849899
151 1850482
>>1849859
Почему шиза то? Есть явный вызов анонимной функции, все норм вроде
152 1850486
>>1847255
Насколько я понимаю, сейчас есть две книги которые есть смысл читать.
1 - Kotlin in action (норм)
2 - Kotlin. Программирование для профессионалов (такое себе)
153 1850488
>>1849550
Бля, не туда ответил >>1850486
154 1850543
>>1849857
Я ступил и не прочитал сообщение об ошибке что надо указать тип переменной
155 1850919
>>1850486
Спасибо.

>Kotlin in action


Жаль, старовата она уже.
156 1851817
>>1849550
Волшебство Kotlin :-)
157 1859344
котлин жив?
158 1859356
>>1859344
Живее скалы будет.
>>1828913
159 1859780
>>1859356

>Скалы


Еще бы с перлом сравнил
image.png5 Кб, 368x162
160 1859782
>>1859780
Нуачо
161 1859984
>>1859782
котлин победил дно
162 1860110
https://habr.com/ru/company/funcorp/blog/528778/

> корутины с synchronized работают через жопу


> интероп с джавой через жопу (см. MutableMap)


> говнище в синтаксисе вида companion object


> ахах ваша скала мертвая)) в котлине лучше интероп с жавой))


Каково это, пользоваться поделием шизика в медицинском смысле Бреслава?
163 1860125
>>1860110
Сейчас тебе скажут, что хабр помойка, что там все говноеды и вообще не правы.
164 1860258
>>1860110

> корутины с synchronized работают через жопу


Ну так они работают, потому что разработчики Котлина ленивые жопы. А так-то препятствий нет, можно даже на этапе компиляции заменять @Synchronized на synchronized() {}.

На самом деле, что не может сделать Котлин так это блокируюший IO заменить на неблокирующий. А вот Project Loom - может. Но Котлин тут и уже работает, а Loom там далеко и неизвестно когда будет.
165 1860494
>>1860110
Блин, они эту жопу 5 лет писали. При том что новых идей то и не было.

Мимо слился с котлина, когда увидел какую жопу они с асинк авей придумали и понял, что они намеренно будут делать всегда по другому, по своему и максимум под IDE.
166 1862447
>>1860110
Ну вот, вероятно из-за твоих постов заменили руководителя проекта по котлину
https://blog.jetbrains.com/kotlin/2020/11/roman-elizarov-is-the-new-project-lead-for-kotlin/

Правда котлину это уже не поможет.
167 1862449
Котлин как барахтающийся неадекватный плавец, потопил скалу и груви и при этом сам не выплыл.
168 1862484
>>1862447
Поменяли шизика на сжв-левака, найс
169 1862557
>>1862484
Раст уже так загубили. Лол
170 1862656
мимо ОП
Появилась вкусная возможность перекатиться на шарп что я и сделал. И решил полностью выкинуть экосистему джавы из своей жизни. Поэтому перекатывайте этот котлин сами.

Фулл-перекат получился не по причине фанатизма к новой платформе, а просто потому, что выгорел и в какой-то момент осознал, что вокруг жабы создан переоцененный пузырь восхваления, не соответствующий действительности.
171 1862997
>>1860110

>пук

image.png390 Кб, 3214x1782
172 1863792
>>1862557
Жидбрейнс пишут на расте.

>>1862656

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


Даже интересно стало, через сколько лет ты в .Net разочаруешься. Думаю 2-х лет хватит, чтобы понять что это то же самое говно, только обильно посыпанное сахаром.
173 1863878
>>1863792

>Жидбрейнс пишут на расте.


Сейчас бы в 2020 до сих пор не знать о способе пиара на модных и молодежных языках, чтобы твою компанию где-то чаще упоминали.
174 1863899
>>1863792

>...то же самое говно, только обильно посыпанное сахаром


Тут речь не про синтаксис и сахар, а то что технология сидит на легаси в тырпрайзе и востребована только по инерции ну еще андроид палкой теребит.
В итоге получаем 100500 кривозадейзаненных с оверхед кодом библиотек с мантрой о том что память дешевле разработчика.

>.Net разочаруешься


По крайней мере мягким не пофиг на свое детище, сам шарп активно развивается.
175 1864564
>>1863899
Предатель. Сначала в джава-треде котлин пропагандировал, теперь в собственном треде за дотнет топит. Дальше будешь пайтон форсить, а потом жс. Перебежчик!
176 1864573
>>1863878
Кому пиариться? Такого аутиста, который пишет на Яве/Котлине и не знает жидбрейнс еще поискать надо. Плюс не ты ли заявлял

>Раст уже так загубили.


?

>>1863899

>Тут речь не про синтаксис и сахар, а то что технология сидит на легаси в тырпрайзе и востребована только по инерции ну еще андроид палкой теребит.


>В итоге получаем 100500 кривозадейзаненных с оверхед кодом библиотек с мантрой о том что память дешевле разработчика.


Так при чем тут язык, это на любом проекте так может быть. Смотри на компанию, проекты, отношение к коду. Или ты такой наивный, что веришь что язык волшебным образом решает проблемы с разработкой?

>По крайней мере мягким не пофиг на свое детище, сам шарп активно развивается.


Что принципиально нового появилось в последней версии? Сахар не в счет.
177 1864585
Ну всё, язык котлин закрыт, продолжаем писать на коболе.
178 1864657
>>1864585
все нормальные люди на джарп переходят
179 1864672
>>1864657
Коботлин.
180 1865116
>>1864564
Питон уже давно ненавижу. У этого говна пузырь куда больше чем у джавы. Жс же, говно прибитое к браузеру, куда без него.
181 1865117
>>1864573

>Кому пиариться?


Сейчас бы не разбираться даже в базовом маркетинге и нести какую-то херню.
182 1865118
>>1864573

>Так при чем тут язык


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

>Сахар не в счет.


Синтаксис, наверно тоже не в чет, лол?
А вообще, объединение всех веток .NET под общий опенсорс.
183 1865291
>>1865117
Тред посетил гуру маркетинга, вы получаете +15 к харизме.
Чел ты по одному скриншоту делаешь выводы, что на самом деле раст не используется, а упомянут просто для пиара. Извини конечно - но ты полный мудак.

>>1865118

>Язык как всегда не причем, это программисты плохие.


Не программисты, а отношение к разработке - проджект менелжмент и все такое.

>К сожалению джава действительно не плохой язык, но отделить его уже от текущего стека, почти не реально.


Так стек это как раз вин - у тебя есть фреймворки и библиотеки на все случаи жизни. Например сравни билд тулы в яве и дотнете, дотнет так и сидит на копии Анта.

>Синтаксис, наверно тоже не в чет, лол?


У тебя десяток способов отфильтровать список и каждый использует что ему нравиться а еще там есть всякие подводные камни по части перфоманса. В результате в коде разброд и шатание.

>А вообще, объединение всех веток .NET под общий опенсорс.


Ну это как переезд явы на гитхаб - круто конечно, но простому разрабу до лампочки.
184 1865868
>>1865291

>Тред посетил...


Ппц ты тупой и никто не говорил что они не используют.
В предыдущей компании, несколько лет назад писали какой-то йоба-микро-сервис на го, чисто чтобы потом чел поехал на конференцию в мухажопинс и посветил там компанией.

Звездец, какие нынче программисты тупые и далекие от реальности, ты наверно еще и пони трахаешь? Ты из этих, одаренных? Да?
185 1865869
>>1865868
Если совсем тупой, поясню. Смысл в том, что у новых языков тесное сообщество и потом мимохер может сказать что, эта йоба-компания использует го. Как минимум они эту хрень хорошо запоминают, это что-то вроде внутренней победы, когда новый язык кто-то еще берет в свои ряды.
186 1865968
>>1862484
Сжв-левака с шизой на сжв-левака ты хотел сказать? Или ты пропустил бреславовские выступления на тему "зачем нам нужны квоты по писечке в ойти"?

>>1862557
Сказал так, будто его пидоры загубили а не оптимизация зп сео расходов в мозиле.
187 1865990
>>1865868

>В предыдущей компании, несколько лет назад писали какой-то йоба-микро-сервис на го, чисто чтобы потом чел поехал на конференцию в мухажопинс и посветил там компанией.


Пчел, ты хоть открой хх прежде чем писать такую хуйню. Го — это новый пхп, количество вакансий на нём прирастает чуть ли не по 20% каждый год. Хотя в реалиях какой нибудь челябы где самая новая технология это дельфи 7, наверно это вообще эзотерика.

>>1865869
Ну, не все в курсе реалий твоего мухожопинска, держи в курсе, очень интересно.

ЖБ — явно та компания, которая нуждается в такой хуйне. Там же не работает куча народу, и какая нибудь команда не захотела просто пощекотать себе анус, ведь им манагер запретил бы как тебе в твоей галере на 7 человек, ты наверно вот так мыслишь?

>>1865291

>Ну это как переезд явы на гитхаб - круто конечно, но простому разрабу до лампочки.


Пока он не захочет поковыряться в исходниках, с тем, как они показывали исходники раньше, можно было разве что анус себе поковырять. Хотя у тебя программирование наверно заканчивается на крудах.
188 1866185
>>1865868

>В предыдущей компании, несколько лет назад писали какой-то йоба-микро-сервис на го, чисто чтобы потом чел поехал на конференцию в мухажопинс и посветил там компанией.


Пиздец маняпроекции - где-то, когда-то использовало язык потому что модно, и теперь из этого следует что все так делают.
189 1866189
>>1865990

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


Не ослил склонировать проект из меркуриала, но всем пиздит что правит баги в JDK.
190 1866254
>>1865990

> в реалиях какой нибудь челябы


Не гони на челябу, у нас тут даже на Скале одна контора пишет например правда руководство там пидарасы, кидающие при увольнении на деньги
191 1866322
>>1866189

>но всем пиздит что правит баги в JDK.


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

>>1866185
Да не использовали там из-за этого, просто кто-то взял и затащил. Если бы реально хотели пиарится — сразу бы на гитхаб выложили и пошли по конференциям, а не выжидали бы несколько лет, лол.

>>1866254

>у нас тут даже на Скале одна контора пишет например


А в дс 300 таких вакансий, перегнали, чего сказать.

>правда руководство там пидарасы, кидающие при увольнении на деньги


Вот это кстати звучит как план — заманиваешь хипстерскими технологиями и не платишь бабулес.
192 1866633
>>1866322

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


Это прям какой-то феерический уровень аутизма, быть достаточно тупым чтобы не суметь сделать hg clone, но при этом поскролить файлики на гитхабе где нет даже go to declaration нет и что-то там понять.
193 1866692
>>1865968

>Сказал так, будто его пидоры загубили а не оптимизация зп сео расходов в мозиле.


Тут какой-то анон ванговал в раст тредах (года 4 назад), что скоро вышвырнут всю эту хипстер компашку, которая проедает бюджет. Так, собственно и вышло, только не так сразу.
194 1866729
>>1866633
Ну раз уж ты скозал.

>где нет даже go to declaration нет


Вот это я понимаю жавадауна прорвало.

>и что-то там понять


Скажу тебе больше — я половину времени вообще в виме работаю, кек.

>>1866692
Анон в треде просто пердел, подобные вещи угадать невозможно тащемта. Можно с тем же успехом так срать про все новые технологии и потом сказать "а я знал!1" когда 1 из 100 осталась без финансирования.

Алсо, судя по регулярным обновлениям
https://github.com/rust-lang/rust/blob/master/RELEASES.md
спонсоров хватает и всё у них в порядке.
master в main так и не переименовали в основном репозитории)0 или зеленоволосых лгбт-борцунов выгнали нахуй уйдя из мозиллы?
195 1866741
>>1866729
-Хипсторы постоянно гробят чужой бизнес, просерая все полимеры.
-Мозила набирает толпу хипстеров для нового проекта.
-Последствия предугадать невозможно, это ультра сложная логика, анон просто угадал.
196 1866750
>>1866741
Я как-то смотрел конфу, там хистероды рассказывали как взяли на нагруженный проект питон. И блин, неожиданно, спустя мясацы и тонны денег заказчика, оказалось, все тормозит и жрет ресурсы аки монстр.
Но хистеров было не остановить, они там что-то подкрутили, что-то заменили и таки смогли на последнем пуке заставить пистон работать, о чем собственно и конфа.

Самое забавное, они даже не поняли где их ошибка в ДНК и зачем они вообще сову на глобус натянули.
197 1866874
>>1866729>>и что-то там понять

>Скажу тебе больше — я половину времени вообще в виме работаю, кек.


Я ему говорю, что через веб морду репозитория нихуя толком не посмотришь, он мне рассказывает что сидит в виме, в котором и go to definition и прочие функции по работе с кодом есть. Ну не мудак ли, а?
Ладно иди в хуй аутист, не буду дальше с тобой спорить.
198 1867252
>>1866874

>ммаааааммм ну я жи скозааал!11



>go to definition и прочие функции по работе с кодом есть


Без изъёбств по превращению его в иде там go to definition уровня браузера с ctrl-f, что ты несёшь-то, уебан?

>Ладно иди в хуй аутист, не буду дальше с тобой спорить.


Сказал так, будто можешь спорить а не серить себе штаны.
199 1871553
Свежий контент, а то тред стух как и язык
https://www.youtube.com/watch?v=fHrTZnpUoy8
200 1871599
Мёртвый тред, мёртвого языка.
201 1872072
>>1871599
android когда умер подскажите?
202 1872102
>>1872072
Когда все начали массово переписывать андроид-проекты с котлина обратно на жабу.
203 1872134
>>1872102
Пруфы?
204 1872279
>>1872072
Году в 15, когда появился современный фронтенд.
205 1872510
>>1872279
это ты про ректал, фу и арликино?
206 1872900
>>1872510
От уничижительных наименований ситуация с нейтивом не улучшится.
207 1872934
>>1872900
С приходом вебассембли и полной замены html на этот вебассембли, ты эти перделки и не вспомнишь.

Но суть не в этом, а в том, что современную вебу они не нужны. Как бы это не было странным, но современный html и жопоскрипт самодостаточен и не требуется каких-то фреймворков которые как-то по своему тупо хранят состояния и реализуют jsx, который один в один как html.
208 1872954
>>1872934

> С приходом вебассембли и полной замены html на этот вебассембли, ты эти перделки и не вспомнишь.


Ещё лучше.

> Но суть не в этом, а в том, что современную вебу они не нужны. Как бы это не было странным, но современный html и жопоскрипт самодостаточен и не требуется каких-то фреймворков которые как-то по своему тупо хранят состояния и реализуют jsx, который один в один как html.


Суть хуякта в том, чтобы делать любые действия на странице, вообще её не перезагружая. Отсюда вытекает любимый жопаскриптерами "компонентный подход", который лишь следствие того, чтобы обозначить, что именно переренеривать на странице при обновлении, причём таким образом, чтобы не получилась неподдерживаемая лапша. Ну а jsx - это просто сахар, чтобы вместо document.createElement() писать </>. Конечно, всего можно добиться без хуякта, но через время выяснится, что в проекте он просто изобретается с нуля.
209 1873058
>>1872954

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


Некуясе, а парни то не знали это, перезагружали раньше страницы без ректала. Как такое может быть?

>компонентный подход


Тебе уже дали более менее нормальный ООП в жс.
210 1873061
>>1872954

>но через время выяснится, что в проекте он просто изобретается с нуля


Макертинговый буллшит. Ладно этим деньги платят, вы то зачем бесплатно это разносите.
211 1873103
Хуйня это все.
212 1873142
>>1873103
Коклин?
213 1874056
Пишу из 2022, о котле никто и не вспоминает.
Бегите глупцы.
214 1874106
хейтеры нафик идите. крутой язык.
215 1874708
>>1874056
Пишу из 2023. После того как майкрософт стал спонсором фонда и основным контрибьютером раста, все пишут только на нем. С++ вымирает. Дизайн веба происходит только на вебассембле, HTML DOM даже не вспоминают. И кстати нормально портировать JVM на новую мобильную платформу так и не получилось.

Мимо, пилю 3D сайт в браузере на вебассембли.
216 1874805
>>1874708
А тайпскрипт, тайпскрипт что?
217 1875048
хейтеры котлина, зацените че принесла
как вам?
org.telegram:telegrambots - либа
https://pastebin.com/ybREecd1 - рабочий жаба код
218 1875073
>>1874708
Это пиздит. Я из 2025, и ещё года три назад с растом все закончилось тем, что из него в кресты притащили опциональный боров-чекер, и на этом моменте раст перестал быть нужен
219 1875085
>>1875048
Готовыми либами такое хоть в крестах легко сделать, так что будем дальше хейтить кокотлин.
220 1875098
>>1875085
ты хоть на скрины бы посмотрел, дурной. тут видно что джава-код работает без проблем. а при абсолютно таком же кейсе котлин заглатывает + не компилируется.
221 1875122
>>1875098
Там дженерики нахер не вперлись, у метода сигнатура

execute(Method method)

дженерики в возвращаемом значении, которое тут не используется.
222 1875125
>>1875122
а если я захочу его использовать? мне на джаву кусок переписывать?) рофлишь?)
223 1875446
>>1874805
Загнется html DOM, загнется и js, утянет и typescript.
Будет, конечно, попытка с продвинуть с .Net, но будет как всегда поздно.

Конечно, работа то еще будет по старому html и прочему, но кому это надо, когда у тебя интерактивный сайт или почти полноценная сетевая игрушка в браузере.
224 1875449
>>1875073
С++ по инерции долетает последние десятилетие. Скоро станет ясно, что раст или ему подобные языки делают разработку большого ПО надежнее, а значит дешевле.
225 1875551
>>1875449
Нет, не станет :) Просто вы, бесплатные долбоёбы, как всегда сделаете за серьёзных дядек всю грязную работу по написанию библиотек, чтобы они потом пришли на всё готовое. А потом эти дядьки вместо вас, капризных, наймут за объедки с айтишного стола вьетнамских макакенов, которые наводнят ваши репозитории таким отборным говном, что у вас попчанские сожмут водород в гелий и вы из своих растов разбежитесь в слезах.
226 1876027
>>1875125
Бери да используй. У тебя bounded type parameter который не зависит от аргументов. А в твоем коде косяк именно с аргументами.

Ты сконвертил автоматом код из явы в котлин, там что-то не так сконвертилось и ты побежал радостно пищать, какой отстой котилн.
227 1876059
>>1876027
вместо пердежа лучше предложи решение. я с этой проблемой еблась 2 дня если что перед тем как на джаву переписать и забить на этот котлин)
228 1876063
>>1876059

>я с этой проблемой еблась 2 дня



давай фото грудей публикуй и марш на кухню!
дженерики-хуерики, понимаешь...
229 1876066
>>1876063
фак затроллили....
230 1876090
>>1876059
Поебись со мной, тогда предложу.

пусть твой YobaAction интерфейс возвращает просто Method
рей за компутером.jpg73 Кб, 640x640
231 1876874
>>1876090

>пусть твой YobaAction интерфейс возвращает просто Method


так Method это дженерик typevariable
небольшой сниппет выпиши пожалуйста, прошу
232 1877332
Сап Котланы,

Фронтендир не человек пытается вкатиться в серверную разработку почти с нуля. Изначально выбор пал на ноду, но чем больше с ней работаю, тем меньше нравится. Одно дело какие-то фронтендо-тулзы, другое кодать сервера на ней. Короч сейчас думаю попробовать запилить небольшой проект в учебных целях. Веб сокеты, полсотни юзеров, база данных и круд уровня списка товарных позиций. В моём случае проблема ещё в том, что хотелось бы чтобы это всё крутилось на недорогом VPS в докере. Собственно вопрос хватит ли Котлину 2Gb оперативки под обозначенную выше задачу или JVM не об этом?

Или лучше не тратить время и оставаться нододебилом?

Собираюсь задать тот же вопрос в Го-треде
233 1877339
234 1877342
>>1877339
Я хочу типы и нормальный редактор кода пользуюсь богоподобным webstorm, idea должна зайти
235 1877422
>>1876874
Ну ты выложи хоть какой нибудь пример который можно в IDE вставить, подкоючить библиотеки и проверить. А ты выложила скриншот и ебитесь.
236 1877423
>>1877332

>Собственно вопрос хватит ли Котлину 2Gb оперативки под обозначенную выше задачу или JVM не об этом?


На какой нибудь условный петшоп - хватит.
237 1877439
>>1877422
так пейстбин же ну...
https://github.com/VayKekaz/telegram-bot-test
скретчи не включила, они уже на пастбине лежат
238 1878629
>>1875048
https://discuss.kotlinlang.org/t/type-mismatch-capturedtype-expected/20205
апдейт. проблема решена костылем. к котлину после этого я конечно же больше не вернусь.
алсо зацените две пикчи. смешной язык коклин.
239 1878726
>>1878629
Мне было лень читать, но как я понял, проблема была в том, что ты перепутал нуллабл тип с не нуллабл? Причем тут котлин, когда главная ошибка это ты?
240 1878727
>>1878726
Но я согласен что котлин просто не нужен.
241 1879579
>>1878726
так если тебе лень читать зачем ты мне хуйню какую-то пишешь? лишь бы попиздеть не вникая в вопрос......
242 1879628
>>1879579
Так мне было лень читать, унижать тебя, мне не лень.
243 1879684
>>1879628
так ты сам себя унизил, бездарный
244 1879784
>>1879684
Не, такого я не чувствую к себе, а вот к тебе да.
245 1880110
Почему пишут что Kotlin всё?
246 1880112
>>1880110
Пишут те, кто надеется на вечную актуальность кобола.
247 1880883
>>1880110
Потому что жаба все.
248 1880934
>>1880112
>>1880883
Понятно, то есть всё тоже что и в других тредах

в плюсо треде плюсы калл, в расто треде раст калл, в жаба треде жава калл, вы спецом вкатывальщиков дизмаралите?
249 1880952
>>1880934
Любой язык - калл, ибо невозможно сделать такой, который будет нравиться всем.
Но местных вкатывальщиков нужно дизморалить целенаправленно, потому что они не понимают назначение котлина и за каким-то хуем вкатываются в него первым языком.
image.png163 Кб, 480x360
250 1880959
>>1880952

>Но местных вкатывальщиков нужно дизморалить


Для меня это не первый язык...

но вобще, как первый язык этот получше тех же плюсов
251 1880965
>>1880959
Раз не первый, значит, уже понимаешь, что к чему, и есть иммунитет к толстоте "котлин говно".
252 1881930
>>1880965

>котлин говно


Сейчас бы прокси язык считать востребованным.
253 1881933
>>1881930
Невостребованный ещё не значит, что говно. Значит.
254 1882386
>>1881933
Ну вот ts, как бы на пару моментов лучше js, но в реале в js многое пофиксили и типизации через доку хватает. То есть вроде и лучше и вроде и нахер не нужен.
Прокси языки обречены.
255 1884545
>>1881930
Elixir вытеснил Erland, Swift - Objective-C.

Вот доведут Kotlin native до ума, может Андроид постепенно откажется от совместимости с Java и будет полностью нативным.
256 1884655
>>1884545

>Elixir вытеснил Erland


Где-то, когда-то, ненужное говно вытеснило ненужное говно.
Ну офигеть истории успеха.

>Swift - Objective-C


Лол, там на чем скажут, на том и будешь писать.
257 1884657
>>1884545
Если котлин вытеснит джаву, джава за собой утащит все jvm языки.

>Вот доведут Kotlin native до ума


Осталось немного потерпеть. Подумаешь, прокси язык делали 5 лет, через 15 и на нейтиве попишем!

>может Андроид постепенно откажется от совместимости с Java


А может когда-нибудь Юпитер поменяется местами с Сатурном.

>будет полностью нативным


Тут раст не могут натянуть на плюсовиков, а вы еще криво-фиксо-синтаксическую джаву им хотите дать. Ага. Успехов.
258 1884660
Fuchsia
259 1884678
>>1884660
Рыночная доля андроида... легион готовых специалистов на текущей платформы... тоны кода и приложений... тьма хардварных и софтверных компаний заточенную под андроид.
-А, давайте, все помножим на ноль и поставим фуксию?

Нет, бро, так это не работает. Fuchsia - реально тестовый полигон. Иначе ваш андроид еще и форкнут. поэтому туда всякую экзотику и тянут типа дарта и раста
260 1885463
>>1884545

>Elixir вытеснил Erland


Да нихуя он не вытеснил, просто новые проекты пишут на элексире охотнее.

>Swift - Objective-C


Та же ^ ситуация, но если проект писался 3-5 лет назад, есть жёсткие требования по размеру приложения (или это SDK, у которого они есть по умолчанию) или необходимость бриджить плюсовый код — то и новые проекты даже в 2к20 пишут на obj-c, лол.
261 1885625
>>1884655

>Где-то, когда-то, ненужное говно вытеснило ненужное говно.


>Я не слышал - значит ненужное говно.



>>1884655

>Лол, там на чем скажут, на том и будешь писать.


Сейм шит с Андроидом, скажут что ART деприкейтед и через 5 версий дропнем - будешь писать на чем скажут.

>>1884657

>Осталось немного потерпеть. Подумаешь, прокси язык делали 5 лет, через 15 и на нейтиве попишем!


Ты юзаешь какой-то сайт или приложуху, но ты же не знаешь что там за код. Котлин JVM уже достаточно широко распространен в бекенде, что бы ты каждый день юзал что-то написанное на котлине.

>Тут раст не могут натянуть на плюсовиков, а вы еще криво-фиксо-синтаксическую джаву им хотите дать. Ага. Успехов.


Наверное потому что они и не ставили перед Растом цели занять нишу С++ за 3 года.

>>1885463

>Да нихуя он не вытеснил, просто новые проекты пишут на элексире охотнее.


Ну так это и означает что вытеснил, понятно что легаси говно мигрировать на Эликсир никто не будет.
262 1885824
>>1885625
Тот момент когда вроде пытался ответить, но поговорил сам собой.

1) В мире непопулярного экзотического говна, может происходит все что угодно. Нормальный же пример популярного прокси языка, который смог потеснить, но не вытеснить это С и С++.
И то, это было в эпоху бедности самих нормальных языков и доступных инструментов.

2) То что у эпла там свой мир разработки, это факт. Ты просто привел неуместную аналогию, вместо контр аргумента.

>Ты юзаешь какой-то сайт или приложуху, но ты же не знаешь что там за код


Как это вообще пересекается с темой котлин нейтива? Какая-то шиза.

>Котлин JVM уже достаточно широко распространен в бекенде


Я видел данные что распространен в бэкенде php и asp. Джава же томиться в тырпрайзе, на уровне кобола со своим представлением бэкенда и со своими правилами большого бизнеса.

>Наверное потому что они и не ставили перед Растом цели занять нишу С++


Ну еще нам расскажи чего нового.
Ты серьезно веришь что котлин нейтив сможет встать в противовес расту?
Попытка котлина полезь в нейтив, вместо того чтобы делать свой бэкенд инструментарий, чтобы не тянуть легаси либы джавы. Это провал. Теперь котлин и не в бэкенде и не на нейтиве. А поезд хайпа уже ушел.
Да и вообше кому нужен фиксо-синтаксис джавы людям из нейтива и не нужен. только если в противовес свифта поставить
263 1888396
>>1884660
Операционные системы очень долго пишутся.
image.png130 Кб, 378x836
264 1896820
Сап анонасы. Помогите умоляю, есть у кого приложение с контактами на котлине как на пикриле? Очень нужно пиздеццццц аноны спосите
265 1897239
>>1896820
У Евгения Федотова спрашивал?
266 1898409
>>1828236

>Как говорят мои товарищи, языки не имеющие полноценную кросплатформенность, языками программирования называть нельзя.


Для бэкенда Swift вполне кроссплатформенный. Примерно на уровне Go.

>>1827734

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


Нормальная там статика в strict режиме. Получше чем в Java с её null'ами. Да, из-за того что TypeScript по-дефолту компилируется в JS почти без оверхеда (в runtime только enum'ы остаются) у него нет нормального RTTI, но во-первых его можно добавить, во-вторых RTTI у многих языков со статической типизацией нет по-умолчанию, начиная с того же Haskell.
267 1899055
>>1898409

>Для бэкенда Swift вполне кроссплатформенный


На бумаге есть для маркетинга, а на деле такие костыли, что ну его нафиг.
268 1899071
>>1898409

>Нормальная там статика в strict режиме


Это статика бесполезна, так как сам js это не какой-то байт-код. И вообще не надо путать байткод и промежуточный язык.

>почти без оверхеда


Обычно на этих "почти" все просадки и получаются.

>Получше чем в Java


Компетентность просто зашкаливает хотя не удивительно, js девелопер
269 1899216
>>1828236
Дефайн "полноценность" кроссплатформы.
Вот жава/пхп/питон — кроссплатформа же? Но на iOS приложения на них не попишешь (а если и попишешь — то будет что-то уровня свифта под виндой). Это делает их полноценнее/неполноценнее?

У того же котлин/нейтива просто пиздец с многопоточностью (и костылями с моделью памяти иж жавы, вроде крашащихся констант в рантайме) примерно везде, костыли тоже требуются адские. Он "полноценно" кросплатформенный, или "с пиздец какими костылями", как свифт?
270 1899256
>>1817311 (OP)
Всех с наступившим!
Котлинисты, помогайте
Неофит, вкатился недавно, пытаюсь разобраться
Подскажите по arraylist-у
Дабы не захламлять кодом
https://pastebin.com/iTa1kq7A
Хотя бы направление, был бы очень признателен
271 1899286
>>1899256
МБ написал скомканно, да и не поменял всё, подправлю:
Интересно, почему на этапе
private var mObjectListStart: ArrayList<Object>? = null

for (Objec in mObjectListStart!!) {
if (Objec!!.part ==2) { //тут пишет, что все норм, и 2 == 2
mObjectListEnd?.add(Objec) <<<<<<<<<<<<<<<
}
интересно, почему на последнем этапе этот самый add не происходит, и mObjectListEnd все так же null
272 1899353
>>1899286

Выражение mObjectListEnd?.add(Objec) означает следующее:

- взять объект mObjectListEnd
- если он не null, вызывать его метод add, передав ему Objec

Поскольку у тебя изначально в переменную mObjectListEnd присваивается null, и никога после не присваивается ничего другого, то ее значение так и остается null, и следовательно метод add никогда не выполнятся.

Присвой переменной не null значение вначале:

private val mObjectList: ArrayList<Object> = ArrayList<Object>()

Поскольку оно объявлено как не-нуллабл ArrayList, то и ?. теперь не нужно использовать для вызова его методов.
273 1903257
>>1899071

>Обычно на этих "почти" все просадки и получаются.


Ты ведь не знаешь как и во что компилируется TypeScript? Компиляторы TS генерируют объекты для enum, больше они не генерируют ничего.

>Нормальная там статика в strict режиме


>Это статика бесполезна, так как сам js это не какой-то байт-код.


Статика нужна для контроля ошибок на этапе компиляции. Если ты думаешь что итоговый JS код будет медленнее работать из-за того, что какой-нибудь V8 не будет иметь гарантии того, что тип не может поменяться в рантайме, то можешь успокоится. Все современные движки считают по умолчанию, что тип переменной не меняется. И только при изменениях в типе делают песcимизацию отдельной функции.

>Компетентность просто зашкаливает хотя не удивительно, js девелопер


У тебя сервер с NPE упал, подними. За три года на джаве я насмотрелся на её типизацию.
274 1903289
Ананасы, есть те, кто перекатился с RxJava на Kotlin Flow? О какие подводные пики дроченые поцарапали свои хуи точеные?
275 1904057
Сап. Очень понравился Котлин как язык. Сам я андроид-разработчик, но хочется сделать какой-нибудь проект для себя с возможностью роста за пределами мобилок. Думал о крипте, но вряд ли осилю. Есть какие-нибудь идеи?
276 1904186
>>1904057
Как можно стать тобой?
Хочу что-то простое осилить в Андроиде.
Учил длительное время с перерывами питон, все ок, но перспектива роста туманна. Начал с++, но почитал про Котлин и загорелся. Какой шанс, что я обосрусь и скипну на начальном этапе Котлин не зная джавы?
277 1904217
>>1817311 (OP)
где бы скачать курс? по котлину в андроид
278 1904221
>>1904186
Знание джавы вообще необязательно, синтаксис начнешь понимать сам постепенно (возможно вообще сразу как в котлине освоишься), а писать тебе на ней и не придётся.

Преграда тут только в мотивации. Если ты часто что-то с горячей головой начинаешь и быстро заканчиваешь (сам раньше такой был), то книжки тебе пока противопоказаны. Переходи как можно быстрее к практике. Смотри базовые видосы на ютубе и сразу делай что-то свое, коряво, из говна и палок, но делай чтобы хотя бы запускалось — ты должен видеть результат. Что не получается — сразу в гугл. И да, юзай только новые источники, минимум с конца 2018 года, не спрашивай почему.
Screenshot2021-01-08-01-16-09-770com.opera.touch.jpg457 Кб, 1080x1920
279 1904236
>>1904221
Эта фича понравилась, в питоне выход через несколько циклов только через флаг вроде.
В общем, читаю Котлин для питонистов из шапки, пока всё нравится. Синтаксис прям очень походит на с++.
280 1905214
>>1903257

>Статика нужна для контроля ошибок на этапе компиляции.


Дрессированные ИТ-макаки, все у них ошибки с типами кругом мерещаться. Хватить уже распространять эту догму. Js это вообще пляска вокруг json данных (бесконечных хэш-мап/ассоциативных массивов). Это тебе не жаба где важно не перепутать одну фабрику с другой.
281 1906229
>>1905214
Часто пишете код в который работает с любой мапой? Код, которому нужны конкретные кючи в мапе уже имеет неявные типы, которые ты должен трекать сам, без помощи компилятора. Я за последний год работы с кложурой нажрался динамической типизации, спасибо.
282 1906237
>>1904236

>Эта фича


Эта фича из Явы скорее всего, они её придумали, чтобы уйти от гоуту, который в C/C++ часто использовался как раз для этой цели.

В принципе жаль, что во многие другие языки эту возможность не подогнали.
283 1906906
>>1906229
Потому что не надо ассоциативные массивы юзать как структуры (объекты). У тебя дерево данных и ты тупо просто берешь/кладешь туда данные, без необходимости куда-то что-то прокидывать (сами же деревья описываются при описание json'ов).
284 1911543
>>1906906
Можно как-то перефразировать, а то я нихуя не понял на что ты отвечаешь?
285 1911818
>>1911543
думаю он имел ввиду, что вместо того чтобы использовать мапы нужно использовать классы.
286 1912597
>>1911543
Не нужно ассоциативные массивы (мапы, словари), использовать как объекты (классы).
Динамическим языка вообще ООП не нужен (так как типизации переменных нет вообще).

Например, в пхп есть интерфейсы, причем появились еще до тайп-хайтинга. Зачем? А хз, модно, молодежно.

И тут вот когда статико-макака приходит в мир динамичного программирования, он начинает писать как умеет в статике и естественно начинает страдать, потому что (ВНИМАНИЕ) динамичная типизация это не статичная.
287 1913051
>>1912597

>Не нужно ассоциативные массивы (мапы, словари), использовать как объекты (классы).


Что ты предлагаешь использовать когда тебе нужна коллекция именованых значений? В питоне для этого есть классы, в кложуре их нет, и там идиоматично использовать мапы в которых ключи - keywords ({:x 1 :y 2}).

>он начинает писать как умеет в статике


Да идиоматичную кложуру писал, при чем здесь статика?
>>1911818
Вроде нет, хотя все еще сложно понять что он сказать хочет.
288 1913788
>>1913051
Кто тебе сказал что надо отказаться от мап? Тебе сказали, выкинуть ООП мышление и использовать мапы как дерево данных. Забавно, в java сейчас есть правила делать состояния без поведения, а поведение без состояний. Получается такое процедурное (или как модно - функциональное) программирование.

У меня в 2006 году на пхп был подобный проект. В динамических языках туго с параллельностью и они могут себе позволить такие глобальные состояния.
У этого подхода свои плюсы и минусы, но именно так изначально задумывались динамические языки.
Конечно, сейчас набегут дрессированные макаки, которые скажут что глобальные состояние это плохо (но не один не объяснит почему), но на самом деле ты так или иначе используешь их в своих программах. Даже питонщик или гофер может подключать модуль с состоянием, или жабер использовать синглетоны, или же сервис с состоянием, или же инжект объекты из DI (IoC), что тоже завуалированное глобальное состояние.

>Хотя все еще сложно понять что он сказать хочет.


Конечно сложно понять, вы же новое поколение узко-мыслящих ваннаби-программистов.
Вы же ~2010 году снова открыли no-sql базы данных и протанцевав на граблях повторили путь программистов из восьмидесятых. Ваша эволюция идет по кругу, не удивлюсь, если кто-то запустить тему из динамических языков нулевых и скажет как это круто. А потом следующие поколение придет и навяжет ООП.
289 1915943
>>1913788

>Кто тебе сказал что надо отказаться от мап


>Не нужно ассоциативные массивы (мапы, словари), использовать как объекты (классы).


Да хуй с этим классами, что мне использовать для колелкции именованых значений? По ключам в мапе значения брать?

>инжект объекты из DI (IoC), что тоже завуалированное глобальное состояние


Ты что там, пьяный блять?

>no-sql базы данных из восьмидесятых


Расскажи, интересно же.
290 1916256
>>1915943

>коллекции именованных значений


Что ты за этим термином выдумал?? Коллекция, то есть набор, это же и есть мапа? Не именованная коллекция это список, именованная словарь/мапа. Вот как у тебя голове?
291 1916291
>>1915943

>что мне использовать для колелкции именованых значений? По ключам в мапе значения брать?


либо классы-репрезентации этих структур данных, либо мапы, да.

>>инжект объекты из DI (IoC), что тоже завуалированное глобальное состояние


>Ты что там, пьяный блять?


обалденный ответ на абсолютно правильное утвеждение, di по своей сути является использованием глобальных переменных, то есть глобального состояния
292 1919878
>>1916291

> di по своей сути является использованием глобальных переменных, то есть глобального состояния


я другой анон. но ты точно пьяный
293 1919932
>>1916291

>обалденный ответ на абсолютно правильное утвеждение, di по своей сути является использованием глобальных переменных, то есть глобального состояния


Я тоже другой анон, но мне кажется ты или ебанат, или работаешь на проекте с ебанатами, которые занимаются каргокультным макакингом, не понимая сути.
Как DI вообще связан со стейтом? D::D:DW;DDD
294 1920009
Сап, двач, поясните про котлин.

Достоин ли он быть better java в любой сфере, там например крудичи или энтерпрузич пилить на нём реально, или ебень? Или котля онли для мобилок?
295 1920113
>>1920009
Реально конечно. Только вот энтерпрайз — самое закостенелое говно, где ничего нового никому ни под каким предлогом не нужно, на что юзание кобола вэтой сфере 2к21 как бы намекает.
296 1920115
>>1920009
Короче, энтерпрайз почти полностью — это древняя версия жавы и лучшего там никому не надо, так что именно в энтерпрайзе ни котлин, ни любой другой язык не полетит.
297 1920169
>>1916291

>либо мапы


Ну так вот, у этого подхода (дефолтного в кложе), по сравнению с обычными структурами есть две проблемы
1) Тип выражения map["key"] не известен (ну да ладно, у нас же все равно динамическая типизация).
2) Мы не знаем, какие ключи есть в мапе. Это превращает в пиздец многие рефакторинги, которые были бы тривиальными со структурам, а также затрудняет понимание кода - по сути многие функции имеют сигнатуру map[keyword, object] -> map[keyword, object] и что там в действительности передается можно понять только заглянув в их код.
Это не выдумки, год это говно жрал (и иногда до сих пор прихлебываю). Хотя в теории это все элегантно и просто, на практике это работает только если ты можешь держать почти весь код проекты в голове, то есть если он не большой (не больше нескольких тысяч строк), ты работаешь почти исключительно с ним, и рядом с тобой рабоатет еще максимум одни человек, а желатедьно вообще никого. По сути, кложа очень хороший язык для каких-то пет проектов или утилит для личного пользования вроде https://github.com/jepsen-io/jepsen.
298 1925010
>>1920169

>Мы не знаем, какие ключи есть в мапе


Что мешает юзать спеки в функциях которые этот map принимают?
Причём, мне нравится идея, что нам не нужно всю картинку, каждая функция должна описывать что конкретно ей из этого map нужно.

Вообще реально хорошая речь
https://www.youtube.com/watch?v=YR5WdGrpoug
299 1925483
есть профессионалы реакта на котлине?
300 1925700
>>1925010
Ничего не мешает, много где и юзаем. Проблема в том что это эрзац системы типов - боилерплейта становится много, вывода типов нет, компилятор типы не проверяет, экосистема в целом типы не поддерживает - они именно для твоего кода и еще наверное забыл что-то. Единственное преимущество - можно проверять произвольные условия, но это отчасти решается в типизированных языках введением новых типов, которые поддерживают свои инварианты.

>Вообще реально хорошая речь


Хорошая. У него вообще много хороших речей и мыслей, но это не делает кложу оптимальным выбором для промышленной разработки. Может в команду звезд вроде него самого и зайдет, но это слишком высокая планка.
301 1925705
Вы специально раз в неделю друг другу отвечаете, потому что думаете, что если обсудите всё сразу, то больше никто ничего не будет здесь постить, и тред утонет?
302 1926586
https://arrow-kt.io/docs/patterns/error_handling/
Че за шизик это придумал?
303 1926594
>>1926586

> Exceptions can be seen as GOTO statement


Сейчас у некоторых модно ругать эксепшены, вон в хипстерских язычках их уже вообще не реализуют. Попытка решить несуществующие проблемы, в результате всякие if err != nil вызывают ещё больше ненависти, чем checked exceptions. Даже заново изобретают стектрейсы через либы и кодогенерацию. Дивный мир.
304 1926622
>>1926594
Канонiчный пример от растошизиков (атмосфера лгбт-пидорасни прилагается): https://www.youtube.com/watch?v=rAF8mLI0naQ
305 1926745
>>1926586
Как обрабатывать иксэпшоны в котлине? Как не пропустить иксэпшон, ведь котлин отказался от разделения иксэпшонов как в джейве.
306 1926833
>>1926622
Это трап?
Я бы поняшил под хвост, лол. В жс вкатываться чтобы найти трапа не особо хочется, а вот раст мне уже начинает нравиться.
307 1927021
>>1926745
Так же как и в джаве? Там тоже можно анчекеды ловить, если хочется.
308 1927244
>>1927021
Только в котлине они все анчекд и компилятор тебя по рукам не бьет если ты забыл обработать иксэпшн...
309 1927246
>>1927244
Ну придумают какую-то магическую аннотацию @JvmChecked, хули, не впервой же. Ведь в джаве плохо сделали, надо все переделать.

Но моя изначальная претензия была не к этому. А к реально шизофренической хуйне в примере по ссылке.
310 1927252
>>1926745
>>1927244

> checked exceptions


Наверное, тяжело там в 2003, классы Dictionary, Hashtable и Vector кидают анчекед. Как справляетесь с таким?
311 1928525
>>1925705
Сюда редко заходят, потому что ничего нормального и не обсуждают. Скорее от скуки пытается кто-то что-то ответить.
Бэкенд на жабе, то еще жрущие ресурсы говнище, на котором еще и писать нудно долго. Адекватному анону такая шляпа вообще не нужна. Поэтому акромя телефон, котлин не интересен никому.
Если сама джава еще не плоха, то её бэкенд окружениепросто ужасно. Глупо поверх этого гуана писать прокси языки.
312 1928526
>>1928525
Получается, и правда ВСЁ.
313 1928577
>>1928526
Э хватит, зачем я это учу тогда последние 2 месяца?
Кстати, на том же stackoverflow по котлину всего 55к вопросов, для сравнения, у java около 1.7кк.
В целом, мне язык нравится после питона, хоть ООП понял частично.
314 1928789
>>1928577
Для себя можно учить что угодно.
Если сравнивать питон и котлин, то котлин куда приятнее и удобнее (питон тот еще кусок перехайпленного говнища с одним системным потоком).

Если тебе для поиска работы на бэкенде, ну ты хоть спрос посмотри. Язык все еще "новый".

Если ты сам себе сайто-писарь. То я бы тоже котлин взял, нежели всякие го и шарпы.

Мне нравится котлин и джава как языки, хоть и джава устарела. Но мне крайне не нравится их окружения и некоторые де-факто стандарты в либах.
315 1928797
>>1928789

>Если тебе для поиска работы на бэкенде, ну ты хоть спрос посмотри. Язык все еще "новый".


Все последние вакансии которые мне присылали были Java/Kotlin. Да на чистом Kotlin не выедешь, но знание Kotlin это плюс, многие на него потихоньку мигрируют.
316 1928838
>>1928797
За долгие годы работы в компании я стал приверженцем того, что не нужно тянуть в рабочий стек все подряд, если это не даст ощутимый выхлоп. Котлин, кроме маркетинговых вскриков ничего не дает, вообще. Код, становится более путанный с кишками наружу из-за бесконечных лябд. Если раньше ты мог скипнуть метод по его названию и понять, примерно что он делает, то лесенку лямбд тебе придется прочитать всю, а это нереальный нагрузка читать все эти кишки алгоритмов.

Так что классическая джава даже лучше в сопровождение, несмотря на то что 60-70 кода это абстракции над абстракциями (что нормально для тырпрайза).

>Все последние вакансии


Слишком медленно это происходит и прошло уже много времени. Лично я вижу, что никакого чуда уже не будет, котлин займет какой-то минимум как скала или груви. может я и ошибаюсь, но все равно, нужно признать что все не так радужно. Когда они должны были бороться за бэкенд, они упоролись в нейтив, в js. Надо уже признать, что современный ЯП должен быть с богатой стандартной либой, а не страдать попыткой захватить все рынки
317 1928876
>>1928838

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


Как будто в Яве так нельзя если ты конечно не в сбертехе на 7-ке сидишь. Те же самые проблемы, недавно на код ревью принесли код где в Optional.ifPresentOrElse​() на каждую лямбду был нормальный такой метод из 10 строк. И Ява никак этому не препятсвует, это вопрос качества кода, но он есть в любом языке.
318 1928902
>>1928876
Возможно, но у нас джависты старой школы и лямбды еще не прошли, а вот на котлине лямбды это веселом и молодежно, ставишь фигурные скобки и у тебя целая елочка если без иронии, то котлин это и есть лямбды, даже якобы целый DSL у них получился. Сейчас какую либу не откроешь, то везде лестница эта. В джаве если встречал лямбды, то это прям реально короткие однострочники (может мне везло)
319 1929427
>>1926586
Чувак, это монады! Антон выше уже примерно дал пример что это. Но в целом их нужно использовать, только когда собираешься эти ошибки показывать пользователю, примеру ресурса нету - 404. Но их не стоит использовать, как замену эксепшенов. Эксепшоны круто, особенно когда зафэйлится нужно быстро, а то монады они так и чейняться дальше, или выдавать системные ошибки. Тут вообще подробно описано:
https://fsharpforfunandprofit.com/posts/against-railway-oriented-programming/
Кстати, вероятно именно этот чувак популяризовал "шизу" с эксепшон монадами, но это не точно. На самом деле писать, если писать это, все становится понятней
320 1929560
>>1926586
Почему шиза-то? Обычная обработка ошибок в типизированных функциональных языках. arrow-kt вроде же как и делают для ФП на котлине.
321 1929695
>>1928789

>Мне нравится котлин и джава как языки


Ебать ты говноед.
322 1929698
>>1929695
Что ты тут забыл, сярпист?
323 1929757
Котлин уже дошел до того, чтобы вакансии без него были?
Ну и тулинг, фреймворки?

Смотрю с дотнет-лагеря на ваш язык, внешне симпатичный, но необходимось в джаве отталкивает. Просто так учить скучно, лучше уж Раст или Хаскель попробовать, если как для хобби
324 1929763
>>1929757

>Котлин уже дошел до того, чтобы вакансии без него были?


Вакансия на котлин без котлина?
Или я не понял
325 1929766
>>1929763
Оговорился, вакансии на чистый Котлин, без Джавы
326 1929787
>>1929766
Это как пюрешка с котлетками, но без котлеток.
327 1929806
>>1929787
Скорее без пюрешки.
328 1929875
>>1929806
И без котлеток.
329 1929887
>>1929875
и без тарелки
330 1929914
>>1929887
>>1929875
>>1929806
>>1929787
Звучит вкусно, надо учить
331 1939365
Количество петухов в треде зашкаливает! Хули вы умничаете, выёбываетась? То гавно, это сдохло. Кому нахуй ваше мнение интересно?
332 1939460
>>1939365
Мне интересно
333 1947084
Научились там нормальные конструкторы делать, или все обтекаете вокруг 100500 вариантов?
334 1947247
>>1947084

>нормальные конструкторы


Ты бы объяснил какой сорт говна, ты любишь.
335 1947306
>>1947247
Как это поможет с разнообразием конструкторов в котлине?
336 1947341
>>1947306
Ты не можешь внятно объяснить, что тебе надо. И хочешь, чтобы тебе с

>разнообразием конструкторов


и

>нормальные конструкторы делать


помогли. Иди ты нахуй с такими вопросами.
sage 337 1947679
О, я и как раз вспоминал сегодня про вашу парашу, давненько тут не постил никто.
338 1950272
Что там годного у котлина случилось за последнее время?
339 1950285
>>1950272
Ничего, язык больше не развивается.
340 1950570
>>1950272
inline классы подвезли превью, очень полезно для микротипов.
341 1950588
>>1950272
Ничего и не случится. Мобилки остались за реактом найтив, а серверный рендеринг ушел в прошлое.
342 1950602
>>1950588
Это база
343 1950719
>>1950588
При чём тут рендеринг, шиз? Рестапи тоже на реакт нативе будешь делать?
344 1950855
>>1950719
Очевидно на жопаскрипте
345 1950929
Жаль, так я и не дождусь востребованного и хорошего бэкенд языка с нормальной типизацией не скажу что котлин прям хороший, но хоть не говно мамонта
346 1950961
>>1950929
Есть современный шарп с .net core, хоть и вышел поздновато. Даже ОП свалил в шарп.
347 1951036
>>1950961
Слышал от своего упоротого линуксоида друга, что мс обратно объединили кор и общую ветку net framework, типа это прорыв и новая веха. Но на деле, он говорит, кросс платформы то нет и выглядит это так, что core просто закатали под шумок в net framework.
Не разбирался в этом, так как в реале всем насрать на этот net, в жизни видел его в мелких говноконторках где им конвертировали эксель таблицыв эксепшены и маня фантазии писать свои игры на чем играют инфоцыгани.
image.png13 Кб, 661x181
348 1951040
>>1951036
И да, видел жесть, как они xml/html теги ставят вокруг code doc комментариев. Более тырпрайзно надо еще придумать.
349 1951042
>>1951040
Мало xml, надо еще сделать вложение, я считаю

<dotnet>
....<system>
........<core>
........<mainSummary>
............<groupSummary_1>
.................<summary>
This is the method!
.................</summary>
............</groupSummary_1>
........</core>
....</system>
</dotnet>
350 1951061
>>1951036

> core просто закатали под шумок в net framework.


Лол, в огороде бузина, в Киеве дядька

> всем насрать


Вылези из своего деребаса
351 1951082
>>1951042
Причём с пачкой неймспейсов, которые никто не сможет запомнить и все будут копипастить.
352 1953108
>>1829259
Бамп неудобному вопросу.
353 1953598
>>1953108
Я другой анон, но скажу, что авторы не отрицали что они делают якобы хороший язык чтобы пиарить компанию.
И если убрать призму маркетинга, то видно что в язык просто натаскали вдохновились из других языков всякого модного говна, которое не очень иногда сочетается друг с другом ибо похрен.
354 1967288
Стух тред?
355 1967308
>>1953598

>авторы не отрицали что они делают якобы хороший язык чтобы пиарить компанию


Не совсем компанию, а продукты которые она производит, т.е. IntelliJ IDEA и прочие ПХПШтормы. Котлин это язык-скам, лол.
356 1967313

> язык-скам


Прямо как дотнет последний)))
357 1967353
>>1967313
А что с ним?
358 1967554
>>1967353
Опенсорс
359 1967726
>>1967288
Мёртвый тред, мёртвого языка.
image.png44 Кб, 1096x526
360 1968149
>>1967308
Помогло?
361 1968150
>>1967726

>мёртвого


Как и net core.
362 1968243
>>1968150
Именно поэтому ОП котлин-треда в дотнет и перекатился
1.png228 Кб, 1250x1250
363 1968273
>>1968243
Я перекатился туда из-за перспектив и зп и даже вдохновился, как это бывает, но в итоге меня по факту обманули, так что уже слинял, причем без нахождения новой галлеры.

Не могу в целом судить язык по говноконторе, но шарп мне показался тем же динозавром что и java.
Надеюсь когда-нибудь наследование признают плохой практикой и забудем это говно ООП нет, конечно.

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

Пока есть деньги, думаю вообще слинять из кодинга, хз куда, но это неблагодарная профессия.
364 1968277
>>1968243
Но net core физически уже все. Никакой метафоры.
365 1968287
>>1968273
Почему не хочешь фронтенд или ноду/го посмотреть?
366 1968303
>>1968273

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


А как же божественный dartswift?
367 1968375
>>1968287

>фронтенд


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

Нода выглядит больше как брак, зачем это брать добровольно в бэкенд и потом сопровождать? Ну поигрались и хватит.

Go, ну ты видел это? Столько бойлерплейта руками писать.

swift - популярен только в мак загоне, даже не смотрел на него.

dart - очередное непопулярное дно, вместе с го, котлином, растом и что там еще последнее время высрали. Зачем идти в непопулярные технологии?
368 1968458
>>1968273

>В действительности, сейчас нет не одного вменяемого и удобного языка, от которого можно получать удовольствие при разработке и сопровождении. И с учетом деградации индустрии программирования, такой язык мы увидим не скоро.


Детский сад.

>думаю вообще слинять из кодинга


А вот это здравая мысль.
369 1968643
>>1968458

>Детский сад.


Зачем отвечать пустым сообщением, не несущим никакой полезной информации, а лишь подчеркивая высокомерие на анонимном форуме?
Зачем самоутверждаться на анонимном форуме? пукнув и занюхав свои газы, выглядело бы куда интригующе
370 1968659
>>1968273

> Я перекатился туда из-за перспектив и зп и даже вдохновился, как это бывает, но в итоге меня по факту обманули, так что уже слинял, причем без нахождения новой галлеры.


Это как? Завтра собес, я даже не думал, что с ЗП могут опрокинуть. Съебу же

> Не могу в целом судить язык по говноконторе, но шарп мне показался тем же динозавром что и java.


Да, но новые фичи прикольные. Но свои минусы. Например, сделали шаблон служб, стандартный host проглатывает исключения и выкидывает их в main. Дебаг такого проекта – моё почтение. Резолв DI в таком шаблоне тоже с нюансами. Нахуя так делать? Вообще, ощущение, что многие вещи можно было сделать лучше
Это я так, набрасываю, потому что лучше холивара о языках в pr вряд ли что-то можно придумать

> Надеюсь когда-нибудь наследование признают плохой практикой и забудем это говно ООП нет, конечно.


Свои плюсы, свои минусы

> В действительности, сейчас нет не одного вменяемого и удобного языка, от которого можно получать удовольствие при разработке и сопровождении. И с учетом деградации индустрии программирования, такой язык мы увидим не скоро.


Скорее ты увидишь нейросеть, которая будет за тебя код писать. Языков куча, отличаются они мало в своих группах, выбирай, что ты хочешь, и дальше смотри, что больше зашло. Мне вот компайл-тайм проверки нравятся

> Пока есть деньги, думаю вообще слинять из кодинга, хз куда, но это неблагодарная профессия.


Мысль здравая, но я хз куда вообще слинять. Пока работаешь, забываешь, что большинство друзей вне айти либо работают за 25-45к, либо родители деньгами пробустили. Разве что трактор завести, чем я и занимаюсь потихой
371 1968660
>>1968659

> собес


А, не, не завтра. Послезавтра. Когда на выходных халтуришь, теряешь счёт времени
372 1968744
>>1968643
Бывают конкретные претензии к языку: много бойлерплейта, много сахара который скрывает реализацию и приводит к протекающим абстракциям. А у тебя совершенно детские претензии

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


на которые нечего ответить кроме того - что ты инфантил, а в конце еще топнул ножкой:

>думаю вообще слинять из кодинга

373 1969359
>>1968744

>удовольствие при разработке и сопровождении


Ваши аргументы не аргументы, вот мои лучше!

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

>что ты инфантил


Не имея возможности ответить по факту, ты спустился на планку ниже и сразу побежал определять личность, чтобы эта выдуманная для тебя личность помогла написать возвышающий ответ (опять самоутверждаемся на анонимном форуме). То есть, когда ты написал "Детский сад.", ты сам как ребенок недовольно брякнул, не имея полноценного взвешенного ответа, а когда я тебя этим подцепил, все что ты смог, это опуститься до личности.
374 1969361
>>1969359
Кстати про удобство написания, нередко приводят пример руби. Хз насколько это правда, а не высер фанбоев.
375 1969735
>>1969359
Нельзя дать полноценные взвешенный ответ, на высеры типа

>Удобства от написания языка и удобства сопровождения, это самое важное из возможностей языка и вообще краеугольный камень.


Удобство это на 90% дело привычки, ты привык к чему-то - тебе удобно, не привык - не удобно. Ты только сейчас, после того как тебя назвали инфантилом, ты смог что-то более менее конкретное назвать.

Лямбды - это инструмент который можно использовать не по назначению, как и любой инструмент. Тебе не нужно название метода для простой операции
.filter { it.rating > 0 }
а если ты начинаешь в лямбду пихать методы по 50 строк, то это твоя проблема, это ты пишешь плохой код, а не авторы языка. В любом языке можно написать нечитаемый код. Это трейдоф - чем больше возможностей тебе дает язык, тем больше способов использовать их неправильно. Чем меньше - тем больее многословный язык и менее выразительный, зато код читаться будет очень хорошо.

>все что ты смог, это опуститься до личности


Але чудик, это двач, не нравиться пиздуй на хабр.
Меня заебали ебланы, которые приходят сюда и ноют непонятно о чем. Одному конструкторы нормальные подай, другому удовольствие при разработке и сопровождении. Купите себе дилдаки и будет вам удовольствие.
376 1970123
>>1969735

>Удобство это на 90% дело привычки, ты привык к чему-то - тебе удобно, не привык - не удобно


Нет, не привычки.
377 1970349
>>1969735

>пишешь плохой код, а не авторы языка.


Классика, это программисты плохие, а язык хороший.
Нет, как раз лестницу лямбд я видел именно в котлине. В жабе я такого ни разу не встретил.
Да и вообще там много мелких моментов. Например импорт по звезде в других языках считается моветоном, так как на практике приносит некоторые трудности, но из-за непродуманности дизайна, в котлине это необходимость.

>после того как тебя назвали инфантилом


Как только ты спускаешься до личности и тем более к незнакомому тебе человеку, ты показываешь всю свою некомпетентность. Причем тебе уже два раза объяснили.

>Нельзя дать полноценные взвешенный ответ


Лол, так кто тебя вообще за язык тянул?

>Але чудик


Слив засчитан.
378 1970352
>>1969735

>Одному конструкторы нормальные подай, другому


Они еще там листы [] и мапы {k:v} красивые просрали. Теперь надо писать mutablelist и mutablemap. Как они вообще к этому пришли, лол.

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

Помню еще в первый день мне поднасрало отсутствие инициализации для родительского класса. Людям невдомек что для родительского класса нужно иногда сделать какие-то мелкие вычисления перед передачей в него параметров (пришлось прям в строчку загонять все это говно).

А, еще помню эту победу на статик полями. Сделали те же статик поля просто назвали по другому, по длиннее и неудобнее.
379 1970355
а, да, свои асинк авейты, без IDE теперь и не видно где вызов асинков. Прям какой-то IDE-lock
380 1970825
>>1970349

>Классика, это программисты плохие, а язык хороший.


Ты то точно.

>Нет, как раз лестницу лямбд я видел именно в котлине. В жабе я такого ни разу не встретил.


Я не встречал, значит такого не бывает - а потом обижается, когда его школотой называют.

>Как только ты спускаешься до личности и тем более к незнакомому тебе человеку, ты показываешь всю свою некомпетентность. Причем тебе уже два раза объяснили.


>Лол, так кто тебя вообще за язык тянул?


Тут можно мудака называть мудаком, это тебе не хабр или пикабу.

>Помню еще в первый день мне поднасрало отсутствие инициализации для родительского класса. Людям невдомек что для родительского класса нужно иногда сделать какие-то мелкие вычисления перед передачей в него параметров (пришлось прям в строчку загонять все это говно).


У тебя в голове полная каша и проблема с выражением мыслей.
В Яве а значит и в Котлине единственная инициализации для родительского класса это конструктор этого самого родительского класса. Если же тебе надо параметр переданный в конструктор как-то преобразовать для передачи в конструктор суперкласса, то можно просто объявить функцию.

>А, еще помню эту победу на статик полями. Сделали те же статик поля просто назвали по другому, по длиннее и неудобнее.


А что тебе религия не позволяет просто объявлять константы и переменные?
381 1970863
Тред прям-таки магнит для шизиков. А я ещё на гоферов грешил.
382 1970929
Котлин русский. А значит, ну вы поняли.
383 1971675
>>1970825
>>1970863
>>1970929
Чувак, иди самоутверждайся в другое место, хватит бамбпать этот тред.
384 1971679
>>1971675
Как наивно.
385 1971779
>>1968375

> популярное нихотююю


> непопулярное? тозе нихочююю

sage 386 1971786
>>1971779

>> чёрное нихотююю


>> белое? тозе нихочююю

387 1971802
>>1971786
Так в айти кроме чёрного и белого больше ничего нет
1616294332515.jpg76 Кб, 754x334
388 1972826
>>1817311 (OP)
Котлинач, я чот тупой, и не могу представить - вот у меня есть многоуровневый массив ключ-значение, и есть нефиксированная строка типа "massiv[penis][lol][kek][2]". Как мне распарсить строку и получить доступ к этому последнему элементу массива, а если его нет, то вернуть null? В js, пистоне или php это просто, пушто это языки с динамической типизацией, а вот в яве и котлине я не смог разобраться.
389 1973169
>>1972826
Обмазывайся рефлексией, регулярками, antlr-ами и подобным.
390 1973253
>>1972826
Какую-то херню написал. Попробуй выразиться яснее.
Что за хурня

>многоуровневый массив ключ-значение


?

Что у тебя за строка

>massiv[penis][lol][kek][2]


что тут за члены и лолкеки? Тебе нехватает твердого, большого члена в жопе?
391 1973490
>>1973253

> многоуровневый массив ключ-значение


Это значит, что у меня есть ассоциавтивный массив, где в качестве значений выступают также ассоциативные массивы. К примеру, я json распарсил, и у меня получилось такое.

> Что у тебя за строка


> >massiv[penis][lol][kek][2]


Ну типа представь, что в massiv находится результат парсинга вот такого джейсон
{
"penis": {
"code": 12,
"value": [1, 2],
"lol" {
"kek":[15, 16, 17],
"kok":22
}
}
}
Результатом получения massiv[penis][lol][kek][2] будет число 17
Если строка будет, например, massiv[penis][code], то будет 12
Если строка будет, например, massiv[code], то такого значения там не будет, поэтому мы спокойно можем вернуть null

> нехватает твердого, большого члена в жопе


да
392 1973673
Раз уж зашла речь про мапы, скажите, а в котлине можно сделать реверсивный обхват типа этого:
["key1"]maps["key2"]["key3"]
Если да, то с каким числом обхватов допустимо?
393 1973732
>>1973490
Не туда воюешь. Лучше подключи kotlinx.serialization или Jackson и сделай классов под свою жсонину, потом просто считай строку в нужный класс и всё заебись будет.
https://github.com/Kotlin/kotlinx.serialization#introduction-and-references
394 1973824
>>1973732
Да туда он воюет, его кейс просто максимально хуёво на статические языки ложится.

>>1973490
Переходи на обж-с, он тоже динамическая залупа, можно ебаться в жепу рефлексией и делать всё-всё в рантайме там можно написать [massive valueForKeyPath:@"penis.code.lol.kek"][2].

Вообще, можно попробовать вспомнить что такое рекурсия и написать генерик парсер для такой хуиты:
fun parse<K, V>(huita: Map<K, Any>, path: String) -> V? {
__return parse(huita, path.split("."))
}

fun parse<K, V>(huita: Map<K, Any>, path: [String]) -> V? {
__if path.count <= 1 {
____return huita[path[0]] as? V
__}
__return parse(huita, path[1...])
}

На котлине только хэдлвлоды писал, и код скорее всего прямо так не заведётся, но мысль должна быть понятна.
395 1974059
>>1817311 (OP)
Мимо крокожу, но у меня вопрос:
Что на второй картинке справа? Это запрос к базе данных или запрос к локальному списку? В C# просто есть похожая вещь, называется LINQ. Но у нас в Шарпе один и тот же синтаксис и для БД и для локальных списков работает за счёт магии Expression'ов
396 1974115
>>1974059

>Это запрос к базе данных или запрос к локальному списку?


К чему захочешь.

>>1974059

>В C# просто есть похожая вещь, называется LINQ.


>работает за счёт магии Expression'ов


Костыли стоящие сбоку от языка, придуманные до открытия крудошлёпами фп, ты хотел сказать?
397 1974193
>>1973490
И где это лежит? Map<String, Object> ?
Это конечно так просто не сделать. Тут 2 варианта
1. Kotlin script и еботня с ним.
2. Или распарсить строку регуляркой и выбрать все эти ["penis", "lol", "kek" , "2"] в массив, а затем map.get(), затем cast к Map и идем дальше.

В общем задача выглядит странно и есть подозрение, что ты что-то не то делаешь. Если распишешь поподробней, можно будет что-то посоветовать.
398 1974195
>>1974059

>Что на второй картинке справа?



>>1974059

>Что на второй картинке справа?


https://www.jooq.org/doc/3.0/manual/getting-started/jooq-and-kotlin/
399 1974207
>>1974193

> ты что-то не то делаешь.


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

> распарсить строку регуляркой и выбрать все эти ["penis", "lol", "kek" , "2"] в массив


Насколько я знаю регэкспы, там повторяющиеся значения как-то сложно обработать
image.png79 Кб, 1828x330
400 1974406
>>1974207

>задача у меня вроде бы адекватная.


Вопрос в том, почему все класть в ассоциативные массивы. Тут реально какой нибудь JSON/XML напрашивается и JSONPath/XPath.

>Насколько я знаю регэкспы, там повторяющиеся значения как-то сложно обработать

401 1974843
>>1973673
В теории графов это открытие будет в только 2023 году. Олег, прекращай нарушать диспозицию путешественника, от твоих шуток мы все вылетим с работы.
402 1975123
че котлеты язык живой стоит потыкать?
403 1975371
>>1975123
Котлеты доступны только для джава господ
404 1975397
>>1974843
Вы меня все равно не поймаете.
405 1975402
>>1975397
Олег, эта ветка вселенной закрыта от туризма, ты зря тратишь время. Ты не пират и не борец справедливостью, ты закрываешь пустые ветки от которых страдаем только мы, обычная обслуга.
406 1975481
>>1975402
Ой, да ладно. Перед любой мировой войной, любая ветка пользуется большим спросом.
407 1975656
>>1975481
Какие языки в будущем будут успешны? кроме китайского и языка боли
408 1975772
>>1975371
Бросил эксепшен с этого
409 1976489
>>1975656
Не один из текущих. После развития машинного обучения в квантовых вычислениях и изменения самой архитектуры вычислительной техники, многие текущие проблемы уйдут на нет, при этом появятся новые задачи (проблемы?). В общем, писать низкоуровневый, условный, последовательный код станет практически непосильным трудом и очень трудозатратным для будущих потребностей, поэтому текущие программирование будет восприниматься как вехой в истории, примитивным способом написанием логический условий, приводящих к критическому числу ошибок, недопустимому для современных требований.

То есть, простыми словами, человек очень плохо подходит для написание больших и сложных алгоритмов, поэтому по сути "машины" начнут писать другие "машины", а само программирование уйдет на инженерно-научный уровень и главное оно будет другим и не будет популярно как у вас сейчас.
Да, если честно, это и не нужно. В будущем есть куда более интересные вещи чем написание последовательных команд. Одно только рисованное интерактивное меню в современном интернете настолько сложное и изящное, что чтобы написать такое текущими инструментами нужно будет потратить не один месяц и (я уже не говорю чтобы оно не имело ошибок).

Но не расстраивайтесь, грядущая серия масштабных войн, так сильно простимулируют разработку "умного" оружия (автономного/роботизированного), что выжившие из вас уже при своей жизни увидят первую веху новой вычислительной техники. И она очень интересна.
410 1976513
>>1976489
Грядущая серия масштабных войн простимулирует только новое темное средневековье, когда наука и технологии придут в упадок или будут запрещены для массового использования, а новый ренессанс неизвестно будет ли еще.
411 1976549
>>1976513
Война, это всегда плохо. Но угроза ядерного оружия будет нивелированная в первые сутки.
А коалиция победившая эту войну назовет её последней и освободительной (что в какой-то мере цинично, впрочем, как всегда).

Причина мотивации станет ясно спустя 12 лет. Есть технологии которые позволяют стимулировать организм к здоровой бесконечной жизни (тупо камера с подобием нанороботов, восстанавливающие организм и процедура которую проходим каждые 5-10 лет, причем мы все).
Требование владельцев этой технологии проста, прекращение паразитирование и угнетение любой жизни, в том числе и разумной (в данном контексте, разумная жизнь, та жизнь которая способна созидать) обеспечение её защиты и процветание. Этакий космический гуманизм. Причины почему так важная жизнь для этих существ, не ясна, но в целом, они не заставляют, а ставят перед условиями и существа выбирают сами.

Самое забавное что эти существа выходят на контакт при развитие телепатических мутаций и кто вышел у нас в глобальный телепатический "интернет", не известно, говорят какая-то вообще община в Тибете или какой-то мальчик в Индии, но задачу поставили, конечно, лидерам наций (и это не только государства). Естественно, не всем понравились новые условия и порядки "гуманизма", мол "нам и так хорошо", но кто их спрашивал, да?
412 1976556
>>1976549
Я думаю, понятно, что со стороны наша нация выглядит как паразит, причем угнетающая свой же вид. Какая космическая эпоха может наступить, когда огромная часть планеты голодает, страдает и вообще все живут, в какой-то степени в рабстве.

Мы в глазах инопланетных существ выглядим как какие-то ублюдки. И вот эти ублюдки хотят это исправить, но не ради тебя и меня, а ради этой вечной жизни.
image.png1,5 Мб, 1024x681
413 1976809
А мне матрица нравится больше. Наконец-то котлин треды стали интереснее.
414 1978560
блин, так какой яп учить??
sage 415 1978580
>>1978560
После жабы
416 1978680
>>1978580
После жабы только разучивать все.
417 1986209
Не могу скомпилировать котлин на JDK 16. Я могу понять, когда для реализации фишек котлина, они используют всякие грязные хаки которые периодически отваливаются. Все таки JDK не самый гибкий рантайм.

Но сука компилятор, то почему падает! Нельзя было его по нормальному написать, без доступа через рефлексию ко всяким запрещенным местам? Тем более, что еще в момент выхода 9-ки сказали, не лезте своей рефлексией куда не надо, скоро мы вам будем бить по рукам.
418 1986223
>>1986209

> Не могу скомпилировать котлин на JDK 16


Обратная совместимость жаб в целом условная. Сразу после выхода новой ждк не надо спешить обновляться, лучше подождать минимум полгода, когда популярные либы обновят для новой жабы а лучше ждать следующей LTS
419 1986495
>>1986223

>Обратная совместимость жаб в целом условная.


Да нормально там с совместимостью. JDK 9 вышла осенью 2017 и уже тогда сказали - хватит лезть рефлексией во внутренние классы, мы это отрубим через несколько релизов. И все это время жидбрейз и не подумали убрать грязные хаки из компилятора.
А в тикете с багом пишу, что для 1.5 релиза пофиксят, а для 1.4 и 1.3 юзайте флаг --illegal-access и отстаньте от нас.
420 1992265
Какое там состояние у котлина? Увидел где-то что готовиться 1.5, но так и не нашел (бегло) какие фичи добавили.
3454.png1,6 Мб, 1471x655
422 1992644
kkkk.png42 Кб, 741x757
423 2011622
ПОМОГИТЕ!!!!!111

Как вы вообще пишите на этой параше? Я пишу на десятке языков, ебу байтики и менеджерю память руками сразу на куче платформ. И тут внезапно работодатели все как один, требуют знаний сабжа. Пытаюсь вкатиться, но кроме маркетоидных высеров я ничего не могу найти. Да и как мне писать на языке без нуллов, если даже в ссаном жабоскрипте оно есть? Блять, я в рот ебал ваш кошлин, мне надо ссаный собес пройти, но я не могу победить рвотные позывы. Ни то от самого языка, ни то от текста и "коммунити" языка. Как это вообще жрать?

Вот от такого мне блевать охота, но похоже ВСЯ инфа про кокотлин именно такая:

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

Kotlin или Java? Обычно сообщество выбирает подходящий вариант, основываясь не только на плюсах и минусах, но и на духе предлагаемого решения. Предположу, что именно поэтому Kotlin сумел так быстро завоевать симпатии многих разработчиков по всему миру и его выбирают чаще, чем Java. Много новых проектов начинается именно на Kotlin. В редких случаях начинают на Java, потому что это очень крутой язык до сих пор. Пусть и с некоторыми недостатками, но на нём с таким же успехом можно писать приложения. В Kotlin добавили более удобные возможности, убрали некоторые недостатки Java и сделали более лаконичный синтаксис. Но при этом, по моему личному мнению, нельзя сказать «не пишите больше на Java».

Выбор — скорее, дело вкуса, но для старта проекта сейчас всё чаще выбирают именно Kotlin.
424 2011653
>>2011622
нулл это вложеный булевый, учись щегол.
Создавай для динамической параши нул и будет у тебя все ок.
425 2011662
>>2011622
Какую-то хуюню высрал. Если ты уже знаешь хоть один язык программирования, то изучение нового ограничивается строго чтением справочника по новому языку, а не обзорных методичек и маркетингового булшита.

Скажи, тебе как "специалисту", что именно нужно, чтобы начать писать на языке, кроме описания языка на википедии, и документации по стандартной библиотеке этого самого языка?

Байтики он дрочит, без нула не может. Ахуеть просто.
426 2011828
>>2011662

>Если ты уже знаешь хоть один язык программирования


Груви или скалу, а так в котлине много непривычной отсебячины.

По поводу нуллов, это динамическое состояние системы (существует или нет) и это нормально для внешней среды. Проблема пришла, когда по чиху стали возвращать нуллы там где это не нужно.
В итоге победили нуллы, которые вроде как достали, но в тоже время они необходимы предметно. Не удивлюсь, что скоро победят какие-нибудь еще float и double типы но в реале, как и с нуллом, тупо ввидут еще одни костыли
tree.png579 Кб, 1001x653
427 2011835
>>2011662

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


Если я знаю хоть один язык, или хотя бы в общих чертах представляю как работает компьютер, то у меня уже есть какое-то критическое мышление и понимание, что такое хорошо и что такое плохо. Читая маны по новым языкам или фреймверкам, я обычно говорил себе: "ну, все как в моем любимом ЯЗЫК_НЕЙМ" или "Вау, вот это они круто сделали". А читая инфу про Скотлин, у меня возникают только рвотные позывы, начиная от синтаксиса, заканчивая общими концепциями, в которых сам Андрюшка (спасибо за видео из ОП-поста - первая вменяемая инфа по языку) не уверен.

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


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

А вообще, я начинаю понимать, чому я его так хейчу и почему оно мне ну никак не заходит: сам Андрюшка вдохновлялся Паскалем и его ответвлениями, а я как-то обошел их стороной, еще со времен доса. У меня даже были книжки по Турбо Паскалю, но я не мог их читать.
potato.png375 Кб, 786x676
428 2011857
>>2011828

>Груви или скалу, а так в котлине много непривычной отсебячины.


Не знаю, и знать в общем-то не хочу. Как и, к примеру, Эрланг - я на нем немного покодил, и продолжать больше не хочу.

Я никогда не фанател от функциональщины, просто юзал там где она была, а если ее не было - ну ладно, это особенность языка, фиг с ней.

Вокруг меня же постоянно бились какие-то ебнутые на всю голову фанбои: сначала Груви, потом Скалы, и вот теперь Скотлин. Каждые 5 лет я слышу от них примерно следующее: "Вот, теперь появился Груви/Скала/Котлин, теперь твоя Жаба нахер не нужна и помрет скоро". А через 5 лет уже не найти ни этих фанбоев, ни каких-то вменяемых причин изучать эти недохайповые технологии. Вот сегодня, какой смысл в Скале или Груви? Для меня эти языки мертвы. Я изначально считал их хайпом и просто не обращал внимания.

Но со Скотлином все хуже: 5 лет почти прошло, а эта хуйня не только не сдохла, так еще и ХРюши стали повально требовать эту говнину. Спрашиваю: "а вам зачем?" - мне отвечают: "потому что Котлин - первичен для ведра". И все. Стена. Мотивация - уровня маркетингового буллшита. Я честно пытался найти хоть какие-то преимущества, но все сравнения написаны максимально безграмотными людьми, которые и жабу похоже не видели. А как еще победить в себе брезгливость и начать писать на этой параше?

Поймите, мне этот язык нахуй не усрался, мне надо тупо устроиться на работу. Получать грязные зеленые бумажки, а на охуенные идеи Андрюшки мне насрать с высокой колокольни. Я бы вообще все на Сишке бы писал.
429 2011900
>>2011835

>я начинаю понимать, чому я его так хейчу


Потому что ты тупой.
430 2011978
Ага... Андрейку пидорнули таки, теперь Елизаров. Смотрю их выступления, о языке стал думать все хуже.

Котлин все же отличный язык! Больше никто так не засирает уши маркетингом.
431 2012075
>>2011857
Уважаю.
432 2012115
>>2011857
Ты, очевидно, дурачок, и страдаешь от сурового Даннинга-Крюгера. Если бы ты умел в Джаву - или вообще, программировать - Котлин для тебя не был бы таким камнем преткновения.

>Вот сегодня, какой смысл в Скале или Груви?


Скала используется в Тинькофф, например.
433 2012502
>>2012115

>Если бы ты умел в Джаву - или вообще, программировать - Котлин для тебя не был бы таким камнем преткновения.


Если бы я НЕ умел программировать вообще, да и компьютер бы видел в первый раз в жизни, то наверняка бы проблемы не было. Тут вопрос не в том, что мне сложно или непонятно, а в том, что НАХУЯ и БЛЯТЬДАНУНАХУЙ.

>Скала используется в Тинькофф, например.


Очень круто. Какой банк, такие и технологии.
И мне конечно совершенно не насрать, что там используется в самом прекрасном наебательском банке, в котором я не работаю
sage 434 2012662
>>2011857
Пожал руку, братишка.
sage 435 2012664
>>2011978
GOвнобляди воняют не меньше скотлиноеблоидов
436 2012757
>>2012502

>Тут вопрос не в том, что мне сложно или непонятно, а в том, что НАХУЯ и БЛЯТЬДАНУНАХУЙ.


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

>Какой банк, такие и технологии.


Все банки дерьмо. Но Скала это реально используемый язык программирования. Есть два типа языков, те о которых спорят, и те, которые не используют.

>И мне конечно совершенно не насрать, что там используется в самом прекрасном наебательском банке, в котором я не работаю


Ты спросил, какой смысл в Скале сегодня. Вот ответ, Скалу используют на хайлоадах. Твиттер работает на Скале тоже, например.
437 2012787
>>2012757

>Можно писать код, просто поглядывая в документацию.


Методом копипастного программирования можно писать на чем угодно и под что угодно (наверное, кроме 1с - его на стековерфлоу наверное нет). Вопрос лишь в том, что ты об этом думаешь. Если ты новичек, то претензий к этому быть в принципе не может.

>ты думаешь они ради тебя будут уже готовую кодобазу с котлина на джаву переписывать, или что?


Я что, ебан? Ясен хуй, что если проект уже есть и он на Скотлине, то мне туда даже близко подходить не надо. Но на практике это выглядит так: "нам нужны красивые мальчики в белых рубашечках со знанием скотлина, все новые проекты мы будем писать на скотлине" - вот от этого у меня и разрывы.

> Вот ответ, Скалу используют на хайлоадах.


Хайлоад на виртуалке? Не смешно. Это как "хайлоад на пехапе" (хотя нынче пехапе уже не такое говно как раньше).
recept737yj4y[1].jpg45 Кб, 640x500
438 2012896
>>1817311 (OP)

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



Вот блядь, идеально выразили мои мысли. Вроде начинали как неплохой язык, но скатили в какую-то хуйню. В том же Swift'е развивали язык более продуманно, обсуждали всем миром и в основном всё и сейчас лаконично и красиво. А я ведь мог остаться на котлетоне, если бы они не начали творить нечитабельную хуйню. Но в результате свалил в божественный Swift
439 2012924
>>2012787

>Методом копипастного программирования


Какого ещё, блядь, копипастного программирования. Что ты несёшь, чел. Читаешь доки, смотришь как там выглядят структуры данных и синтаксис, и решаешь задачи. То же самое происходит буквально со всеми остальными языками программирования. У тебя в голове каша. Возможно, ты ещё недостаточно опытен, чтобы не обращать внимания на то, на каком языке ты прогаешь вообще. Твои разрывы выдают в тебе дилетанта.

>Хайлоад на виртуалке? Не смешно.


Хуиртуалке, мань, кто ты такой, чтобы давать оценки подобным вещам? Попустись, чмоня.
440 2015266
>>2011622
Ахахахахах
Анон, как я тебя понимаю. Ищешь инфу по хуйнянейм, вылезает тысяча и одна статья от ебучих гуманитариев, которые с важным видом накидали баззвородов и воды. Так и хочется взять и уебать, когда видишь очередной материал от инфоцыганенка
441 2015767
>>2011622

>Как вы вообще пишите на этой параше


Хехе, JetBrains разве может высрать не уебище? Вопрос риторический.
442 2024297
>>1817311 (OP)
Котлин - хороший язык, не пиздите.
Пишу на нем по роду профессиональной деятельности.
443 2024337
>>2024297
Ахахах, хороший говоришь, а почему тогда он умер???))0)
444 2025077
>>1817311 (OP)
Вы нахуя коту башку прорубили?
image.png1,6 Мб, 1600x1300
445 2025249
446 2025443
>>2012924

>сночала добейся!1


Арирую с долбоёба, хуйлоад у него на виртуалке.
Не такой там и хуйлоад, пока бизнесу легче залить проблему железом.
447 2026367
>>2025443
Писать хуйлоад на крестах я бы не хотел. На расте можно, но, говорят, страпуешься к мидлу. Остаётся го, но это такое себе удовольствие. На чем тогда?
мимо дотнетчик
448 2026529
>>2026367

>страпуешься к мидлу


На крестах тоже.
Вообще, зависит от компании. В тех же ФейсбукахАплахАмазонахНетфликсахГуглахМайкрософтах обычно берут "софтваре инжинеров", которые могут мигрировать в компании по технологиям как говно в проруби.

Алсо, такое возможно и на постсоветском пространстве, правда нужен ебический опыт в предметной области, чтобы язык там был десятым делом.
449 2026540
>>2025443

>Арирую с долбоёба, хуйлоад у него на виртуалке.


>Не такой там и хуйлоад, пока бизнесу легче залить проблему железом.


Ебать ты дебил!

Хайлоад это не про производительсноть с одного CPU, а про масштабируемость. Да вместо 100 серваков, купить 120 дешевле, чем пердолиться с С++.
450 2026728
>>2026540

>Хайлоад это не про производительсноть с одного CPU


Т.е. перформанс каждой машины по отдельности никак не аффектит перформанс кластера?

>а про масштабируемость.


И чем же жвм лучше нейтива в плане масштабируемости?
Ты в попытках заманяврировать куда-то не туда залетел.

>Да вместо 100 серваков, купить 120 дешевле, чем пердолиться с С++.


Пчел, даже если не байтойобить а написать более-менее оптимизированно на чистой жабе — у тебя выйдет 130-140 вместо 100, но ирл так никто не делает — все тащут раздутые спринги и ко и в жизни разница будет на порядок. А ещё мы говорили про скалу — половину фичей которой жвм нихуя не умеет оптимизировать, а ещё её обмазывают фп сверху (а даже если не обмазывают — все встроенные иммутабельные коллекции будут тормозить как говно в любом случае), что как бы намекает куда нахуй идёт перформанс.
451 2026939
>>2026728

>Т.е. перформанс каждой машины по отдельности никак не аффектит перформанс кластера?


Ты не можешь весь текст осилить? Я писал про это.

>вместо 100 серваков, купить 120 дешевле, чем пердолиться с С++.



>И чем же жвм лучше нейтива в плане масштабируемости?


Я не писал такого. JVM не хуже и не лучше, масштабируемость определяется архитектурой. А когда у тебя есть готовая архитектура, ты уже выбираешь язык (об этом далее).

>Пчел, даже если не байтойобить а написать более-менее оптимизированно на чистой жабе — у тебя выйдет 130-140 вместо 100, но ирл так никто не делает — все тащут раздутые спринги и ко и в жизни разница будет на порядок.


Совершенно пустопорожние рассуждения, надо смотреть на конкретную архитектуру и мерять перформанс. Есть хороший пример Netflix, они посчитали что раздача контента требует очень много ресурсов и заплатили nginx чтобы они соптимизировали сервер под их нужны. Но при этом остальные сервисы которые тоже хайлоад они пишут на яве, потому что там ебля с С++ не даст существенной экономии на серверах.

>А ещё мы говорили про скалу


А
>>2025443

>Арирую с долбоёба, хуйлоад у него на виртуалке.


кто писал?
452 2029214
>>2025249
Зачем кот держит глаза на ушах?
1620885783669.jpg32 Кб, 400x355
453 2029267
454 2029715
>>2029214
Хуя душнила.
455 2029993
>>2029214
Зачем котлину компаньены?
456 2030044
>>2029993
ЛИШЬ БЫ НЕ КАК В ДЖАВЕ
1514472808245.jpg18 Кб, 600x595
457 2030701
Сука да как понять эти ебучие корутины
Спавняться в разных тредах, но при этом половина из них все равно не параллельны и ждут прерывания
Хочешь чтобы спавнились в одном треде - таскай main скоуп как зависимость по всему приложению
Шарить общее СОСтояние - это не КОРУТИН-WAY, туда же синхронизации, мьютексты это все НЕ НУЖНО - вот тебе каналы и дрочи их как хочешь
Контексты, хуексты, скоупы, джобы нихуя не понятно короче
помогите...
458 2030718
>>2030701
Как же хочется Loom.
459 2030769
>>2030718
Loom придет - порядок наведет!
460 2030819
>>2030718
Скачай и играй, чо.
461 2030873
>>2030718
Как бы не вышла такая же залупа как и с модулями жавы 9, которые кроме проблем ничего другого не добавляют
462 2030896
>>2030873
Рисков на первый взгляд меньше, ничего не изменяется, только добавляется новая необязательная фича, не как с модулями, которые нельзя выключить.
463 2044903
Аутисты, не тоните.
464 2044905
Вот вам новинки Котлетин 1.5
https://www.youtube.com/watch?v=EbU15SvXlGk
465 2046076
>>2044905
Жаба победила безнаковые типы, котлин их вернул. Лол.
Можно в кратце что там нового, мотанул увидел константы min max, потом 6 говорящих голов.
466 2046224
>>2046076
Сам пока не досмотрел, этот лет ми спик фром май харт выбешивает. Так и хочется написать - да говори уже по русски дура!
467 2046732
>>2046076
Мелоч всякая. Интероп с новыми жвмовскими фичами. Что то стабилизировали. Что то нет. Основной хайлайт - автокомплит стал быстрее на 50% (на самом деле нихуя)
468 2060205
Категорически приветствую!
Насколько реально сейчас в России устроиться котлин-разрабом бэкенда? Через 3 недели будет ровно 1 год опыта, правда на джаве. Но также на работе чуть-чуть писал на реакте и даже давали недельку потыкать скалу.

Сейчас в свободное время изучаю котлин и с каждым днем он нравится все больше. Но в основном вакансии на хх требуют от 3 лет. Я в пролете?
А на западном рынке как с этим? Может еще поднакопить опыта и через пол года сразу пробовать на иностранный рынок подаваться?
469 2060527
>>2060205

>А на западном рынке как с этим?


В стартапах популярен.
470 2062565
>>2030701
Не знаю, насколько ещё для тебя актуально, но https://kotlinlang.org/docs/shared-mutable-state-and-concurrency.html
471 2067896
Аноны, собираюсь вкатываться в андроид. Из шапки понятно, что надо осваивать джаву. Максимально объемно или только её азы? Что необходимо по ней знать? Мне вообще недавно анон посоветовал хоть с флаттера начинать, чтобы вникнуть в мобильную разработку. Спрашиваю совета, чтобы не распыляться и точно знать что учить.
472 2068775
>>2067896
Вообще у ведроида свой тред https://2ch.hk/pr/res/1994880.html (М)
Для разработки под мобилки надо знать синтаксис джавы и джава кор, спринги и прочие кафки не нужны.
473 2091123
Кто нибудь уже щупал инлайн классы? https://kotlinlang.org/docs/inline-classes.html

Я понять не могу, они пишут что @JvmInline депрекейтед, но не пишут что использовать вместо него и во всех примерах аннотация присутсвует. Это как?
474 2091148
>>2091123
Наверное ничего, может теперь просто value class.

> inline classes or the inline modifier is deprecated since kotlin 1.5, in favour of value classes

475 2091510
>>2091148
Если убрать @JvmInline, то выдает ошибку
Value classes without @JvmInline annotation are not supported yet

В лучших традициях жидбрейнс.
sage 476 2091513
>>2091123
>>2091510
И потом кто-то удивляется, что энтерпрайз не спешит перекатываться в котлин.
477 2091550
>>2091513
А какой практический смысл переката на better java, проще стартануть новый сервис на го или ноде.
sage 478 2091565
>>2091550
Никакого, кроме как поднять настроение некоторым разрабам, типа они пишут теперь не на коболе, а на модном молодёжном языке. А по факту что в жабе абстрактные фабрики и размазывание логики, что в котлине, только присыпано сахаром и проблемами из-за неудачных попыток сделать сметану из говна.
image.png251 Кб, 500x305
479 2091570
>>2091550

>на го или ноде.

image.png7 Кб, 525x125
480 2101761
Аноны котлинисты, нужна ваша помощь по избавлению от некрасивостей.

Имею кусок кода как на пикриле. По сути это два листа с объектами у которых есть какой-то ключ. Мне нужно проверить элементы этих листов на совпадения ключей, и, если ключи совпали, то делать что-то.

Можно ли это как-то сделать какой-нибудь удобной и красивой котлиновской функцией, а не двумя ебучими циклами?
481 2102093
>>2101761
Есть forEachIndexed, indexOf дорогая операция.
482 2102912
>>2101761
То что ты наговнокодил имеет сложность O(n^2). Если ключи уникальный, то сконвертируй второй список в Map.
483 2102931
>>2102912
Вообще то в ^3, у indexOf фор луп под капотом
484 2103094
>>2102912
Там пока жаба перегонит в мапу, я думаю, высрется еще тонну объектов, включая саму мапу, которая в будущем будет уже не нужна.

Это нормально массив массивом перебрать, просто indexOf не к месту. А вообще почему нет такого метода расширения который не только проверял наличие значения, но возвращал бы индекс?
зато 100500 сомнительных методов-расширений есть, которые нужны раз в пол жизни
485 2103401
>>2103094

>А вообще почему нет такого метода расширения который не только проверял наличие значения, но возвращал бы индекс?


indexOf() и возвращает индекс

>А вообще почему нет такого метода расширения который не только проверял наличие значения, но возвращал бы индекс?


Если массивы на 10 элементов - да норм. А если 10к и более - то у тебя уже 100кк сложность получается если на forEachIndexed() переключиться
486 2103751
>>2103401

>А если 10к


А если 100к или 1000к? А? Че то ты рано в фантазии остановился.
Это не питон чтобы на холостых циклах провисать. Иногда лучше цикл пробежать, чем GC накормить.
487 2104885
>>2103751

>Иногда лучше цикл пробежать, чем GC накормить.


Сейчас бы переживать бы за GC. Вам кучу конкарент GC завезли, бери да юзай.

Да и Котлин сам по себе много мусорит - например те же лямбды у тебя внутренняя лямбда замыкается на внешнюю. Тогда уж начни с этой оптимизации.
488 2104968
>>2104885

>Сейчас бы переживать бы за GC


Ну да, а потом стоп-зе-волд в минуту, и ты смотришь в код и видишь, что там вообще ни в одной строчке не переживали за GC.

В нормальных приложениях болт не кладут на это. редко для джавы, но бывает.

Понятно, что если там 10к индексов, а в цикле еще дробилка какая-то, то конечно это не нормально. Но если у тебя 10 на 15 элементов и ты паришься за O^2, это уже клиника.
Начитаются своих вумных кнутов и натягивают везде свою оптимизацию на глобус.

>Да и Котлин сам по себе много мусорит


Не удивлюсь, к счастью еще полгода назад дропнули котлин. Не то чтобы язык плохой, но знать подводные камни джавы, jvm и потом еще котлина - такое себе, в плане человеко ресурсов.
489 2106202
>>2104968
Чел, ты половину фразы игноришь, а потом усираешься доказывая то, что было заигнорено. Тебе делать нехер?
490 2106920
>>2106202
Какую?
491 2107754
>>2106920

>Если массивы на 10 элементов - да норм. А если 10к и более - то у тебя уже 100кк сложность получается


>Понятно, что если там 10к индексов, а в цикле еще дробилка какая-то, то конечно это не нормально. Но если у тебя 10 на 15 элементов и ты паришься за O^2, это уже клиника.



>Сейчас бы переживать бы за GC. Вам кучу конкарент GC завезли, бери да юзай.


>Ну да, а потом стоп-зе-волд в минуту


inb4: https://ionutbalosin.com/2019/12/jvm-garbage-collectors-benchmarks-report-19-12/

>ZGC struggles for as low pause times as possible (e.g. max 10ms) and is designed to scale incredibly better from smaller to big Heap sizes (i.e. from hundreds of MB to many TB).


>Shenandoah GC has similar goals as ZGC, it targets low pause times which are no longer directly proportional to the Heap size and is supposed to scale from tiny to big Heap sizes.



Да и вообще ты JOL то нюхал, рассуждаешь тут про

>Там пока жаба перегонит в мапу, я думаю, высрется еще тонну объектов, включая саму мапу, которая в будущем будет уже не нужна.


?
image.png31 Кб, 683x220
492 2109023
В котлине это так делается, или можно проще?
image.png23 Кб, 355x379
493 2109153
>>1817311 (OP)
Тред по жаве мёртв, потому спрошу здесь.
Есть например такой код.
Сначала мы создали объект класса Car в классе Human.
Затем объект класса Human в классе Human.
Вопрос вызывает вот этот участок:
h1.c = new Car();
Что именно здесь происходит? В объекте h1 создаётся ссылка на с?
494 2109154
>>2109153
Вопрос как именно взаимодействуют h1 и c.
495 2109209
>>2109153
>>2109154
h1 - объект класса Human.
h1.c - поле у этого объекта.
h1.c = new Car() - создание нового объекта класса Car и присваивание этого объекта в то самое поле.
Доступ к полям объекта рассказываются буквально во втором абзаце любого справочника по синтаксису жабы.
Впрочем, чего еще ожидать от того, у которого

>Тред по жаве мёртв, потому спрошу здесь


там 1к постов за месяц, тут 500 за год
496 2109317
>>2109023
Есть же пастебин и куча других сервисов, нахуя-то картинку постить?
Выглядит как переусложнение, с одной стороны как-бы универсальный код, с другой специальные случаи для строк и интов. Ну и в целом непонятно что ты пытаешься сделать.
497 2109377
>>2109209

> там 1к постов за месяц, тут 500 за год


Там мавеношизик срет за десятерых
498 2109406
>>2109377
Все мавеносрачи начинает градлошизик.
Оба говнище
499 2110127
>>2109317

>Ну и в целом непонятно что ты пытаешься сделать.


Delegated property как в https://kotlinlang.org/docs/delegated-properties.html#storing-properties-in-a-map но с возможностью задать имя, дефолтное значение и с type safety. Помимо строк и интов там панируются кейсы под каждый тип.
500 2111301
>>2110127
Все, разобрался. Пиздец у вас тут тухляк.
501 2112494
Пишут ли на Kotlin в ACM ICPC?
502 2112553
>>2112494
В списке доступных есть, но как правило используются только кресты и иногда питон для нетребовательных к скорости задач. Программы не живут дольше пары секунд, поэтому на управление памятью поебать, освобождение памяти может быть вообще отключено ради скорости https://algorithmica.org/ru/no-deallocation
503 2112680
Привет, анончики.

Есть такой пример из книги: https://pastebin.com/5hUR3JgR

В чем разница между
Button().showOff()
и
val b = Button()
b.showOff()
?

В джаве, насколько помню, через имя класса обращаются к статическому методу. А здесь что за "Button()", у которого мы вызываем метод? Что погуглить, куда почитать?

Спасибо!
504 2112750
>>2112680

> Button().showOff()


Создаёшь экземпляр класса Button и сразу вызываешь его метод show

> val b = Button()


> b.showOff() ?


Создаёшь экземпляр класса Button, сохраняешь ссылку на него в переменную b и через переменную вызываешь его метод show

> В чем разница


Только в присвоении ссылки, суть одна и та же

> В джаве, насколько помню, через имя класса обращаются к статическому методу.


Статические методы принадлежат классу, а не его экземпляру. Значит выглядело бы это как Button.show()

> А здесь что за "Button()"


Вызов конструктора класса, пустого в данном случае, чтобы создать экземпляр класса

> Что погуглить, куда почитать?


Главу про классы, конструкторы и статический доступ.
Желательно посмотреть как это выглядит в жаве, потому что котлиновский синтаксис делает многие вещи неявными. Как например с оператором new
505 2112767
>>2112680
Стоило открыть ссылку сначала.
Там в первом случае создаётся три разные кнопки и на каждой вызывается по одному методу.
Во втором, создаётся одна кнопка и на ней вызывается все три метода.
506 2112796
>>2112767
Спасибо, стало понятней. Всё еще непривычно создавать экземпляры без new.
Тред утонул или удален.
Это копия, сохраненная 1 августа 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски