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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Kotlin #3 /kotlin/ 1739262 В конец треда | Веб
Вкатываемся в новый язык на превосходно отточенной 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/

>Онлайн компилятор (вставить код или просто что-то потестить)


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
Там можно спрашивать даже банальные вещи (кроме неопределенных), они потом хорошо гугляться и превращаются в простой справочник. Серьезно, анон, прекращайте спрашивать на древних форумах, бестолковых чатах, и даже двачах. Если уж совсем плохо с английским и не можешь в переводчик, то там есть ру-язычная версия сайта, но это так себе идея

>РАЗНОЕ



>Шпаргалка по 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 1739277
Хороший язык, если не пользоваться.
3 1739284
>>739277
Если освоить тонкости, получается писать удобнее и быстрее чем на питоне. В общем, этот язык бустит джаву.
Java_sharp
4 1739288
5 1739291
>>739277
Ты сейчас просто про все программирование сказал.
Кодить хорошо, если не работать программистом.
6 1739306
Когда мировым сандартом станет 5-6-часовой рабочий день? В идеале, 4-часовой.
7 1739316
>>739306
Тогда, когда снова пробудиться коммунизм и капиталисты снова так испугаются, что сделают поблажки рабочим.
И так до следующего раза и да, этот коммунизм снова получиться не очень, ну и фиг бы с ним
8 1739421
>>739262 (OP)

>Производительность.


>пишет про производительную жаву


Ну а про что еще писать, не про тормозной котлин с оверхедом по памяти же
9 1739429
>>739316

>да, этот коммунизм снова получиться не очень


Молимся на Ким Чен Ына. Больше некому. Куба ушла под пендосов. Китай стал капиталистическим.
10 1739486
>>739421
пукнул или пруфанешь нам?
image.png1 Мб, 1100x733
11 1739492
12 1740418
Не постите Ким Чен Ына, люди начинают бояться писать в тред.
13 1740916
Накидайте за щеку гайдов для начинающих по котлин-андроиду. Нашел трехчасовой курс от фрикодкемпа, но там уже готовое приложение "допиливают" и я просто не понимаю структуры и как оно все друг с другом работает.
Хочу написать свои заметки, которые порвут плеймаркет и принесут мне контракты на миллионы долларов.
14 1740932
>>739316

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


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


Поправил тебя.
15 1740961
Значит вы пидорасы.
16 1741055
>>740961
Почему ты так считаешь?
17 1741195
>>740932
Спасибо, учительница первая моя...
18 1741199
>>741055
Прошла половина каникул, а он так и не вкатился в айти, как планировал не один год. Но так как мозгов не много, вся агрессия будет изливаться ться! на вас программистов, которые как паровозик, смогли!
image.png129 Кб, 336x188
19 1746151
image.png139 Кб, 336x188
20 1747044
21 1747082
>>739284
Удобнее и быстрее в разработке? Чем интересно?
22 1747092
>>739277
имхо но в котлине уж слишком много сахара, как итоге - код сложно читать без знания всех тонкостей синтаксиса и семантики
imageg.png12 Кб, 400x400
23 1747097
>>747092

> код сложно читать без знания всех тонкостей синтаксиса и семантики


Где-то я уже это слышал.
24 1747101
>>747097
Ну кресты это вообще пиздец. Разница между кодом на этапе обучения и продакшен кодом максимальна - просто как два разных языка.
25 1747133
>>739284
Из всех JVM-языков в свое время больше всего зашел Groovy. Я так и не понял, почему он в итоге умер.
26 1747141
Я ненавижу вас, уроды!
27 1747142
>>747133
Он до сих пор живёт там, где нужна скриптота для экосистемы джавы - дженкинс там, градл.
28 1747150
>>747133
Потому что динамика. Тащемта, если бы он изначально не тягался со скриптоплеядой, то ни скала, ни котлин были бы нахуй не нужны.

А ещё если бы Одерски не дрочил дотти (скалу 3) 10 лет, то котлин был бы не нужен, а ещё если бы Страуструп не тащил бы полугнилой труп си, то джава была бы нинужна, а ещё если бы авторы джавы не дрочили бы по 5 лет обсуждая нужен ли вывод типов и ничего ли он не сломает — на жвм была бы только жава и даже C# был бы нахуй не нужон, а ещё если бы у бабушки был хуй...
29 1747152
>>747150

>не дрочили бы по 5 лет обсуждая нужен ли вывод типов


По 15* лет конечно же.
30 1747157
>>747150
В Груви же завезли в итоге статику, не?
31 1747167
>>747157
Во-первых, когда её уже азвезли — уже была скала, причём с ещё большим количеством сахара и фич.
Во-вторых, бабушке пришили хуй. Вот блять буквально — у тебя есть выбор юзать нормальный статический язык, или дрочить на тс, временами страдая от того, что кишочки-то из жс, ты что выберешь? Страдать как лошки, пришитые яйцами к жс?
image.png14 Кб, 1038x205
32 1747171
>>747082
Экстеншен функциями. Зачастую там (в стандартной либе котлине) уже сделали такие фасады, где ты в одной строчке можешь сразу прочитать какой-нибудь каталог и тут же выбрать последнее название по фильтру. Или быстро построчно прочитать файл, через лямбду.

Именно фасады в питоне позволяют писать скрипты быстрее. Но фасады в питоне распространяются только на стандартную либу распространяются. А тут тебе подвластно переделать API любой из областей.
33 1747172
>>747092
Как и любой ЯП
34 1747178
>>747092
В JS столько тонкостей, особенно в node и его ивент лупе, что знаний (подводных камней) будет сравни С++. Питон тоже не блещет идеальным дизайном, из-за динамики приходится постоянно кодить через гугл. Потому что либо все по другому либо забы сигнатуру функции.
image.png516 Кб, 1012x553
35 1747241
36 1747242
>>746151
>>747044
>>747241
Серега, прекращай.
37 1747300
Читаю Head First по котлину. Поначалу легко, а сейчас вот пошло наследование, абстрактные классы. Хуй пойми ваще.
Но будем работать. Вкат близко.
image.png1,3 Мб, 1000x563
38 1747324
>>747300
Для этого мы здесь, мой друг.
39 1750718
господа, а есть контент для новичков где обучение на проектах. Не могу блять тупо в стол дрочить, лучше если это будет бесполезная хуйня
40 1750720
>>750718
Вспоминай, что писал, когда учил джаву, и переписывай на котлине.
41 1750725
>>750720
а что на начальном этапе очень важно уметь в яву?))))
42 1750728
>>750725
Даже не на начальном. На котлине в принципе далеко не уехать без джавы.
43 1750732
>>750728
ты заставил меня плакать
44 1750749
>>750732
Не бойся, джава несложная. Читаешь по ней пару книжек/курсов для новичков, затем что-то более продвинутое, и вот ты уже работаешь в банке с 30 джавистами над 15-летним проектом на Java EE 6.
45 1750751
Мне например близка фронт энд тема. Можно как-то совместить это с изучением явы? Для лучшего усваивания
46 1750756
>>750751
Никак, абсолютно. Разве что быть фуллстеком и изучать это одновременно, но не совместить в одно.
47 1750903
>>750756
Я имею в виду параллельно с общей информацией учить на примере спринга. Там же и синтаксис можно закрепить и тд.
Типа этого https://coursehunter.net/course/junior-java-razrabotchik-veb-prilozheniy-basejava
48 1751078
>>750751
>>750903
Так тебе интересен фронт или веб? Ссылка не о фронте, если что.

>учить на примере спринга


Учить язык по фреймворку - так себе затея, ничего не поймешь, да и костылей, усложняющих понимание, там достаточно. Но попробуй, если хочешь. а лучше не трать время и прочти какой-нибудь head first
49 1751115
>>750732
Интересно, тайпскрипт тоже пытаются учить без джаваскрипт?
50 1751125
>>751115
В JS-мирке всё очень плохо, такие странные подходы повсеместны - раньше jQuery учили без знания JS, теперь реакт пытаются. Что там о тс говорить.
51 1751134
>>751125
Учить сразу кроссбраузерный jquery, вместо стандартного кривого DOM api (которое, напомню зумерам, работало через жопу между браузерами) это тогда еще выглядело вменяемо.

Другое дело зачем они в джаву лезут, когда у них там есть говно-нода с бестолковой асинхронной работой через эвент-луп.
Это равносильно тому, что ты построил будку песику и с таким успехом подался сразу в строители плотники.
52 1751138
Если брать в контексте JVM, то на текущий момент котлин - это прогрессивный синтаксис для джавы. Не хочешь писать на джаве, не хочешь и котлин. Все.
53 1751156
>>751134
DOM != JS. То, что DOM был кривой, ещё не значило, что нужно отключать мозг и писать на JS исключительно копипастой из гугла.
54 1751166
>>751078
Спасибо няша, уже начал.
Да, выразился не правильно. Веб конечно. Хотелось завести какой-нить мелкий пет и по ходу развивать. Например какую-нибудь телефонную книгу, и там уже говнякать. Просто мне так легче заходит инфа.
55 1751176
В чём вообще мотивация тех, кто учит котлин без джавы? Они такие "О, гугл сказал, что на андроиде теперь котлин, всё сразу в котлин буду вкатываться" что ли?
56 1751178
>>751156

>DOM != JS


Вот именно, у тебя в голове все перемешалось. То что ты считаешь жабаскриптом, на самом деле есть DOM API. Нельзя jquery заменить javascript - звучит глупо, да?

>отключать мозг и писать на JS исключительно копипастой из гугла.


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

Ты еще скажи что CSS весьма удачная и продуманная технология, а не высер людей, которые, наверное, уже лет 30 не писали код.
57 1751291
>>751176
Да это идиоты, очевидно. Которым подавай все новае!
58 1751342
>>751291
А чо сразу не реакт нативе?
59 1751447
>>751291
Потому что котлин это ЯП, а не фреймворк, по этому мы, новички, делаем такой абсурдный шаг, с вашей точки зрения.
60 1751451
>>751447
Сейчас пока что нельзя воспринимать котлин как полноценный язык, это скорее надстройка для джавы. Через несколько лет будет по-другому, если не загнётся.
61 1751532
>>751447
Это сейчас больше прокси язык, подобие тайпскрипта.
62 1751672
>>751451
Что же изменится через несколько лет?
63 1751699
>>751672
-Развитие другого поколения либ, больше ориентированных на синтаксис и DSL котлина чем джавы.
-Развитие мультиплатформны, в основном оборачивание сишных либ на манер синтаксиса и DSL котлина (например, как это делают сейчас с игровыми движками).
-Запуск построенной ракета для совместного полета на Альдебаран и создание там дружеского поселения с названием "NewSun Новая Надежда".
-Первая победа над землянами в войне за господством над галактикой.
-Распространение котлина среди жителей галактики Андромеда.
image.png8,7 Мб, 2405x1603
64 1751836
контент 65 1753201
image.png4 Кб, 213x83
66 1755954
а че это такое, почему без этих странных кавычек не работает? гугл его даже как символ не воспринимает
67 1755967
>>755954
Потому что в котлине куча кейвордов совпадает с идентификаторами из библиотек. is - зарезервированное слово. Да и далеко за примером ходить не надо - на System.in котлин тоже выебнется. Почему? Потому что при парсинге исходника приоритет отдаётся сначала кейвордам, и уж потом - корректным идентификаторам. Ну и такую хуйню можно экранировать с помощью таких кавычек. Интересно, что в таких кавычках можно написать хоть идентификатор с пробелами, и можно объявить переменную с целым предложением в названии - прям как в SQL с двойными кавычками.
68 1755969
>>755967
ааа, получается так можно вызывать методы название которых совпадает с ключевыми словами языка, понятно, спасибо, брат
69 1755970
>>755967
Пиздец говно какое-то. А написать парсер/лексер отличающий кейворд от метода/проперти уже непосильная задача в 21ом веке? Даже жсники справились еще двадцать лет назад.
70 1755980
>>755970
Я согласен с тобой, но почти в любом языке есть кейворды, которые никогда нельзя использовать в качестве идентификаторов, хоть по контексту и можно отличить, что есть что. Вообще, в теории котлин не виноват, что в не-котлиновских либах используются зарезервированные слова котлина, но всё-таки одной из целей его создания был нормальный интероп с джавой, а по факту нагородили кучу костылей.
71 1755983
>>755980
Смотря каких идентификаторов. Переменную от кейорда еще можно забить отличать. А вот метод и свойство- я же говорб, такое даде вжс исправили еще в начале нулевых.
72 1756423
>>755967

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


Удобно так медоты в тестах обзывать, просто тестом как есть.
73 1756427
>>755970

>А написать парсер/лексер отличающий кейворд от метода/проперти



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

Лучше бы они вместо "in" юзали ":", тут наверное питонодебилами хотели угодить. Что касается is - то обычно такие короткие имена в джава мире как раз не используют и меньше шанс попасть на переменную isinstance.
74 1756431
>>755983
Скорее всего анализатор пробегается по ключевым словам и делит все на выражения, а уж потом начинают отделять мух от котлет.
Не вижу смысл усложнять и удлинять компиляцию.
image.png13 Кб, 246x707
75 1756432
>>756427
В джаве не можешь.
Но это искуственное ограничение или лень.
При этом в котлине вам же разрешили называть, но через жопу.
Контекстно-зависимая грамматика это детский сад же, чтобы ее не о силить.
76 1756434
>>756431
Это не так работает. Иначе бы ты в литералах строк не мог бы использовать ключевые слова тоже.
77 1756444
>>756432

>Контекстно-зависимая грамматика


Это потенциально UB и дикая сложность на пустом месте. Всегда будут места, когда автор хотел так, а получил вот так и компиляция прошла. И нахер тебе эти неопределенности?
78 1756450
>>756434
Я не знаю как это работает, но очевидно идет какая-то разбивка на дерево, целиком сразу весь код компилятор не понимает. Литералы строк тоже могут в этот момент разбиваться.
79 1756456
>>756444
Какое UB. Что несешь. Сегодня все языки программирования используют контекстно-зависимую грамматику. И не только программирования. И у котлина и у джавы она втом числе тоже контекстно-зависима. Просто при реализации парсера\лексера положили хуй на то, чтобы чекать еще один контекст.

>>756450
Код разбивается на токены. Из потока токенов строится AST. И во всем этом нет никакой сложности отделять кейворды от доступа к методу.
80 1756458
>>756456
Так разрабам IDE будет сложнее.
81 1756462
>>756458
Почему у разрабов IDE нет проблем с другими языками, в которых это допустимо спецификацией?
82 1756465
UB в котлине - это конечно круто.
83 1756472
>>756465
UB это не только ошибка сишнего компилятора.
Переполнение числа, тоже UB, написал одно, а компилятор прочитал по другому - тоже UB
image.png1 Мб, 1100x733
84 1756485
image.png1,2 Мб, 1200x1200
85 1756489
image.png1,7 Мб, 1866x733
86 1756491
87 1758244
>>756432
Сейчас бы радоваться "интеллектуальному" javascript, который магически иногда не ставит (или ставит) точку запятой.
88 1758247
>>758244
И как это он магически ставит или не ставит? Сам решает, от фазы луны?
89 1758250
>>758247
Лол, ты даже не в курсе? Иди гугли.
91 1758315
Оч странно изучать kotlin, это как изучать lombok какой-нибуьть
92 1758333
>>758315
import lombok.coroutines.*;
93 1758438
>>758315
Да оставайтесь в своих жопоскриптах или петухонах, кто же вас гонит то с них?
94 1758443
>>758250
Да, конечно, вместо пробежки в лесу со своей тней, я буду гуглить вне работы всякую херню.
95 1758446
>>758443
АХАХАХАХАХ
96 1758454
>>758443
Надеюсь ты в лесу с рукой не разговариваешь.
97 1758498
>>758438
при этом бреслав юзает петухон в своем стартапе)
98 1758499
>>758333
Когда в джаву завезут корутины никому не нужна будет твоя хуета
99 1758525
>>758498
Он же не пишет на нем, а основатель стартапа.
Ты, надеюсь, различаешь приложения уровня джавы (где ценник соответствующий и требования к спецам), от контентного сайта, аля "визитка", уровня джанги?
Чтобы разрыть глубокую траншею, ты ищешь экскаваторщика, а чтобы посадить розы, тебе хватит и землекопа с лопатой. и вообще, тупо искать землекопа, среди экскаваторщиков

PS: котлин это статически типизированный язык, который стал уже достаточно простым по синтаксису и близким к динамическим языкам, не удивлюсь что в будущем появятся на нем CMS, ну и появиться класс программистов, которые будут на этом писать потому, как типизированная DSL позволяет делать вещи довольно гибкие и мощные вещи для людей, которые могут быть не очень знакомы с программированием. но ты скорее всего очередной залетный зумер и даже не поймешь этот поинт, поэтому, вот тебе мое мнение - коко, пук, пук
100 1758528
>>758499
Стоит только снова подождать, еще чучуть, прям чуток.
А потом жрать кривые костыли, ибо обратная совместимость и все дела.
101 1758537
Динамические языки, это эксперимент, по попытке привлечь в индустрию больше программистов, чтобы сделать разработку дешевле, за счет простого кода и дешевых доступных рабочих.

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

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

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

Поэтому если уж и жрать говно, то возьмите хотя бы тайпскрипт. и да, у питухона ебанутые хинты, как всегда гений гвидо издрочился и для декларации нескольких типов придумал какую-то кривую жопу, когда уже существовали нормальные примеры с "палкой"
102 1758542
>>758537
А в чем проблема то? А в том, что как только начинаешь писать код на динамических языках и выходишь за рамки стандартной упрощенной библиотеки, кода становится так же много как в статик языках. Его реально так же много, та же абстракция, те же слои, тот же легаси, та же энтропия кода.

И если в статическом языке, ты все равно еще прибит палками к типам, к классам и видишь куда что и с чем работает, то в динамическом языке ты начинаешь ходить как по минному полю, постоянно дебажа тонну говна и принтя состояния, или строча страницы документации, как это говно все работает и взаимодействует.
103 1758569
>>758537
Ты в >>1751525 (OP) хотел запостить?
104 1758570
>>758528
Есом использовать новое апи, старое не сломает.
105 1758575
>>758569
Нет, это местным любителям петухонов и жопаскриптов.
106 1758579
>>758575
А здесь такие есть? Вроде, местные только джаву и/или котлин любят.
107 1758585
>>758579
Как минимум есть прослойка людей, которые хотят научиться кодить на взрослых языках, но это у них не совсем получается и они срываются на язык.
Приложение на телефоне писать то хочется, а вот учиться не очень.
108 1758825
Не знаю хули тут сложного и что тут учить. Прочитал по диагонали треть котлин ин экшон. Недавно устроился в конторку котлин беком. Сел и сразу начал писать, чувство, буд-то я уже года 2 на нем пишу.
109 1758856
>>758250
Что я должен гуглить? Магию в формальном языке? Или наличие сильного ИИ в лексере жс, который сам решает когда ставить точку запятой?

>Лол, ты даже не в курсе?


Я вкурсе, что ты долбоеб, приписывающий высшим силам все тебе непонятное. У тебя и ЭВМ наеврняка работает на Божьей благодати или усилиями эльфов.
110 1758866
Не надо полагаться на автоматические точки с запятой в JS, это работает настолько криво, что не рекомендуется это юзать и нужно всегда их ставить.
Впрочем, нормальные люди на JS писать никогда не будут.
111 1758871
>>758866
Криво это работать не может по определению формальности. Кривыми могут быть руки.
sage 112 1758874
>>758871

> формальности


А руки могут быть кривыми только у инвалидов, соответственно, программировать они не смогли бы, формалист хуев.
113 1758907
>>758856
Нефига ты дебил?! Ты мог просто заткнутся и все, без этого квази-философского, маневрового высера.
114 1758924
>>758856

>приписывающий высшим силам все тебе непонятное.


Ты в курсе, что когда бородатые дядьки говорят "магия", они подразумевают UB или плавающую ошибку (что тоже по сути UB)?

>что ты долбоеб


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

Ты понимаешь всю глубину своей некомпетентности, доходящую до такого абсурда? Ламер
115 1758931
>>758924

>js


>UB


>компетентность

116 1758937
>>758924

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


Но ведь так обычно говорят про любое неявное или неочевидное поведение, даже если оно детерминировано и описано в документации. Хотя по сути да, настоящая магия - UB.
117 1758950
>>758931
Ого, к нам забежал петухонщик с растотреда, которого в расте научили, что неопределенное поведение это только когда сишечка падает. А то что это понятие широкого круга, ему, в раста-мантрах, не сказали.
118 1758953
>>758937
UB сишки, тоже в стандарте описано, но это не мешает поджигать пуканы. И никто при этом не кричит, о формальности и что это снова плохие программисты.

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

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

Естественно со стороны это смотрится полнейшем бредом и естественно надо требовать, чтобы вам давали качественный продукт.
119 1758956
>>758953
Нет. У UB есть четкое опредление - это поведение, которое в общем случае нельзя предсказать. А в стандарте описываются моменты, в которых может возникнуть такое UB. Работа лексера ЯП не относится к UB.
120 1758965
>>758956
Неопределенное поведение, не является собственностью языка си. Сами UB си это частное в общем понятие. А само понятие распространяется даже до человеческого фактора.

Растаманы взяли и переобули термин под свои нужны, изнасиловав вам мозги, ибо надо было создать антагониста в лице С++ и похер, что у них там у сами херова туча сишных UB получилось, главное выдрессировать попугаев
121 1759003
>>758965

>Неопределенное поведение, не является собственностью языка си. Сами UB си это частное в общем понятие. А само понятие распространяется даже до человеческого фактора.



Вся проблема С в том что он пытается быть системным языком при том что вся системщина там основана на UB начиная с "ну мы все понимаем, что число в указателе - это адрес в оперативке посему можно присваивать указателю целые числа".
122 1759004
>>759003

И без присваивания указателю целых чисел - хуй тебе, а не драйвер, хуй тебе а не ядро ОС.
123 1759006
>>758525
ахаха, так подгорело от моего сообщения да)) залетный зумер, ага))
124 1759016
>>759006
Интересный триггер на зумера. Хотите об этом поговорить?
125 1759021
>>759016
о чем с тобой говорить зумерок)))
image.png22 Кб, 220x161
126 1759070
>>759021
Стоп, зумерок, не шей мне код,
Машинка джавы тут мне джит снова полома,
Всех сеньерных и полублатных
Сегодня вечером работать мы оставим.
129 1759211
Чёт дохуя инфоцыганских ссылок кидают в этот тред. Верный признак того, что через несколько лет с котлином будет та же хуйня, что сейчас с питоном.
130 1759219
>>759211
Ну так питону уже сколько, лет пять учат инфоцыгане? Вкатыши уже подозревают, что работы нет, а тут тебе есть котлин, который свеженький и типа замена джавы! (а каждый вкатун знает, что самые высокие зп у джавистов) Думаю курсы появятся уже в этом году.
131 1759238
>>759219
Даже уже пытаются лезть сюда со своими "сап двач, я никогда не кодил, джаву в глаза не видел, хочу начать с котлина, накидайте ссылок".
В общем, ждём скоро тысячи вопросов про функцию println() и про циклы.
image.png801 Кб, 650x579
132 1759246
>>759211
>>759219
>>759238
Узбагойтесь, это я тащу в тред всякое говно, а другого и нет ру-материал, чтобы заложить тенденцию обмениваться в треде контентом и новостями, а не эмитировать стэковерфлоу.
133 1759447
Даже не зовите меня в ваш язык, если в вашей секте нет такого хорового пения!
https://www.youtube.com/watch?v=LJvEIjRBSDA
134 1759456
>>759447
Меня пугает этот чел, который руками машет. Он реально дирижирует или создает видимость?
136 1759681
>>759664
Ну теперь я спокоен. а вообще ребята круто исполнили.
137 1762075
Зачем это говно когдда есть scala and clojure
138 1762080
>>762075
Зачем это говно, когда есть kotlin.
139 1762088
>>762075
Во-первых, не подходят для разработки под адндроид.
Во-вторых, слишком сложно для вкатышей и явадебилов. Котлин - это же просто синтакс сахар, а скалы/кложури - это отельные языки, хоть и с интеропом.
140 1762215
>>762075
В создание языков, есть два типа людей, те которые видят в своем языке холст для творчества. И те кто хотя сделать инструмент для работы, чтобы практично и меньше мест где можно отстрелить себе яйца.

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

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

Но, в этом абстрактном и философском говне, которое я на тебя высрал, есть определенные факты. Это то, что java и jvm - мощнейшая платформа и что котлин дает возможность писать поверх этого всего, при этом больше не писать на самой джаве кто 10 лет на ней писал, меня поймут.
141 1762229
>>762215
ты дебил бля, scala с clojure интероп джава
142 1762255
>>762215

> хоть как-то получиться в историю попасть


Вставай в многокилометровую очередь изобретателей языков. Впрочем, это больше похоже на огромную толпу тех, где один пытается перекрикнуть всех остальных.
143 1762256
>>762229
Без вазелина?
144 1762449
...мы поговорили с Георгием Бронниковым, членом команды разработки компилятора Kotlin в JetBrains.
https://soundcloud.com/podlodka/podlodka-167-kompilyatory
145 1762523
>>762215

>кто 10 лет на ней писал, меня поймут.


Пишу больше 10 лет и не испытываю такого батхерта сейчас 50% кода у меня Джава, 50% Котлин.
Да Котлин местами поприятней, но не прям радикально. Особенно когда у тебя IDE которая умееет хорошо рефакторить и генерить код.
146 1762629
>>762523
Когда пишешь на одной только джаве, то можно вообще никуда даже не смотреть, а шутить о том, какой кобол уродливый и что он стане никому ненужен. Но когда пощупал другие языки, то джава превращается в тыкву.
А когда пощупал ромбовидное наследование и то как рукожоно это реализовал Гвидо, начинаешь любить даже джаваскрипт
147 1762714
>>762629

>Но когда пощупал другие языки, то джава превращается в тыкву.


Я "щупал" достаточно языков, поэтому прекрасно понимаю что везде свои компромиссы. Где-то многословность - тот же го по многословности перегонит джаву. Где-то перебор с сахаром - типа С# или питона где 100500 способов сделать одно и то же. Где-то мудреные концепции в которые надо постоянно держать в голове - типа раста или эликсира.

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

>многословность


Очень скользкий сейчас термин, изначально имелось ввиду, что для решения той или иной задачи требуется дернуть не мало объектов (например чтобы построчно файл прочитать). То есть, говорилось про объектный бойлерплейт, если ставить рядом с питоном, где стандартная библиотека местами покрытая удобными фасадами для новичков.
Сейчас под термином многословностью некоторые понимают "длинные" имена объектов или классов.

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

C# - по сахару норм, но с решением о кроссплатформенности они опоздали лет на 10-15. Сейчас его синтаксис и сахар кажется устаревшими, даже ts кажется моднее и молодежнее.
149 1762959
>>762523
Иногда спрашиваю джавистов и мне кажется котлин продолжает делать ряд ошибок, с моей точки зрения. У них котлин всегда что-то типа "норм, но не вау", то есть могло быть и лучше. И в этом и беда, котлин не стал завоевывать рынок бэкенда джавистов, как-то вяло и поздно стали пилить ktor, да и вообще могли бы полностью сделать фокус на либ-тулинг, у вас же там крутая DSL есть, простор для творчества. Но нет, понесло на эту мультиплатформу.
150 1763081
>>762959

>как-то вяло и поздно стали пилить ktor


Мы как раз его используем - и самый его большой косяк для нас это отсутствие возможности как-то генерировать API spec.
Вот есть например Swagger - который при желании можно и к существующему API на базе Spring прикрутить и получить нормальное описание API которое можно отдать кому-то. А нам приходится на конфлюенсе API описывать.

>>762943
Речь идет о бойлерплейт в первую очередь. Недостаток удобный утилити методов в стандартной библиотеке компенсируется апачем и гуавой StringUtils - хит всех времен и народов.
151 1763131
ну и хули джава ваша, 2 дня на все про все- синтаксис, модификаторы доступа, наследование, аггрегирование, перегрузка метода, оверрайт

дальше можно смело учить котлин, прекрасный и изумительный язык, который убьет мерзкую жабу
152 1763134
>>762629
да js охуеннее джавы с её полиморфизмом убогим
153 1763140
>>763081

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


Нифига у вас восприятие мира. Берете микро-фреймворк поверх голого http и хотите чтобы он вам еще кофе варил.
154 1763142
>>763131
Потому что у тебя бекграунд, и ты уже что-то понимаешь. Но тут много тех, кто пытается котлин самым первым языком.
155 1763163
>>763134
JS - это язык огрызок, язык имитация, который тормозит даже в переборе DOM дерева. Еще немного и в веб ассембли завезут нормальные визуальные движки и про твой html, кривой css и убогий js забудут навсегда.

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

Котлин (и не только он, но всем насрать) дарит тебе возможность пилить веб на одном языке, в одном большом мульти-проекте, без компиляции жопаскрипта в жопоскрипт.
А если включить немного фантазии, то можно вообще пилить такие CMS системы, с такими возможностями плагино-писания, от которых будут шевелиться волосы на лобке!
156 1763175
>>763142
В ру сегменте вообще мало материала чтобы с нуля. А уча джаву, велик шанс влезть в EE и в сервлеты.
157 1763186
>>763142
В моем понимании бекграунд это знание фреймворков и прочих ухищрений в ЯПах.

То что он перечислил - это как сказать " я могу связно говорить на англе"
158 1763196
>>763175
Не обязательно на русском же. Но многих это оттолкнёт, да.

>>763186
Бекграунд бывает разный, здесь я подразумеваю, когда при изучении нового языка уже не сидишь неделями с книжками, а можешь открыть официальный мануал, почитать чуток и уже через несколько дней писать почти так же, как на предыдущих языках.
159 1763204
>>763196

>Не обязательно на русском же.


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

Если у меня от английского языка не пухла бы голова, я бы на ру борде и не сидел.
160 1763211
>>763204
Многие вайти вкатываются, уже зная инглиш на среднем уровне. Известно ведь, что здесь далеко без него не уехать.
Хотя я сам на момент вката не знал нихуя.
161 1763261
>>763211

>уже зная инглиш на среднем уровне


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

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

ОФФТОП: в свое время на пхп форумах был популярен вопрос, какой движок выбрать для сайта, и очень частый ответ был - лучший движок, это тот который написал сам (самописный). И эти все местные высокомерные бараны лайкали такие ответы, мол, да, верно. Но представляешь как это соотносится к человеку, который только что сел изучать разработку и ищет лучший вариант для изучения, с тем чтобы сесть и написать свою CMS. Это абсурд (и некомпетентность комьюнити). Забавно, что полный перевод пхп либы появился тогда, когда сам пхп стал уже и не нужен (а на тот момент перевод даже был на бразильском диалекте).

Собственно, такой же абсурд, как на ру говорящих форумах, чатах или бордах, отправлять чела читать на английском и у этих людей даже не возникает вопроса, какого хера они тут на родном пиздят.
162 1763266
>>763261
Я тут с вами потому, что не могу написать такой текст на ангельском. Так что, я хотя бы признаю, что изучения языка это реально сложная и отдельная задача и тем более нехер её сувать новичкам.
163 1763281
>>763261
Ну не, не как родной. Сухие технические термины, которые один раз запомнил, и потом почти всё понятно, даже легче газет всяких читается, где все выёбываются знанием кучи книжных слов. Впрочем, от материала зависит, какой-нибудь Страуструп и на родном языке очень тяжело воспринимается.
Выжить как-то можно, но оч тяжко.
164 1763503
>>763140
У нас с восприятием все нормально. Мы понимаем, что если ты пишешь публичное или доступное широкому кругу API у тебя должен быть способ адекватно это API описать.
Сейчас стандарт это OpenAPI (Swagger) и GraphQL. Swagger легко привязывается к любым JAX-RS сервисам будь то Spring или JEE. А вот ktor - хер и альтернатив они не предоставляют. Ебитесь с конфлюенсом или чем хотите.
165 1763699
>>763503
Так напишите, дармоеды.
image.png11 Кб, 97x747
166 1764340
Потискал html и css на котлине (в виде DSL, который kotlinx).
Двоякое чувство осталось. Понятно что это врапперы и просто демонстрация DSL, но вот реального преимущество статической типизации я так и не почувствовал. А любой шаблонизатор типа pug вообще ложит всю эту конструкцию на лопатки.
У меня еще случился момент, когда чересчур умная идея, как-то прилепила не туда фигурную скобку и отформатировала код, и я понял, что случилось это в проекте с 100500 тегами, я бы больше офигел на моменте, где куда и что. похлеще чем когда потерял закрывающийся тег

Что касется css, так сейчас любая IDE поставляет и подсвечивает слова, писать сырой css получается даже быстрее и удобнее.

В общем, мне показалась эта фича как-то притянута за уши.
167 1764537
168 1764672
Android studio лагает как сука (очень слабый ноут)
Подскажите аналогичную и не такую требовательную иде для разработки приложений на андроид (язык, понятное дело, котлин)
169 1764677
>>764672
Идея чуть менее требовательная. Также кто-то советует юзать другой эмулятор.
170 1764741
>>764672
Отключить всякую ненужную херню, типа проверки правописания, всякие анализаторы
171 1764753
>>764741
Как?
image.png14 Кб, 433x307
172 1764780
>>764753
В углу есть шляпочник, там ползунок подвигай.
Но вроде можно более точно как-то по-отключать, в том числе и лишние плагины вырубить.
173 1765095
>>764780
Спасибо
174 1765380
>>764340
Хотя для себя нашел экзотический кейс для этого всего.
image.png80 Кб, 1128x735
175 1765530
Видимо где-то за бугром начали активно дарт продвигать?
176 1765542
>>765530
Фуксия на носу вообще-то.
177 1765548
>>765542
На чьем? То как гугл не умеет делать продукты, точнее то как они загибаются, можно вообще не париться.

Если открыть SO то видно что спрос обусловлен flutter.
178 1765555
Какая-то еботень на подобие промисах
https://github.com/TechEmpower/FrameworkBenchmarks/blob/ead55b0e33274a8e7cbdff39f7911da42eeaff09/frameworks/Dart/start/server.dart#L132

Только это говно спрятали в js под асинк/авейт, эти наоборот достали.
image.png2 Кб, 253x130
179 1765558
>>765555
Наркоманы блин
180 1765563
181 1765575
>>765563
Как там у дарта интероп с джавой? Или ты про то, что котлин транспайлится в жс, на что всем похуй?
182 1765581
>>765575
Как бы и интероп с джавой нахер не нужен. Ну, то есть, гордиться тем что можешь взять тырпрайзные либи, или что язык мог пофиксить костыли джавы, которых нет в других языках - такое себе.

А вот AOT компиляция, это уже интересно. я, конечно, понимаю что VM и число библиотек там в стабильном палеозое, но за то язык с чистого языка, а не прокси
183 1765588
Да и на котлине библиотек не настолько больше написали, чем на дарте.
184 1765589
>>765581
Но ведь котлин как раз и создавался как сахарок для джавы, чтобы все эти тырпрайзные либы было не так больно юзать. И всё. Если котлин показался тебе одним из хипстерских язычков-убийц жс, которые просто в силу хипстерскости должны пытаться запускаться в браузере, то это не так.
185 1765590
>>765588
Добавь к котлину все библиотеки джавы и иди уже отсюда.
186 1765607
>>765589
Я про бэкенд
187 1765610
>>765590
Хорошо, только подскажи какие плагины ставить для гредла и где @JvmStatic писать.
188 1765616
>>765610

> гредла


Мавена. Никакие

> @JvmStatic


Нигде.
189 1765624
>>765616
А че не Ant?
190 1765631
>>765624
Ты думаешь, что твой градл лучше мавена просто потому, что новее и моднее?
image.png15 Кб, 418x253
191 1765642
Тот случай, когда твой язык это не просто баг-фиксы джавы и ты можешь использовать нормальную декларацию листа и мапы.
192 1765644
>>765631
Я считаю что они два куска говна, которые могли бы сделать простую и удобную сборку джавы (и котлин), но оба навернули тырпрайз говна и теперь все копипастят одни и те же конструкции, вместо адекватного:

>huy install Spring

193 1765664
>>765644
Мне лень строчить портянку на твой троллинг тупостью, скажу лишь, что

>>huy install Spring


на скриптоговне в лучшем случае будет

> hui install -r requirements.txt

194 1765710
>>765664
Там намного лучше и это не только для скрипто-говна. Еще петухон вспомнил, там вообще все по своему
В любом случае, они делали эти менеджеры с расчетом на все языки, что вообще глупо. Отсюда столько однотипного копипаст-текста.
image.png3 Кб, 487x58
195 1765729
>>765664
Пук среньк
npm install - будет для сборки с пакета
196 1766259
Котлин говно
Жава говно
Дарт гавно
Гавно гавно

Вам двачерам вообще угодить реально?
image.png470 Кб, 1080x1139
197 1766349
198 1766360
>>766259
Неа)
199 1766361
>>766259
Я бы заинтересовался вашим котлином, но раз все крутится вокруг жаба говна то пожалуй оставлю это бумерам.
200 1766367
Можно считать что котлин провалился? Или наоборот у него сейчас рост и востребованность?

Возможно котлин достиг своего максимума?
15702201230280.png280 Кб, 1373x357
201 1766378
>>766361
Еще один вечный соискатель в петухоне?

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

И не потому что жаба хорошая, а просто нет альтернатив.
С++ и всякие ржавые языки, вообще не пригодны для тяжелой бизнес-логики. Ты с языком будешь бороться больше.
С# - да кому нужен вендор лок??
Го - да кому нужна кривая обертка над си, в которой нет даже стектрейса. Ты представляешь как большое приложение без стектрейса отлаживать? Или как писать гибкое приложение без дженериков? Блин, да там даже нельзя бесплатно получить букву в слове надо конвертить в руны, если ты не счастливый обладатель англ. языка

Нету больше кручи и мощнее чем джава, нет более удобнее и современная вариация чем котлин.
202 1766382
>>766378
Ах да, дарт.
Это не язык с библиотекой флаттер. Это язык для библиотеки флаттер и больше ничего.
Завтра окажется что флаттер годнота и появитсья 100500 конвертеров в эту либу, минуя твой дарт.

Ебнешья еще к либе отдельный язык учить.
203 1766385
>>766378
На пыхе есть symfony и zend/laminas, они серьезные и жабаподобные. А вот на питоне и жс как будто вообще нет ничего железобетонного энтерпрайзного, сплошная какая-то хуйня для заказного аутсорс клепания сайтов, или более узконаправленные легковесные микрофреймворки в которых только роутинг да обертка над реквестом и респонсом
204 1766388
>>766382
Но ведь дарт нереальная примитивщина, проще Си.
205 1766396
>>766388
Дарт, точнее его уже новая эволюция 2.0, это попытка сесть сразу на два стула - javascript и java. Сомнительная затея, получился такой недо-шарп от гугла.

Ты, наверное, перепутал с го?
206 1766408
>>766385
Да, так и есть.
В реале, пхп в свое время дорос до таких размеров, что там стали писать сложную тырпразную херню. На это все и появились такие монстры как symfony и zend итд.

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

Просто спорящие все время говорят о разном, кто-то говорит о уровне когда правда проще прям в контроле влезть в базу и скинуть данные во вьюху (привет джангошлёпы!). А у кого уже такой проект, когда необходимо разделить на сервисы и DAO.
207 1766411
>>766408
НО веб это всегда многолетний и растущий проект. Начнешь базу в контроллере дергать, через год охуеешь от вони говна.

Поэтому да, есть индустрия студий, где важно быстрее хуяк-хуяк и продашкн.
208 1766433
>>766367
Котлин уже вовсю используется на андроиде. Медленно пробирается в бек, но ощущение, что он так и останется в нём где-то на уровне скалы.
209 1766462
https://hyperskill.org/knowledge-map/209?v=table

Хуле тут так мало

https://hyperskill.org/knowledge-map/73

Хуле тут так много
210 1766472
>>766462

> Kotlinᵝ


> ᵝ


А чего ты хотел? Да и к тому же оно включает джаву.
212 1767773
Только сейчас прочитал про Scalа 3.0. Я так понял, успех котлина заставил скалу повторить вираж пайтона? Походу парни расшибут скалу об скалу.
213 1767776
>>767773
Лол, еще туда питоновские отступы завезли.
214 1767790
Хз что за чел, но вроде про котлин и вроде не банальщина с синтаксисом. Может какому-то джуну будет интересным
https://www.youtube.com/channel/UCA7ymlAF32Up8VKeDVv9uQw/videos
216 1770305
Я к мобильной разработке отношения не имею, поэтому объясните мне как дэбилу: нахуй нужон этот ваш котлин, если есть дарт?
sage 217 1770306
>>770305
Да ты заебал!
218 1770320
>>770306
Да как я тебя заебать-то успел? Я впервые в этом треде запостил!
219 1770321
>>770305
Котлин нужен чтобы не писать на дарте.
220 1770409
>>770305
Ну вот, флаттер опять так лаганул, что тебя сюда вместо андрюшников закинуло.
Как напишешь нормальную VM или хотя бы вытесняющий планировщик, тогда поговорим.
221 1770585
>>767158
Сейчас бы дебажить спринг. Вот он момент, когда фреймврорк послал тебя нахуй, а ты даже не можешь сорцы открыть и прочитать что там происходит потому что сорцы такого абстрактного говна как спринг не читаемы вообще.

И мне постоянно говорят, нафиг тебе исходники фреймворков читать. А вот чтобы понять что я буду делать в такой ситуации.
222 1770599
>>768533
Хз, написано что вечно хостят, кину в шапку.
https://ibb.co/yRSzLsS
https://ibb.co/dB2m4nN
https://ibb.co/McTbJk0
223 1770866
>>770585
так и в чем проблема тогда?=(
225 1777708
>>739262 (OP)

> kotlin


Васянская обёртка над языком.
226 1777737
Котлин заебись, но нахуй он нужен без кроссплатформы?

Дарт говно, но позволяет сразу пилить под ios+android.

То есть котлин это такой выбор для тех, кто создательно хочет работать на кого-то, вместо запуска своих проектов.
227 1777748
>>777737
Котлин хорош тем, что это не только язычок для мобилок, но и вполне себе для бекенда. Даже на нашем древнем проекте на Java EE 6 уже есть немного котлина.
228 1777919
>>777737
Там для тебя, одарённого, специально пилять нейтив, чтобы ты на всякие ненужные мобильные оси писал.
229 1778045
>>777919
Да, андроид нахуй не нужен, платящей аудитории там ноль, но это самая массовая платформа, так что если под неё не запилить то на проекте не будет людей вообще
230 1778069
>>778045

> платящей аудитории там ноль


Так тебе стартап открывать или всё-таки кодить?
231 1778109
>>778069
Школьник бунтует перед концом каникул.
232 1778115
>>778109
Охуеть проекции.
233 1778632
основной десктоп проект достиг пика и появилась возможность перекатиться в андроид разраба, предложили самостоятельно обучиться, но через 3 недели после трансфера на новый проект, они поняли, что легче найти готового mobile дева(а может уже нашли) за те же деньги чем платить мне 2к$ в месяц за вкатывание в мобильную разработку, поэтому попросили покинуть стартап

успел прочитать это - `Head First Kotlin 2020 Griffits Devid, Griffits Don`
и пощупать пару курсов на юдеми - поковырял котлин с джавой. кстати, какое же гавно эти виджеты и лэйауты андроид студии, ощущаешь себя дауном, перетаскивая компоненты мышкой и натягивая стрелочки для позиционирования виджетов, фотошоп какой то, я бы долго не выдержал такой хуйни

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

всем удачи в освоении Котлина, замечательный язык, может еще удастся на нем пописать в будущем
234 1778651
>>778632

>основной десктоп проект достиг пика и появилась возможность перекатиться в андроид разраба, предложили самостоятельно обучиться, но через 3 недели после трансфера на новый проект, они поняли, что легче найти готового mobile дева(а может уже нашли) за те же деньги чем платить мне 2к$ в месяц за вкатывание в мобильную разработку, поэтому попросили покинуть стартап


Вот это я понимаю, социально-ответственное поведение.
Хоть выходное пособие дали? Или попросили по собственному, а ты и проглотил?
235 1778660
>>778651
оплатили время потраченное на учебу- 2 недели в полном размере, а оставшиеся до конца месяца часы будут оплачивать на 50%, но мне один хуй делать нечего, я чисто формально в конторе, типа отрабатываю последние 2 недели, все таски закрыты уже давно

>а ты и проглотил


а ты бы истерику устроил? там это никого не ебет, работаю по контракту на американский стартап- решили расторгнуть и расторгли. следующее место конечно буду искать с официальным трудоустройством, после такого то удара в псину
236 1778824
Sealed классы медленнее енамов? А если реализации sealed abstract класса - объекты?
237 1778967
Прочел что в 1.3 добавили контракты.
Имеется несколько подтипов sealed класса с разными типами данных внутри. Можно ли как-то с контрактами реализовать такую функцию чтобы внутри массива таких объектов происходил первого, который имеет конкретный подтип, причем чтобы функция возвращала уже скастованный объект?
val somevar = array.first { it is SomeSealedChildClass }
somevar имеет тип SomeSealedChildClass
238 1778968
как пилить UI для андроида?
239 1778969
>>778967

> происходил первого


происходил поиск первого.
Фикс
240 1778973
>>778968
с котлином
241 1778978
>>778968
Надо установить Android Studio (это такая бесплатная IDE для разработки под операционную систему Android). Запустить, создать проект, и там будет редактор форм, просто перетаскивай мышкой виджеты на форму, пиши обработчики, и всё.
Но судя по твоему вопросу, лучше для начала взять какую-нибудь книжку по основам Java страниц так на 1000 и прочитать её.
242 1778979
>>778978
базу по джаве я знаю.
Графику в фотошопе пилить?
243 1778990
>>778979
Для каких-нибудь сложных элементов интерфейса, вроде кастомных кнопок, действительно придётся откуда-то брать иконки, хоть самому рисовать в графическом редакторе. Но для самых основ этого не нужно.
244 1778993
>>778990
основы понятно,но это будет неюзабельное и не красивое гавно
image.png41 Кб, 834x387
245 1779770
помогите написать корутиновский await() для DeferredResult из спринга, пожалуйста

где я обосрался?
246 1779851
>>779770
я не гений, но попробуй сделать <T?> вместо <T>
247 1779857
>>779770
Разве корутины не зарелизили, что за эксперементал??
248 1779859
>>779851
по-разному пробовал, эта штука в тестах зависает намертво просто(
>>779857
у нас на проекте старая версия пока что
249 1779863
Как идеоматичнее и синтаксически чище сделать такое: распаковать и вернуть значение проперти, если оно не null, если null то вычислить и присвоить значение, после чего вернуть его.

https://pastebin.com/z1QrYKML
250 1779869
>>779863
someProp?:computeVariable()
251 1779875
>>779770
блет, походу баг в спринге. onCompletion не вызывается просто
252 1779877
>>779869
Надо еще присвоить значение пропсу. Короче когда проперти аля кеш.
253 1779883
>>779859
Что ошибка говорит? Явно же в типах объебался же?
254 1779891
>>779863
someProp = someProp ?: computeVariable()
255 1779894
>>779891
А вообще там есть ленивые вычисления для этого
256 1779903
>>779883
нет ошибок, просто зависание. Убрал эту функцию, написал лог в onCompletion и поставил туда брейкпоинт. В итоге результат считается нормально, но в брейкпоинт не заходит, т.е. этот метод не вызывается. Похоже на что-то такое https://stackoverflow.com/questions/39909996/spring-deferredresult-oncompletion-not-called-from-test-cases

на то что у меня на скриншоте красным подсвечено - не смотрите, я там в процессе отладки скрин делал.
258 1779916
>>779903
Хз, не спрингую.
На практике, если платят хорошо, то нужно сорцы фреймворка изучить. Но по опыту, лучше мега фреймворки не брать.

Потому как микрофреймворки не мешают, а мегафреймворки не дотягивают до плагинный возможностей какой-нибудь CMS, где можно сотню плагинов повесить и будет работать как часы.
259 1779972
>>779863
>>779877

return someProp ?: computeVariable().also { someProp = it }
260 1780011
>>779909
У меня не открывается, похоже в РБ заблочили, лол

>>779972
Чаю, именно то что хотел, понятный и лаконичный однострочник. А то я уже !! нахуярил, получилось все равно много кода для такого действия.
261 1780042
>>779972
Если уж запихнул все в строку, то можно добить до упрощенного варианта, без ретёрна.

fun foo() = someProp ?: computeVariable().also { someProp = it }

Но такое себе изящество, на самом деле.
Из ООП головного мозга, плавно перенеслись в ФП головного мозга.
263 1780116
>>780075
О, неожиданно, стали пилить на нескольких языках.
https://blog.jetbrains.com/ru/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance/
264 1780118
>>780075
>>780116
Не понял задумку с
Function references in Unit-returning functions
Как-то, это ломает систему типов, нет? В этом есть какой-то кейс?
265 1780940
А override fun times() для файлов или путей используется в котлине?
266 1781040
>>780940
Где её нашел, там и используется
267 1781043
>>780940
Но ты, наверное, с оператором перепутал?
268 1781174
269 1781190
>>781174
Хочешь перегрузи его (если нету) для файлов или путей, через э. функции. Только я хз какой контекст? Нужна фантазия художника как минимум, чтобы символ умножения использовать в таком контексте.
270 1781193
>>781190
У каждого котлиниста всегда под боком лежит пакет с экстеншенами. У меня там вообще солянка, но операторы еще ни разу не перезагружал.
272 1781733
>>781190
Чет тупанул, я имел в виду div()
Чтобы вот так вот делать:
File("/usr") / "bin"
273 1781864
>>781733
Так не получилось, получилось
file() / "usr" / "bin"

Хуита, не буду дальше копаться.
274 1782171
>>781864
Какая тут логика вообще? Ты создаешь объект File, а потом хочешь добавить еще путь и создать новый, а потом еще?
Ты наркоман?

Вот, наверное, что ты хотел.
https://pl.kotl.in/aUatd7e8T
275 1782172
>>782171
Да, это ближе к изначальной задумке. Но смысла 0.
Я хотел какую-нибудь ебанутую(крутую) штуку с перегрузкой операторов сделать, как в скале.
image.png63 Кб, 853x691
276 1782186
>>782172
Ты можешь перегрузить и для File и каждый раз создавать новый File, беря из него старый путь (но это наркомания, но если хочется)
image.png4 Кб, 499x63
277 1782351
че это за залупа? тысячный раз такое...
278 1782391
Выучил котлин и базу данных, какой фреймворк нужен чтобы вкотиться бэкэндером?
279 1782397
>>782391
напиши обезличено о себе и своем стеке небольшой текст, как написал бы в резюме, и скажу какие у тебя шансы вкатиться на данный момент.
280 1782400
>>782397
У меня нет стека я вкатун
281 1782426
>>782351
Тоже сегодня видел на тест сборке. Вероятно наговнили в релизе, думаю поправят.
282 1782428
>>782391
Как вы достали уже.
Тебе себе или работу найти? Если работу найти, смотри что требуют. Напиши парсер который собирает все данные с хаха.ру и сделай рейтинг востребованного стека.
Вот тебе первое задание.

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

Какой ты у нас сегодня?
283 1782448
>>782428
Никто его не возьмет на работу с какими-то парсерами и прочими крудами на спринге. Раньше нужно было думать и идти на джаву. А уже после 5-7 лет на джаве, можно было сладко перекатиться на котлин.
284 1782469
>>782448
Да кому твоя жаба то нужна.
По честноку, если бы не андроид, то сейчас вспоминали на уровне кобола.
Если видишь резюме джавы без котлина, значит придется работать с динозаврами и с жутким легаси.
285 1782518
>>782469

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


Пиздежь кста. Пока котлин не оформится как полноценный язык с собственной инфраструктурой а не как плагин для мавена, тырпрайз на него не перейдет.
286 1782567
>>782518

>не оформится как полноценный язык с собственной инфраструктурой


Зачем? Ну, круто там всякие SQL писать на DSL, но надо понимать что такое котлин и что ему особо не нужно заново изобретать то, что всех и так устраивает.

А вот на нейтив, я думаю, будут врапперы писать и может даже что-то интересное увидим. Но бэкенд на нейтиве писать не будут.
287 1782578
>>782567
Спойлер ты скипнул, да?
288 1782583
>>782578
Какой?
289 1782641
>>782448

> крудами на спринге


Зато в джаву и правда берут.

>>782469
Шарпист, уходи.
290 1782653
>>782448

>5-7 лет на джаве, можно было сладко перекатиться на котлин


Толстота то какая. Перекатился на котлин, где-то за выходные.
Сейчас тонна материала на английском по котлину, на ютубе конвеером просто контент снимают. Если человек усердный и хорошо плавает в ангельском, то смело вкатится в котлин без жабы.
Статика вообще позволяет изучать материал по докам на API
291 1782707
>>782653
Куда ты там перекатился, болезный? Работу-то нашел? Не на андроиде, разумеется, а на настоящем бекенде? Нет? Вот и то-то же!
292 1783209
ktor это как лего,собирать все самому?
293 1783220
>>783209
Да, но хипсторки почему-то считают микрофреймворки преимуществом, а не недостатком. Проект разрастается, эволюционирует, и получается изобретённый заново кривой и нестабильный клон спринга. У питонщиков тоже так - не хочу жирный монолит джангу, хочу боттле и фласк, чтобы потом устанавливать 20 плагинов для них и ебаться о связыванием этого всего вместе.
Ещё и реклама всех этих микрофреймворков - смотрите, у нас роуты компактнее. Будто роуты пишутся не 1% времени написания проекта, а 50.
294 1783409
>>782653

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


Из вакансий на чистом Котлине - только Андроид. В остальных вакансиях подразумевается знание Java и JVM.
295 1783410
>>782448
У меня первая работа в жизни была - Котлин + джава бекенд
Взяли Джуном, по котлину только пару хелло вордов писал до этого
296 1783426
Язык назван в честь города Котлин, в котором я живу, но я буду программировать на питоне м джс
297 1783449
>>782707
Это не я перекатился, это котлин к нам перекатился.

Сначала осторожно, а теперь уверенно на котлине пишем.
Конечно, никто жабу не трогал и переписывать не собирался.

Если ваши динозавры бояться нового, то предложи хотя бы тесты пописать.
298 1783450
>>783209
Да, иногда проще свое говно с 5% функционала накатить, чем сидеть в доках и потом в сорцах очередной йоба-магии спринга.
299 1783453
>>783426

>в честь города


Тогда бы его ласково называли Кронштадт.
Нет, котлин назвали в честь острова. Удачное название, попробуй что-то нагуглить по dart или go (без golang).
300 1783455
>>783453
Или rust.
cs43328529orig.jpeg28 Кб, 407x405
301 1783460
>>783455
Или CSS.
302 1783477
>>783453
Бля, я обосрался. Котлин - остров, а крон - город на острове. Энивей ты меня понял
303 1784732
>>739262 (OP)
Андроид тред дохлый, поэтому спрашиваю тут.

Есть задача - отслеживать все нотификации в бекграунде. Есть NotificationListenerService. На чем его запускать? Стандартный Service или же WorkManager? Также какие есть решения для длительных бекграунд процессов? Может что-то из корутин или RX?
FirebaseJobDispatcher, GcmNetworkManager, Job Scheduler уже рекомендуют заменять на WorkManager.
304 1784868
>>784732
Хз че там у вас, но логика простая, отвечу в стиле мейл-ру.

Есть событие? Вешай на событие.
Есть йоба сервис которые дергает сервисы - вешай на него.
Есть аналог крона? Вешай сервис на крон.
Есть поток? Крути сервис в отдельном поток.
Все крутится в корутинах? Крути в корутине.
Rx - выкинь каку, люди от скуки всякую хуйню придумывают.
305 1785023
Котлин по хайперскиллз учил кто?
306 1785024
>>785023
я учил джаву, потом перекатился на котлин самостоятельно
307 1785616
Почему метод verify в mokK так хуево задизайнен?
Просто посмотрите на его сигнатуру и класс Ordering
Это же пиздец
308 1785999
>>785616

>Просто посмотрите на его сигнатуру


Но ты нам ничего не принес, да? Ленивая ты, возмущающаяся жопа. Сейчас мы будем за тебя в каких говнолибах лазить.
image.png76 Кб, 1234x589
309 1786062
Я требую до 42!
310 1786063
>>785999

> говнолибах


Посоветуйте тогда либу для моков в юнит тестах. Сам что используешь?
Классик Mockito не позволяет корутины мокать нормально
image.png79 Кб, 988x673
311 1786115
Нужен кодревью. Насколько этот код легко читается? Или это звездец и лучше переписать?

Я знаю, что публиковать приватные методы, это плохо и все такое. Но мне нужно для тестов чтобы API не ломать, как того навязывают юнит тесты. И да, я знаю что и для тестов этого делать не нужно, но опять же, юнит тесты навязывают дробление, а у меня красивое API, так что правило идет лесом
312 1786116
>>786063
Хз, мы от мокания отказались, у нас интеграционные тесты, а в юнит тестах тестим только чистые функции

Посмотри тут, если тебе там что-то не понравилось.
https://kotlin.link/
313 1786129
>>786115
Адовый код, переделывай
314 1786133
>>786129
хз как, с флагами тоже адок будет.
Только на функции разбивать.
315 1786148
>>786133
Нихуя себе ты гений.
Оказывается сложную функцию нужно декомпозировать, создавая небольшие функции, ахуеть просто!

Подсказка: Пиздуй создавать экстеншен для Method который проверяет соответствие аргументов
316 1786150
>>786148
Для KFunction то есть блять
317 1786164
>>786148

>Оказывается сложную функцию нужно декомпозировать


Хуя ты разбежался. Как ты собрался декомпозировать инлайн функции?

>Пиздуй создавать экстеншен для Method который проверяет соответствие аргументов


Лол, мастер дизайна АПИ
val user = User()
User::calc.callPrivateFunc(user, 1, 3)
Вместо
user.callPrivateFunc("calc", 1, 3)

Ни чего что задача может требовать объявление функции динамически?? Если трогаешь рефлексию, будь добр чтобы это была рефлексия, а не говнокаша из статики и динамики.
318 1786169
>>786164
Я кстати не уверен что компилятор даст получить ссылку на приватный метод.
Так что просто иди нахуй.
319 1786175
Необходимость вызывать приватные методы это уже проблема дизайна

Если тебе надо их тестить, то делай их публичными, и не выебывайся
320 1786177
321 1786182
>>786175
Тестирование не должно навязывать дизайн кода и API.
322 1786196
>>786182
Всё просто

Если твой код сложно тестировать, значит твой код говно
323 1786209
>>786196
Хуйня вбитая в неокрепшую голову.
Если по дизайну это должно быть скрыто, то некуй это публиковать или куда страшнее разносить по 100500 мелким классов.

Ты писал свой класс, ты имеешь право знать его приватное состояние, насколько оно соответствует твоим ожиданием на публичного взаимодействие API. Надо быть отбитым дебилом, чтобы не получит такое преимущество над своим кодом.
Тесты не должны ничего навязывать, тесты не должны менять дизайн программы. Это, блядь, тесты.
324 1786211
>>786209
Ну а нахуй ты тестишь приватный блядь метод?

Просто блядь тестируй сам класс в котором он находится
image.png7 Кб, 231x107
325 1786220
Ппц сейчас гоферы слюной изойдутся.
чтобы в го что-то принтануть, там надо воззвать к целому пакету и не забыть его убрать, а то не скомпилиться
image.png6 Кб, 403x65
326 1786221
АААААААААААААААА ЧТО ЖЕ ТЫ ИРОД ДЕЛАЕШЬ!!!
327 1786230
>>786211
Как всегда есть публичные API, которое упрощенно и внутренние промежуточные алгоритмы (методы).

Алгоритмы эти, это чистые функции. Нет ничего подходящего, как тестировать чистые функции в юнит тестах.
Почему я должен себе в этом отказывать? Я не хочу в публичных функциях обертках дублировать тесты, потому что они очень обобщают.
328 1788427
>>786221
Ого. Надеюсь этот язык станет популярным. Прикольный сахар синтаксический.
329 1789439
>>788427
Вот из-за таких как ты, язык медленно восторг в рабочие места на бэкенде конвертирует.
330 1789620
>>789439

> восторг в рабочие места на бэкенде конвертирует.


Лол, кажется, я понял, почему борщехлёбы - борщехлёбы.
331 1789661
>>786221
Так и до сахарного диабета недалеко.
332 1790331
>>786116
Интеграционные тесты это как?
333 1790393
>>790331
Когда пишешь тесты не для одного класса/модуля, где мокаешь все внешние вызовы, а поднимаешь сразу целый контекст из множества классов, будто это обычное приложение, и тестируешь, как они работают вместе, а не поодиночке.

мимо
334 1791132
>>789661
Разбавляй его с perl, чтоб не слиплось.
335 1791137
>>791132
В перле его на самом деле намного больше, код на нём нечитаемый именно из-за множества таких вот фишечек. Если и разбавлять, то сишкой.
336 1791153
>>790331
Когда тестируют целиком, на тестовой машине, тестовом БД и прочем.
1570921295708.jpg57 Кб, 1024x878
337 1791207
Возможно ли теоритически перевести на Котлин весь стэк т.е. набрать команду одних котлинистов и чтобы они сели писать бэкэнды с крудами точёными, фронтэнды с гуями дрочёными и мобильные версии?
Android/Kotlin/wasm на фронте
Linux - Kotlin - Spring - Postgres в тылу
338 1791262
>>791207
Для этого его и точят.
Проблема в том что во всем этом ты будешь первопроходцем. То есть, наверняка уже есть какие-то обертки там на реакты, хуякты. Но тогда нахуя оно надо? Это как надевать сразу два гандона. Понятно, что круче будет, когда кто-то за нас напишет свои ui-hui фрейворки, без потребности нюхать js, хоть в js это будет собираться под капотом.

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

Осталось только эту плагинную систему написать, ну ты понял.
339 1791529
надо надрочить жс по работе, сука у меня кровь из глаз от него идет, это пиздец, я конечно знал что там жопа, но там вообще жопа
340 1791530
>>791529
держи в курсе блядь
341 1791664
>>791529
Ооо братюнь, поверь, ты скорее всего, еще не докопал до дня этого языка.
342 1791665
>>791529
>>791664
Надо сказать что DOM API там тоже одним местом дизайнили.
Надеюсь уже скоро вебассемебли завезут ГЦ и наконец-то выкинут html, dom, css на свалку истории.
343 1791970
>>786220
Эта хуета просто не может быстро работать. Как и все остальное в котлине.
344 1792051
>>791970
Ты дурачок? Это просто статический метод.
345 1792062
>>791970
Нас посетил питон-батя.
Теперь все конструкции котлина резолвятся только в рантайме.
346 1792063
>>792062

>Нас посетил питон-батя.


Теперь для инициализации каждого цикла в памяти выделяется массив.
347 1792076
>>792062
Теперь GIL работает и для корутин.
348 1793107
Сап котланы. Решил вкатиться в котлин. Джаву знаю. С чего начать? Есть годные курсы, книги?
349 1793316
>>739262 (OP)
допустим у меня есть сырцы одного приложния мне нужно чтобы приложения автомато запускало файл который я добовлю в исходники как это мне сделать
350 1793333
>>793107
Официальный сайт?

Шапка треда?

>Котлин в примерах


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

Любая книга.
image.png628 Кб, 800x592
352 1793336
Котаны, контент покушать принес
https://www.youtube.com/watch?v=iASKk2eqRoE&t=3s
353 1793494
>>793316
>>793334
забыл уточнить приложение на андройде
354 1793833
>>792051

> статический метод


> this


Уровень образованности в треде макакеров оставляет желать лучшего, мда уж.
355 1793963
>>793833
Нихуя ты обосрался, довен.
356 1794003
>>793833
лол, самоуверенный ламер.
357 1794652
>>793107
нахуй целенаправленно учит ЯЗЫК? просто блять берешь и начинаешь писать, в чем проблема? ты не можешь загуглить как реализовать конструкцию в новом языке или что? в чем ваша проблема блять книжники ебучие?
358 1794866
>>794652
Сомнительно удовольствие методом тыка языки изучать.
Это ты, линивая жопа, можешь методом тыка разобраться как твой телефон работает, но никак не писать ЯП разбивая лоб и уставая от того, что тупо не понимаешь почему происходит именно так, а не так.
359 1794870
>>794652
И да, в отличие от петухона, на стековерфлоу может не быть 100500 вопросов в стиле, как "напечатать текст" или "как обойти массив".
Инфоцыгани еще до языка не добрались и следовательно ваннаби-программисты тоже.
360 1795052
>>794866
глупость
>>794870
во-первых, есть, а во-вторых, в чем проблема спросить?
361 1795172
>>795052
В том что быстрее прочитать доку, чем задавать вопрос и ждать ответа.
362 1795438
>>795172
так и че ты не прочитаешь тогда?
image.png748 Кб, 1017x491
363 1795664
>>795438
Что??
364 1796202
>>795664

> прочитать доку


что не прочитаешь тогда?
365 1796280
>>796202
Прочитал давно уже
366 1798157
>>739262 (OP)
Говнище полное.
Если пишешь на котлине реализацию джавового интерфейса, ты не можешь использовать нормальные джава-коллекции, только т.н. "mapped types". То есть если есть метод, в котором аргумент имеет тип java.util.Map, в котлине надо использовать MutableMap, а не
java.util.Map.
В итоге ты в принципе не можешь написать код без использования stdlib, пиздец нахуй.
Каким надо быть долбоёбом чтобы сделать такое уебанство?
367 1798269
>>798157
К чему претензия? Ты и в джаве не сможешь написать код без использования стдлибы. Где угодно ты не сможешь написать нормальный код без стдлибы. Ну и MutableMap в котлине это интерфейс, реализация которого это коллекция из джавы.
368 1798273
>>798269
В джаве я могу реализовать джавовый интерфейс используя джавовую стдлибу. В котлине я этого сделать не могу, потому что мне нужна еще и котлиновая стдлиба, хотя в интерфейсах которые я имплеменчу котлиновые типы никак не фигурируют.
369 1798389
>>798157
во-первых, ты можешь использовать kotlin.collections.MutableMap, чем тебе он не нравится?
а во-вторых, что тебе мешает написать интерфейс на джаве и спокойно использовать его в котлине?
370 1798410
>>798389

> ты можешь использовать kotlin.collections.MutableMap


Он тянет зависимость от kotlin-stdlib, которая мне не нужна и вообще в проекте никак не используется.

> что тебе мешает написать интерфейс на джаве и спокойно использовать его в котлине?


Перечитай ещё раз. Я и пытаюсь в котлине написать реализацию интерфейса, определенного в джаве.
371 1798515
>>798410

> Он тянет зависимость от kotlin-stdlib, которая мне не нужна и вообще в проекте никак не используется.


Зачем использовать язык без стдлибы? Пиши на джаве, зачем тебе котлин тогда вообще?
372 1798602
>>798515

> Зачем использовать язык без стдлибы?


Вопрос был не "зачем", а "как"

> Пиши на джаве, зачем тебе котлин тогда вообще?


Эту фразу стоило написать прям на сайте котлина, чтобы люди не тратили время на это УГ
image.png66 Кб, 848x506
373 1798771
>>798157
смоделировал эту ситуацию. действительно тупая хуйня, но ты долбоеб.

>Вопрос был не "зачем", а "как"


ты такой тупой чел, с такими пуками можно вообще что угодно говорить. пиши на питончике без стдлибы питончика, там же это наверняка можно, или нет? блять, точно. это же на любом языке невозможно, но ты, дебил, решил до этого доебаться=)
374 1798801
>>798771
То есть в котлине

> тупая хуйня


но долбоеб при этом я. Нехило у тебя бомбануло видать, раз ты на личности перешел. Не стоит так привязываться к технологии, парень.
375 1798831
>>798801
ты после слова долбоеб читать перестал? ладно извини бро не хотел задеть. двач меняет людей....
так что? как там на джаве пишется без джава стдлибы? может другой язык найдешь, в котором это возможно?
376 1798882
>>798157
>>798771
Это поведение вообще где-нибудь описано в доках? Выглядит настолько неестественно, будто это баг в котлине.
image.png124 Кб, 1627x1245
377 1798918
378 1798921
>>798882
https://discuss.kotlinlang.org/t/a-hashmap-is-not-a-map/504/4
согласен, что выглядит всрато, только твой доеб еще более всратый. ты доебался не до странного поведения, а до невозможности написания кода без стдлибы, две разные вещи.
бтв я уверен что в жб не глупые люди сидят и с этого есть какие-то профиты. и в целом мне похуй на эту всратость, если бы мне нужно было реализовать джава-интерфейс, я бы использовал джаву.
379 1798927
>>798918
Спасибо. Нашёл ещё https://kotlinlang.org/docs/reference/java-interop.html#mapped-types , оказывается, java.util.Map в джаве - не то же самое, что java.util.Map в котлине. Буду внимательнее читать доку.

>>798921

> https://discuss.kotlinlang.org/t/a-hashmap-is-not-a-map/504/4


Спасибо.

Я не я, я просто мимо проходил.
380 1798992
>>798921

> в жб не глупые люди сидят


То-то идея так тормозит и глючит ни дня без рестарта
381 1798997
>>798992
Потому что написана на джаве вместо C++ или хотя бы шарпа.
382 1799053
>>798997

>вместо C++ или хотя бы шарпа


кроссплатформу придумали для дураков, я так понимаю
383 1799064
>>799053
Что ж, когда появилась IDEA, шарп кроссплатформенным не был да и сейчас там хуита, а не кроссплатформенность. Но уж на крестах-то можно было что-то придумать.
384 1799192
>>799064
Нет. Вон даже MS плюнули на свой Visual Studio и двигают Visual Code. Ибо кроссплатформенность. :-)
sage 385 1799205
>>799192

> плюнули


Толсто.
sage 386 1799407
>>799192
Очень толсто.
387 1799919
>>798882
В котлине все через жопу, пора бы это уже понять
388 1799980
>>799192
Очень толсто плюнули.
389 1799983
>>799919
Хочу через пизду, пора бы это уже понять
390 1801129
>>799919
Если бомбит, то это хорошо
image.png21 Кб, 512x512
391 1804396
почему тред лучшего в мире языка программирования так непопулярен
392 1804410
>>804396
Лучшего ли.
393 1804411
>>804396
Потому, что ДжетБрейнс говно
394 1804424
>>804410
да. я его очень люблю.

>>804411
причем тут разрабочик? ни слова про хуевость языка, но разработчик говно. чел ты?....
395 1804445
>>804396
Тред джава господ популярен, о чем ты.
396 1805067
>>804424
JB всю свою историю клепала IDE, в которых конечно есть своя сложность, но фактически это просто текстовый редактор + несколько матановых алгоритмов, чтобы гуй не так тормозил на IDE-специфичном функционале все равно тормозит.
А вот опыта разработки языков программирования у JB нет, как и специалистов по PLT или теории типов. Были пацаны из Nemerle, которые пилили какую-то меташтуку, но Котлин проектировали не они.
В итоге получилось то, что получилось - кривоватый сахар поверх жавы, в котором
val m: java.util.Map<String, Any> = java.util.HashMap<String, Any>()
не компилится.
Будем честны - если бы не форс со стороны гугла, эта поделка нахер бы никому не вперлась.
397 1805161
>>804396
Потому что слой популистов-пиздунов еще не докатился до него. Точнее докатился, но в мобильном сегменте.
Просто матерые прогеры не пиздят о языках особо, не пишет в клиторре, они просто кодят.
398 1805287
>>798918
И как из этого следует что
val m: java.util.Map<String, Any> = java.util.HashMap<String, Any>()
не должно компилиться?
Там же иерархия Map -> MutableMap -> HashMap
399 1805453
1
400 1805818
>>805067
Твоя проблема в том, что ты пытаешься бороться с языком, используя его на юз-кейзах, для которых он не предназначен, вместо того чтобы наслаждаться им, используя там, для чего он был задуман. В результате страдаешь сам, и исходишь на говно в этом ИТТ треде совершенно необоснованно, что не будет встречено пониманием среди местных ценителей.

В частности:
- ты пытаешься использовать тип java.util.Map. В котлине не нужно использовать этот тип. Он специально сделан неполноценным, чтобы настучать по пальцам таким долбоебам как ты. Вместо этого нужно использовать тип kotlin.collections.Map или MutableMap, который существует только в компайл-тайме, а на ран-тайме представлен старым добрым java.util.Map.
- ты пытаешься использовать язык без зависимости на стандартную библиотеку. Это обречено на фейл. Даже если ты чудом обойдешь стороной типы и функции оттуда, что уже сделает твой экспириенс работы с котлином весьма неприятным, компилятор все равно вставит обращения к этой библиотеке для компиляции языковых конструкций: корутины, рейнджи, callable references, да даже банальные автоматические проверки аргументов на налл в начале публичных методов и те требуют вызова интринсик-функции из рантайма.

Тебе необходимо принять, что для работы с котлином нужна стандартная библиотека, и дальше уже дейстовавать ситуации.
Но для этого нужно понять, что у тебя за ситуация? Почему ты всеми правдами и неправдами пытаешься избавиться от этой зависимости?
401 1805907
>>805067
Не просто абстрактную IDE, а в частности intellij idea - охуенно проработанную IDE для джавы, которую они улучшают своим языком
Ящетаю тут все закономерно, и нельзя сказать, что у jb нет компетенций для создания такого яп
И получилась у них конфетка по большому счету
>>805818
Двачую
402 1806077
>>805287
выше пролистай. это действительно не компилируется.
403 1806079
>>805907

>Не просто абстрактную IDE, а в частности intellij idea


и не только идея, а еще куча ахуенных айдиишек, которые предоставляют фишки конкретно под язык. пытался недавно перейти на емакс для разработки на питончике, т.к. функционал ide мне не нужен, но оказалось так, что там столько ебли с настройкой того, что в любой intellij-based ide идет из коробки.
404 1806092
>>806077
Я в курсе и даже проверил. Меня объяснение интересует.
HashMap реализует и нормальную java.util.Map и котлиновскую Map, какого хере там ошибка приведения?
Из >>798918 диаграммы это нихера не следует, да из мутных объяснений на жидбрейнсовском сайте - тоже.
405 1806142
>>806092

>какого хере там ошибка приведения


в ссылках все написано. так захотели дизайнеры языка. вот почему.
406 1806259
>>806142

>так захотели дизайнеры языка


Это нихуя не объяснение. У тебя или нормальный язык, где есть четкое обоснование почему это не валидный код, со ссылками на спецификацию языка.
Или смузи из говна для хипстоты - в этом случае, можно и сказать "так захотели дизайнеры языка".
407 1806268
>>806259
Прям как пщ.
408 1806342
>>806259
abreslav
JetBrains Team
Aug '14
Some explanation is available here: http://blog.jetbrains.com/kotlin/2012/09/kotlin-m3-is-out/ 578

In short, Java’s Map is mutable, and in Kotlin we replace it with a pair of interfaces (read-only) Map and MutableMap to facilitate better type safety. If these extended Java’s Map, they’d have to be mutable as well.
409 1806533
>>806342
Да вот ничего это не объясняет.
Есть тип kotlin.Map, есть kotlin.MutableMap, есть java.util.Map и java.util.HashMap их все реализует. Причем первые два через магию компилятора, а не реализацию, а вот последний имплементит через декларацию, все как положено. Но почему-то приведение не работает. Причем не работает и для List и других коллекций.

val list: java.util.List<String> = java.util.Arrays.asList("abc", "def")
Тут он явно говорит, что asList() - возвращает MutableList и ниибет! Но это только для коллекций, для других типов все ОК.
val date: java.util.Date = java.sql.Timestamp(0)

Просто кое-кто увлекся своим йоба компилятором и забил на классическое наследование.
410 1806655
>>805818
Этот дело говорит
411 1806656
>>805818
>>806655
Вот только джава требует одну стдлибу, а котлин - две
412 1806665
Не верю, вы гоните, не может котлин быть настолько днищем. Я не изучал его и всё думал, что это просто сахарок для джавы, а тут оказывается язык специально ограничивает программиста, проталкивая свою идеологию. Прям как отсутствие дженериков/эксепшенов в Go, типа сложно читать. Неужели и правда днище?..
413 1806715
>>806665

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


Так делают все языки

Строго типизированные не позволяют сохранять в одной переменной разные типы

Джава заставляет обрабатывать чекед эксепшенс (хоть и признали что это был обсер)

Котлин запрещает использовать джавовую мапу т.к. разделил коллекции на мутабельные/иммутабельные

Он еще "ограничивает программиста" Заставляя на null все проверять, с этого у тебя жепа не горит случайно?
414 1806718
>>806715

> запрещает использовать джавовую мапу т.к. разделил коллекции на мутабельные/иммутабельные


Звучит как буллшит.
Разделил - ну ок.
Почему я не могу использовать джавовую мапу как мутабельную? Чем MutableMap безопаснее чем java.util.Map? Ничем, просто Бреславу так захотелось.
415 1806800
>>806656
Да хоть три, где ты видел чтобы проект на стд собирали? Без гредла или мавена никуда, а с ними там вопрос одной строки подключить любую зависимость.
416 1806802
>>806718
Шкальник, не траллируй дядей.
417 1806803
>>806800
У тебя синдром утёнка или Стокгольмский?
418 1806852
>>806803
Причем тут с. утёнка? Что за тупо тралинг?
419 1806866
Котлин не создан чтобы победить всю несправедливость этого бренного мира, он всего лишь позволяет не писать в 2020 на топорной жабе, используя самую мощную и оптимизированную VM с развитой экосистемой той же жабы.

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

Когда код спасает от очередного гения, это достойный код. Для всего остального есть скала.
420 1806994
>>806718
Потому что нужно чтобы мутабельная мапа наследовалась от иммутабельной

Мы не можем прописать в джавовой Java.util.Map новый супер-интерфейс, поэтому все равно бы имели дело с mapping types

А раз так, лучше сделать шаг в сторону явного определения мутабельности и иммутабедьности по-умолчанию, чтобы поощрять функциональный стиль.
Отсюда названия Map + MutableMap а не ImmutableMap + Map
421 1807065
>>806994

> нужно чтобы мутабельная мапа наследовалась от иммутабельной


То есть метод ожидает, что ему дадут иммутабельную мапу, а пользователь подсунет мутабельную и сломает инварианты.
Либо ты сам не понимаешь как это работает, либо это совсем пиздец в дизайне языка.
422 1807107
>>807065

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


Че?
Не совсем понял в чем проблема

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

Это же обычное проявление полиморфизма, что должно сломаться, если передать хоть сотый подкласс от типа, который метод ожидает?
Ты про канкарренси проблемы, что ли?
423 1807196
>>807107
Ты верно объясняешь суть, но путаешь иммутабельные коллекции с рид-онли коллекциями. В котлине интерфейсы List, Set, Map - это именно рид-онли коллекции. Их можно читать и нельзя изменять через эти интерфейсы. Но это не запрещает фактической реализации быть изменяемой.

Их реализации могут быть как иммутабельными, т.е. не меняющимися ни при каких обстоятельствах, так и мутабельными, как стандартные MutableList/Set/Map.
424 1807238
>>807196
Бля, да, обосрался

Вместо иммутабельная правильно будет рид-онли,
т.е. это просто интерфейсы, у одного есть условно только get, другой от него наследуется и добавляет set
425 1807264
>>806715

>Джава заставляет обрабатывать чекед эксепшенс (хоть и признали что это был обсер)


Хватит постить этот булшит, ни Гослинг ни Гётц ничего такого не признавали. Эккель - да, писал что это была ошибка, но так он и не автор и не архитектор Явы.
426 1807932
Кто-то должен запилить очередной плагин для котлина, чтобы можно было выключить mapped types.
123.png58 Кб, 894x573
427 1808783
Помогите пожалуйста, у меня как раз вопрос в тему. Я тупой неосилятор, который переписывает говнокод с python на котлин. Как исправить пикрелейтед?
sage 428 1808797
>>808783
Разобрался, но выглядит непривычно.
domains.forEach { hm[it] = hm.getOrDefault(it, 0) + 1 }
429 1808903
>>808783
Там же все написано. Оператор [] возвращает нуллабистый тип что как бы логично, если твоего домена там нет еще. к нему не может быть применим оператор +=.
430 1808906
>>808797
Выглядит как раз лучше, ты убрал ветвление с кривым форматирование и сократил до строки.
431 1809146
А че так сложна то

После змеек в Питоне, чот лайауты всякие, вот это все, среда разработки прямо как унреал енджин но нужна много всего чеееееее сложна сложна сложна
432 1809164
>>809146
В этом и суть питона, что он вызывает размягчение мозга при чрезмерном употреблении. Надо иногда разбавлять хотя бы крестами.
433 1809382
Head First хорошая книжка по котлину?
434 1809412
>>809146
В питоне тоже как только выйдешь за пределы стандартной либы начинаются абстракции над абстракцией и слои над слоями, только без типов это превращается в ад.

Тут просто издержка с нуллабистыми типами, красота кода местами страдает.
435 1810000
>>809382
Нет.
ИМХО интереснее "Волшебство Kotlin"
436 1810187
>>810000
А если с Java совсем незнаком?
437 1810196
>>810187
Тогда сначала Head First Java.
438 1810313
Котлин создавался чтобы отсталые джава макаки смогли пощупать технологии чуть новее 2003 года. Но он по сути не оправдал ничьих ожиданий и скоропостижно скончался ещё раньше чем жаба.
439 1810315
>>810313
Невнимательно методичку читаешь, ты забыл слова "легаси" и "кобол".
440 1810369
>>810187
Читал Head First Kotlin. Скучно.
Т.е. если вообще ни на одном ЯП не программировал, то может быть и можно по ней поучиться.
Но "Волшебство Kotlin" интереснее.
Для её чтения знать Java не обязательно.
441 1810498
>>810313
ох, эта попаболь шарписта.
442 1810625
>>810369
>>810196
Спасибо
443 1811328
Есть шанс сейчас полностью выбрать один из двух стеков java (+kotlin) или C# (.Net Core)
Я совершенно не ньюфаня, просто предоставляется возможность полностью погрузиться в одну из платформ, но внятной и глубокой информации по этому выбору нет (везде что-то поверхностное).
Есть у кого интересные мысли по поводу той или иной технологии, любое мнение будет полезно.
444 1811340
>>811328
По большому счету оба стека одинаковые.
Так что выбор только в деньгах.
Если все равно идите туда, где сейчас вам платят больше. :-)
445 1811353
>>811340
Платят одинаково, в том же месте.
446 1811398
>>811353
Тогда выбираете по принципу "нравиться/не нравиться" чисто субъективно. На крайний случай монетку подбросьте.

Лично мне больше нравиться Koltin чем C#.
Но вам может быть больше понравиться C#.

<:o)
447 1811685
>>811398
Котлин, конечно, синтаксис получше. Но так вот тоже выбрать нравится не нравится, сложно.
Есть ли у котлина будущее в бэкенде?
448 1811751
>>811685
ИМХО. Ну если JetBrains не забросит Котлин, то скорее всего будет.
449 1811777
>>811685

> Есть ли у котлина будущее в бэкенде?


Кто-то уже пишет. Но наверняка будет где-то на уровне скалы, даже джавовские фреймворки стараются не юзать и велосипедят всякие ktor'ы.
450 1811787
>>811777
Не сказал бы. Почти все Java-вовские фреймворки работают с Kotlin без проблем.
Spring, Hibernate - точно.
А Gradle потихоньку на Kotlin переходит. :-)
451 1811816
>>811787

>А Gradle потихоньку на Kotlin переходит.


Долго что-то переходит.
452 1811825
>>811816
Да. Норм вроде. На initializr при создании проекта, если выбрать gradle и kotlin. Gradle на kotlin.
453 1811826
>>811825
*spriginitializr
454 1811841
Может быть так что у шарпа будет более продуманные решения из-за вендор лока? Ну например градл, уж если признаться, это чистой воды звездец.
455 1811849
>>811841
У MS продуманные решения?!
Хорошая шутка.
А так, не нравиться gradle - есть maven, sbt, ant(для изварщенцев) :-)
456 1811863
>>811849
Maven вообще жесть. Вечно надо теребить стековерфлоу, чтобы сделать то, что ты кодом сделал бы в пару десяток строк.
458 1811957
>>811340
Добавлю лишь что когда программируешь на C# то нужно думать, жависты тупо не осилят его.
459 1811965
>>811957
Ну да, лучше бороться с языком, чем пилить бизнес-фичи.
460 1812045
>>811957
Что там думать то, родственные языки почти, акромя синтаксиса?
461 1812395
>>811863
Зачем?!
Максимум что нужно, это добавление зависимостей.
Не ну, если есть еще извращенцы с кодогенерацией для web-сервисов. Но они вроде бы как не в моде.
462 1812408
>>812395

> с кодогенерацией для web-сервисов


Да и это одним плагином делается, настроил один раз и забыл.
463 1812453
>>811841
То ли дело MSBuild, ANT+IVY, но от майков.
464 1812842
>>812395

>Зачем?!


Нужно что-то собрать в релиз папку, что-то копировать и т.д.
465 1812845
>>812453
Я так и не понял как в ебанном градле подключить два независимых проекта, можно какие-то огрызки из сабпроектов делать (зачем, хз). Причем IDE делает по своему, градл по своему. Очень весело.
466 1813036
>>812842
Э-э-э Вообще то все что в src/main/resources автоматически собирается. А внутри resources можно хоть какие папки делать.
467 1813039
>>812845
А в чем проблема подключить один проект к другому через зависимости?!
468 1813061
>>813036
Совать веб статику в ресурсы, такое себе. ибо надо этим кормить nginx
469 1813062
>>813039
Нельзя делать два проекта одновременно.
Придется дернуть и собрать в maven jar-ник один проект и после этого только запустить второй.

А теперь представь что у тебя таких проектов и модулей штук 15.

В нормальном мире, градл бы мог собирать один независимый проект, потом магически подключать к другому и так далее. Но в реале тебя сразу пошлют нахер на ошибки типа - два плагина котлина подключить нельзя или прочее ошибки.
470 1813073
>>813061
Причем тут ngnix?
В rosurces хранятся ресурсы.
471 1813074
>>813062
Насчет многомодульных проектов в gradle я не знаю.
В maven это делается просто.
Создается проект типа pom, в котором перечисляются все нужные проекты в виде модулей.
Постоянно с такими проектами работаю.
472 1813081
Отношусь к котлину нормально, раньше было впечатление, что его второпях клепали студенты, "вдохновляясь", так сказать, всем чем можно из других языков. Потом мнение немного поменялось на нейтральное и даже позже на положительное, просто потому, что уж лучше котлин чем на старой жабе что-то ковырять. И вот спустя время, наслушавшись всяких интервью, у меня снова в голове переобулись мысли и создалось впечатление о малоопытном Бреславе (в свое время) и как он собирал свою команду студентов...

Другое, что меня сильно напугало, это, условно, юношеский максимализм и попытка захватить все платформы. Парни около 5 лет релизили прокси язык и тут же замахнулись на все что можно.
473 1813129
>>812845
>>813062
В чем проблема-то? Если в родительском проекте не подключать всем подпроектам плагин Котлина, то никаких конфликтов не будет.
https://github.com/breskeby/gradle-snippets/tree/master/multiparallel
474 1813773
>>813129
В джаве, походу, плохо понимают что такое модули.
Проблема в том что модуль 1 полностью независимый, и ничего не знает про внешний мир, модуль 2, в свою очередь, может подключить модуль 1, при этом не внося никаких изменений в модуль 1

И казалось бы, ну сделай модуль 1 подпроектом для 2? Да? Но блин модуль 1 он же модуль и его возможно захочет проект 3,4,5...
475 1813775
>>813129
Другими словами, подпроекты это не модули. Это просто дробленный монолит.
476 1813897
>>813773
А при чем тут модули?
Когда есть maven repository?!
Нужен модуль, который может работать в куче проектов.
Загоняете его в мавен репозиторий.
Заодно получаете разбивку по версиям.
Чтобы модули 3, 4, 5 в зависимости от использовали свою версию модуля 1.
477 1813928
Я считаю, что мутабельные и иммутабельные структуры данных должны образовывать свои независимые друг от друга иерархии.
478 1814059
>>813928
я считаю иначе
479 1814069
>>813773
>>813775
Чел, у тебя или полная каша в голове или проблемы с выражением своих мыслей.

При чем тут вообще джава? Мы же про грейдл говорим и я использую проект в том смысле в котором его использует грейдл.

Если проекты независимые, то никаких

>его возможно захочет проект 3,4,5...


быть не может. Иначе они уже зависимые. Если зависимые, можно или на уровне зависимостей на проекта project(":lib") или бинарно, через публикацию атефактов в мавен репозиторий.
480 1814070
я считаю что жависты сосут хуй
481 1814609
>>813897
Ничто не мешало бы гредлу собрать проект 1 и потом его подключить к проекту 2, да? При этом не обосраться в подключаемых плагинах.
Не так уж и сложно для системы с документацией в целую книгу.
482 1814611
>>813928
Я считаю что мутабельные, не мутабельные типы засоряют язык программирование.

Как и нуллабельные типы. Бороться с нуллом надо, но делать для этого отдельный "зеркальный" тип, неудачное решение.
483 1814629
>>814070
Есть такое же мнение.
Неожиданно, пакетный менеджер не должен быть "не интуитивной" йобой в томник Война и Мир.
484 1814631
>>814629
Какой код - такая и документация.
485 1814637
Мне иногда как-то жалко вот это жабо-подобный мир, они даже и не знают, что многие вещи которые они делают, можно делать кратно (реально кратно) проще.
486 1814641
>>814637
Не столько не знают, сколько привыкли оверинжинирить. Видел скрипты на питоне, написанные сеньором джавистом, так там километровые портянки кода, обёртки над обёртками в 10 слоёв и идентификаторы по 30 символов, в лучших традициях жабы.
image.png76 Кб, 1147x721
487 1814708
Дарт и котлин целуются
488 1814772
>>814708
ты такой милый, я тебя поцелую.
489 1815612
>>814708
Го подглядывает, а раст всех игнорит.
490 1815673
>>814708
Говно съело мочу, классика двача.
image.png30 Кб, 741x397
491 1816830
Котлинач, вот тебе статистика постинга в котлин-тредах, хотя тредов пока было только три.
492 1817038
>>816830
Надеюсь скрипт на котлине эту диаграмку строит?
493 1817044
>>817038
Нет, не котлин, он слишком сложный для написания скриптов вопреки тому, что здесь говорят.
Впрочем, изначально и скрипта никакого не было, всё руками в виме и экселе делал, это уже потом.
494 1817082
>>817044
Мимикрок.

На мой взгляд котлин удобнее питона, в плане короткописания, если освоить и применять все его нюансы.
Из недостатков, конечно, хотелось бы какой-то интерпритатор (но со статик типами это бестолково), и такие тулзы как gradle или избыточные некоторые либы джавы, портят вкат людям, даже владеющими языками.
А, ну еще просраны короткие записи листов [], мап {k:v}.
Просто та лямбд, вроде с одной стороны круто, но с другой каждый выпук пишут на лямбдах. А чем плохи лямбды? В отличие от методов, которые понимаешь по названиями и описанию, лямбды это чистые кишки кода, в которые надо каждый раз погружаться.
495 1817101
>>817082
На мой взгляд питон удобнее (именно для мелкоскриптов, которые лень долго писать), и дело не столько в синтаксических фичах, сколько во времени, которое пройдёт до получения результата. На питоне открыл терминал, запустил вим, написал 10 строчек, сохранил, запустил, по необходимости что-то доустановив и нащупав с помощью dir() и help() нужные функции/методы. А на котлине пока запустишь IDE и создашь проект, пока укажешь все зависимости в помнике или build.gradle, уже и забудешь, зачем всё это затеял.
496 1817158
>>817101
Использовал одну IDE для котлина и для питона. В край я js в vs code запускал, для юзер-скриптов в браузере, это прям одномоментные почти однострочные скрипты. А вот гуманитарные программисты самоутверждающиеся за счет вима, это вообще отдельная тема, даже не хочу это трогать, уже не 2007 год, хватит этим страдать.

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

С питоном вообще беда, пока ты в стандартной библиотеке все хорошо, но как только подтащил зависимость начинает пляс с этим requirement.txt, приходилось инсталятор небольшой писать, чтобы у знакомого запустился код, без страданий. Скрипт для скрипта, это предел моих впечатлений, даже в js грамотнее сделали, хотя node.js тот еще кусок говна.
497 1817160
>>817158
Пора уже признать, что питон это натянутая сова убого дизайна, на глобус реальности. Не все там гладко, как хотелось бы, убогость дизайна и тонна отсебятины в api каждый блядский раз приходится гуглить какие-то моменты, потому что соизволили сделать именно так, а не как у всех. Собственно, эта херня ставит крест на языке, как об карманном инструменте.
Ну и динамико-дрисня, опечатался в одну букву - "веселой тебе отладки, мудила".
498 1817235
>>817160
а разобраться в устройстве питона нельзя было? вот просто основы понять и все.
в итоге там основы + модули и все.
шикарнейший скриптовый язык

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

>>817158

>пляс с этим requirement.txt


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

в общем все как обычно - выбирай любой из вариантов.
499 1817271
>>817235
Пытался вникнуть в это все, понял что какие-то костыли поверх костылей и тупо переписал на шарфик, юзеру даже не пришлось ставить никаких йоба типа интерпретатора или виртуальной машины.
Но что касается котлина, то там тоже просто, юзер клацает на jar как на exe и все работает (винда так умеет)
500 1817278
>>817271
>юзер клацает на jar как на exe и все работает (винда так умеет)
иии... ничего на винде не произойдет ибо жава по умолчанию не установлена. А если установлена то можно клацать на jar, а если установлен питон, то можно на py

>Пытался вникнуть в это все, понял что какие-то костыли поверх костылей


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

>менее привычно делать портабельные вещи


JS просто скопировать папку, в PHP тоже самое, если ничего не поменяли. Так что это в питоне менее привычно делать портабельные вещи.
502 1817293
>>817291
в пхп стандартный путь как и в руби делать виртуальное окружение. Это и есть привычно.
но никто не запрещает класть пакеты рядом
и вообще все в один исполняемый зип упаковать.
ну py2exe само собой
503 1817305
>>817293

>py2exe


Да костыль же. Как всегда работает в маня фантазиях, а в реале баг на баге, багом погоняет.
Тред утонул или удален.
Это копия, сохраненная 1 апреля 2021 года.

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

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