Главная Юзердоски Каталог Трекер NSFW Настройки

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 429 55 133
Kotlin #3 /kotlin/ Аноним 12/08/24 Пнд 15:12:10 3247263 1
image.png 72Кб, 1500x720
1500x720
image.png 1741Кб, 1080x1977
1080x1977
image.png 23Кб, 1200x600
1200x600
image.png 388Кб, 1920x2280
1920x2280
Вся разработка на котлин, кроме андроид и ios.

Kotlin — статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и разрабатываемый компанией JetBrains. Язык назван в честь российского острова Котлин в Финском заливе, на котором расположен город Кронштадт.

Маскот котлина Коди.

Что имеем:
+Современный синтаксис (реально удобный).
+Совместимость со всей jvm инфраструктурой.
+Возможность писать статический DSL прямо на самом языке.
+Дополнительные возможности котлина. (делегаты, функции, расширения класса, вариативность и т.д)
+Возможность нативной сборки, сборки в js, андроид и ios.
+Корутины

Для тех, кто переходит из процедурных языков программирования, объектно-ориентированный подход (ООП) может показаться полной ерундой.

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

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

Почему следует изучить java перед котлин, а не сразу изучать котлин:
1.Java основа: Без знания java ты не будешь понимать, что происходит под капотом kotlin. Синтаксический сахар kotlin скрывает сложные операции, и ты можешь понять конечный результат, но не механизм его достижения. Это как нажимать кнопку на чайнике и видеть, что вода нагревается, но не знать, почему и как это происходит. Лучше всего понять что под сахаром это в intellij перейти tools -> kotlin -> show kotlin bytecode -> decompile.
2.Код на Java: Большинство библиотек написано на java. Без знания java ты не сможешь понять их код и, соответственно, эффективно использовать или модифицировать их в своих проектах на Kotlin.
3.Может быть что где-то будут куски кода на java в проекте.

Антивирус в windows также замедляет компиляцию, так что отключите, добавьте в исключения папку или же перейдите на gnu/linux, macOS:
https://intellij-support.jetbrains.com/hc/en-us/articles/360006298560-Antivirus-Impact-on-Build-Speed

Попробовать котлин -> https://try.kotlinlang.org/
IDE. IntelliJ IDEA Community Edition -> https://www.jetbrains.com/idea/download/
Документация котлин -> https://kotlinlang.org/docs/home.html
Перевод документации -> https://kotlinlang.ru/docs/kotlin-doc.html
Скачать Kodee asset ->
https://kotlinlang.org/docs/kotlin-brand-assets.html#kotlin-user-group-brand-assets

Предыдущий тред: >>3105288 (OP)
Аноним 12/08/24 Пнд 16:09:58 3247318 2
изображение(7).png 348Кб, 900x900
900x900
>>3247263 (OP)
>+Современный синтаксис (реально удобный).
>+Совместимость со всей jvm инфраструктурой.
>+Возможность писать статический DSL прямо на самом языке.
>+Удобные лямбды и наличие простых функции.
>+Удобный тулинг в том числе и на бесплатной IDE (комьюнити версии)
>+Возможность нативной сборки, сборки в js, андроид и ios.
>+Корутины
+Вендорлок от жыдбрейнс
+Работает поверх джавы, можно легко пересесть с игрушечного языка на нормальный
Аноним 12/08/24 Пнд 16:10:47 3247322 3
>>3247318
Даже ионку не поставил новую, тупо скопипастил с преведущего треда.
Аноним 12/08/24 Пнд 16:11:11 3247323 4
>>3247322
В этом и смысл. Как дополнение шапке.
Аноним 12/08/24 Пнд 16:11:34 3247324 5
>>3247323
У шапки то новая иконка уже!!!
Аноним 12/08/24 Пнд 16:12:56 3247327 6
>>3247324
Картинку поменяли — игрушечный тормозной язык с уродливым синтаксисом не стал нормальным быстрым языком с OG синтаксисом.
Аноним 12/08/24 Пнд 16:14:23 3247330 7
image.png 67Кб, 1024x768
1024x768
>>3247327
> с OG синтаксисом
Кто бы говорил
Аноним 12/08/24 Пнд 16:51:46 3247372 8
Вот скажите мне, на собесах на крудошлепа на спринге/жаба ее вопросы на многопоточку вообще имеют какую-то практическую ценность?
Вот общался с 5 собеседующими. 4 из них спрашивали по многопоточке. Спрашиваю, а вы в работали с многопоточкой на практике? Все 4 отвечают - нет, никогда. В анкетах перед собесами тоже спрашивают про многопоточку наравне с микросервисами - работали ли вы.
Сейчас вот перед еще несколькими грядущими собесами вспоминаю что раньше читал по многопоточке и новое узнаю.
Но есть ощущение, что это просто ради собеса. Даже бесполезнее в реальной работе, чем с литкодами.
Раньше было желание прочитать книгу с поездами и добить какими то главами из более свежих книг, чтобы преисполниться. А теперь кажется, что чисто голову себе забью и забуду что-то полезное.
Аноним 12/08/24 Пнд 16:56:55 3247377 9
>>3247318
Понятно, а почему на картинке джавадебил плачет?
Аноним 12/08/24 Пнд 17:01:15 3247384 10
>>3247377
>Почему джавист плачет за маской
Это котлинодебил нацепил маску своего сахара поверх джавы
Аноним 12/08/24 Пнд 17:27:34 3247400 11
>>3247384
Но ведь на картинке на человечке который надел маску и плачет лого джавы, получается это джавист
Аноним 12/08/24 Пнд 17:59:22 3247416 12
>>3247400
>Но на картинке джавист притворяется котлом
Вот, начинает доходить потихоньку. Вы по сути те же джависты, только синтаксический сахар поверх прикрутили, гордо именуя крутым языком, волосы покрасили и тыквенный раф пить начали, но основная суть не изменилась
Аноним 12/08/24 Пнд 18:18:56 3247444 13
Почему эта какр[...].mp4 1578Кб, 144x256, 00:00:59
144x256
>>3247416
Ну и в чём минусы быть джавистом? Квартальная премия в кошелёк не помещается разве что...
Аноним 12/08/24 Пнд 18:41:15 3247467 14
>>3247263 (OP)
Реально, какого хуя лого старое, ОП-хуй
Аноним 12/08/24 Пнд 18:57:39 3247476 15
>>3247444
> джавистом
Джавистом — ни в чём. Петухлинщиком — зашквар.
Аноним 12/08/24 Пнд 19:09:59 3247487 16
>>3247476
Хояешь чтобы си++ и си# начали обоссывать джаву в вашем треде? Ну как в старые добрые. Нет? Съебал с треда
Аноним 12/08/24 Пнд 19:13:34 3247489 17
>>3247487
> обоссывать джаву в вашем треде
Пока что у вас удаётся только себе на рыло ссать.
Аноним 12/08/24 Пнд 19:19:01 3247493 18
>>3247476
Но ведь ты сам сказал что петухлинщики это те же джависты
Аноним 12/08/24 Пнд 19:20:52 3247494 19
16934931037550.jpg 1120Кб, 2048x2048
2048x2048
Аноним 12/08/24 Пнд 19:27:16 3247501 20
>>3247493
> Джавистом — ни в чём.
Ок, для тупоголового тебя скажу по другому, "полноценным джавистом — ни в чём".
Аноним 12/08/24 Пнд 19:27:42 3247502 21
>>3247494
Эта боевая картиночка обязательно ускорит петухлин в 11 раз и даст ему хороший синтаксис.
Аноним 12/08/24 Пнд 19:32:43 3247507 22
>>3247502
Зачем котлину два хороших синтаксиса?
Аноним 12/08/24 Пнд 19:33:14 3247509 23
>>3247507
Пока что у петухлина ни одного.
Аноним 12/08/24 Пнд 19:35:18 3247510 24
16935563832720.jpg 1131Кб, 2048x2048
2048x2048
>>3247509
Как раз один и есть... и скорость как у джавы потому что рантайм тот же. Лучшее из обоих миров
Аноним 12/08/24 Пнд 19:53:52 3247516 25
>>3247510
>fun fun fun : Zalupa
Не расслышал хорошего синтаксиса.

> и скорость как у джавы потому что рантайм тот же
Ну да, там где петухлин своё не навешивает. А как навешивает так в 11 раз скорость сразу падает.
Аноним 12/08/24 Пнд 20:38:22 3247545 26
image.png 1183Кб, 1194x1200
1194x1200
Аахаа, только представьте ебало этого чела)
Настолько сильная депрессия от жабы и проектов на ней, что он бегает по тредам c# и kotlin и пытается убедить себя в том, что его жизнь - это не только боль и страдания, но и благой труд, ведь он - самый настоящий ООП Программист с большой П.
Покормите бедного)
Жава - лучший язык, в тыщу раз быстрее котлина и c#, у неё самый понятный синтаксис, и это лучший язык для тырпрайз разработки.
Не оставим же кабан кабаныча не довольным, жаву в массы! Каждому ребенку по жабе.
Если тебе так плохо, стань тимлидом, чтоб кода меньше писать
Аноним 13/08/24 Втр 05:06:01 3247715 27
>>3247444
>Квартальная премия в кошелёк не помещается разве что...
За 10 лет гребли ни разу не платили премию, ни квартальную ни годовую. За 10 лет вышел на баснословные 200к. Начинал вообще с 15к на руки..
Аноним 13/08/24 Втр 17:12:46 3248234 28
Анончики, посоветуйте материалы для вката в Котлин. Мб, курсы какие-то слитые, каналы на втубе или книгу? Документация слишком сложно, да
Аноним 13/08/24 Втр 17:17:42 3248239 29
>>3248234
Тут на выбор, что хочешь, то и бери:
Сумин на юдеми
Котлин в действии 2 изд.
Neco RU (ютуб)
Philipp lackner (ютуб, у него старые видосы, но вполне пойдет для основ. Там уже навернешь что-то новее в виде доков или же предложений иде по коду)
Аноним 13/08/24 Втр 19:13:01 3248318 30
>>3248234
if Nahuy.tak!.jiit!.posonii? != nil:
self.kak_vse_zaebalo()

Краткий экскурс.
Аноним 13/08/24 Втр 21:44:46 3248484 31
>>3248318
Почти как питон, получается
Аноним 13/08/24 Втр 21:45:35 3248486 32
>>3248239
Анончик, спасибо. А Котлин в действие разве не для джавистов придумали?
Аноним 13/08/24 Втр 23:10:06 3248539 33
Аноним 13/08/24 Втр 23:15:03 3248541 34
>>3247444
>Ну и в чём минусы быть джавистом?
Кроме того что пердишь в стул загнивая в банке с древним спрингом, надрачивая абстрактные фабрики бинов синглтонов, минусов нет.
А вот котлинодебилы пытаются выебнутся мол смотри какие мы сурьёзные типа джависты и в пизду и в красную армию, а на деле кроме мобилок этот язык никому не всрался.Да и то гугл все больше дарт продвигает, а хуявей вообще свой язык пилит
Аноним 13/08/24 Втр 23:29:41 3248549 35
>>3248486
Да как по мне - для всех.
Ты же с джавы перекатываешься? Так ведь...?
Аноним 14/08/24 Срд 04:46:46 3248635 36
>>3248484
Ниразу не питон, как свифт, только для линукс/андроид платформ.
Аноним 14/08/24 Срд 09:48:15 3248723 37
Аноним 14/08/24 Срд 10:56:38 3248811 38
Аноним 14/08/24 Срд 11:40:28 3248859 39
Котлин стали куесосить, это радует. Старые мои треды просто протухали, если я ложил болт.
Кидайте новости и контент, аноны, безработных вкатунов на шарпах не кормите. после того как жаба получила свои, по сути, модные шарпы, с синтаксисом на порядок круче, у них какая-то истерика пошла, хотя мы не пересекаемся вообще. Если, конечно, не начнут пердолить игры на котлине, а они должны начаться, ибо удобно для анроида пилить на одном стеке, а не древнем NET Framework 4.
Аноним 14/08/24 Срд 13:02:50 3248954 40
images.png 5Кб, 300x168
300x168
>>3248859
Ты с 2022 капчуешь, дед? Все новомодные зумерки с подворотами и п
увольнением в 1 день уже давно используют korge.
Если ты реально дед (лет 25+), то есь lwjgl, как во времена майнкрафта альфы.

https://korge.org/


Кстати, уже вышел багфикс k2 и он стал более менее юзабельным, как и k/native. Скоро хочу попробовать интегрировать под компоуз мультиплатформу нативные плееры видео и аудио т.к. неудобно писать разный код под разные платформы
Аноним 14/08/24 Срд 17:51:34 3249244 41
>>3248954
Для пердолинга в игрульки нужна полноценная 3D студия, а не xml обертка над идеей.

На самом деле там же просто скриптинг, и думаю, плагины для котлина есть и на юнити и на godot. Но кому это нужно? Если индюшки привыкли в свой вариант доисторического шарпа долбиться.
Аноним 17/08/24 Суб 16:16:38 3251356 42
Хочу вкатить в Котлин и уже нашел как изучать, но хочу еще практиковаться и писать бота для телеграм. Сложно будет новичку ботов писать на котлине или норм практика?
Аноним 17/08/24 Суб 16:49:44 3251370 43
>>3251356
Для телеграма легко, а вот с дискордом лучше не стоит связываться.

Ответ на твой вопрос: нет, котлин для вката крайне простой, особенно если у тебя идея (иде) т.к. у нее есть автоперевод джава кода в читаемый котлин код. Практика неплохая, как понимание котлина в целом.
P.s. если нет либы под телегу на mvnrepository.com , то попробуй сам написать взаимодействие с помощью retrofit, а вот ktor не бери как клиент. Он еще недоработан нормально, в прошлых тредах отписывал проблемы и прочие неприятные вещи с ним
Аноним 17/08/24 Суб 17:09:51 3251387 44
Аноним 17/08/24 Суб 19:12:45 3251449 45
15510968819190.png 177Кб, 444x616
444x616
>>3251356
Ну, пик достижений телеграм ботов это питоновские библиотеки. Вообще сетевой стэк на яве/котлинге костыльный. Если на питоне достаточно сделать объект request и назначить ему строковые проперти, то в с котлином еще придется поебаться, начиная с процесса билда реквеста, заканчивая тем, что некоторые проперти это объекты, которые хуево задокументированы (кукисы). И даже если захочешь есть кактус, то в какой-то момент обнаружишь, что разрабы сесевых библиотек котлина начнали ежегодный рефакторинг кодовой базы.
Аноним 17/08/24 Суб 20:47:52 3251516 46
>>3251449
> И даже если захочешь есть кактус, то в какой-то момент обнаружишь, что разрабы сесевых библиотек котлина начали ежегодный рефакторинг кодовой базы.

ДВАЧУЮ ДВАЖДЫ

Надеюсь, что они всё таки исправят свою говнолибу Exposed. Половину данных не модифицирует правильно, другую половину просто не оборачивает в единую транзацкию и иди ищи как вернуть всё назад
Аноним 17/08/24 Суб 20:48:32 3251517 47
Аноним 17/08/24 Суб 21:30:46 3251533 48
>>3251370
У нас ктор на проде, никаких проблем
Аноним 18/08/24 Вск 05:13:10 3251596 49
>>3247263 (OP)
>Kotlin — статически типизированный, объектно-ориентиро...
Холд он, фэкбоиии! Кому всрался твой котел? С ним наигрались даже бигтехи за последние несколько лет и те попытки стартовать проекты на нем по типу домклика - провалились. Сейчас все переписывают на свежую джэву, т.к. новые фитчи катят каждые полгода. Сейчас бы ебаться с котлом и годами искать разрабов, которые умеют в идиоматичный котел, когда джаваскуфидонов как говна за баней, лол
Аноним 18/08/24 Вск 12:00:41 3251735 50
>>3251596
>Кому всрался твой котел
Как минимум всем android разрабам
Аноним 18/08/24 Вск 12:04:25 3251739 51
Поясните кнопкокрасу за коллизии, я не оч понимаю:
Вот совпал хэшкод у ключа, добавили элемент в бакет(в связный список(в ноду)).
Потом запросили значение по ключу, в бакете проходим по нодам и ищем ноду, в которой ключ будет equals нашему ключу. Но разве equals не сравнивает хэшкод просто? А хэш код двух ключей совпадает, значит и equals будет true для двух разных key у двух разных нод, то есть значение неверное может вернуться.
Объясните смузихлёбу
Аноним 18/08/24 Вск 14:18:54 3251845 52
>>3251739
Забейте, разобрался. Equals сравнивает поля, а не хэшкод
Аноним 19/08/24 Пнд 12:12:43 3252335 53
Аноним 19/08/24 Пнд 23:44:11 3252702 54
>>3251596
> на свежую джэву, т.к. новые фитчи катят каждые полгода

Всё что катит джава котлин подсасовает
Аноним 23/08/24 Птн 03:12:49 3254394 55
>>3251370
Котлин для вката простой, особенно с IDE, которая переводит Java-код в Kotlin. Практика неплохая для понимания Kotlin. Если нет библиотеки для Telegram на mvnrepository.com, попробуй написать взаимодействие с помощью Retrofit, но не используй Ktor как клиент, он еще недоработан.
Аноним 23/08/24 Птн 07:28:42 3254421 56
Как вкатун скажу что джава намного понятней Котлина по крайне мере для меня. Чтобы в джаве, как в языке, разобраться хватило пары дней так как все логично и понятно, то Котлин я через неделю забросил, так как накорежено хрен пойми что, а не язык.
IntelliJ IDEs now support Wayland (experimental) Аноним 23/08/24 Птн 07:34:37 3254424 57
Аноним 23/08/24 Птн 09:04:56 3254471 58
>>3254421
у меня вообще противоположная ситуация. после котлина никак не хочется на джаву возвращаться
Аноним 25/08/24 Вск 22:36:54 3256290 59
17231682145570.jpg 542Кб, 1156x1541
1156x1541
>>3251596
Смотрю на котлин как на "сишарп" для джавы. Хера вы там сами с собой воюете я не понимаю, малолетние дегроды, вы одну инфраструктуру юзаете и если надо сможете откатиться взад в свою жабу и снова писать свои точки с запятой.
Аноним 25/08/24 Вск 23:30:20 3256307 60
>>3256290
Да забей, тут походу половина людей считаетю что разраб = привязан к одному языку и к одному направлению
Аноним 26/08/24 Пнд 11:07:37 3256554 61
Ну что, перешли на kotlin 2?
Мы вот перешли в мобилке. Вопросы?
Аноним 28/08/24 Срд 06:17:30 3257830 62
Аноним 28/08/24 Срд 09:26:05 3257865 63
Аноны вкатуны, какие курсы смотрите?
Аноним 28/08/24 Срд 10:59:07 3257935 64
>>3256307
На рыночке почему-то почти все требуют опыт в одном конкретном языке
Аноним 28/08/24 Срд 19:27:36 3258378 65
>>3257935
Долбаебы наверное или у нас настолько много разрабов, что можно просить и язык и опыт в сфере просить
Аноним 28/08/24 Срд 20:00:08 3258402 66
>>3257865
Штурм окопа. Краткое введение
Аноним 29/08/24 Чтв 15:39:13 3259070 67
>>3251516
Вчера отказался от либы Coil для подсоса картинок. После перехода с 2 на 3 версию появились новые баги, а фич так и не завезли. Разраб почти важные issues на гитхабе закрывает с плашкой not planned, либо пишет что у него ничего не лагает, и вообще пусть сами пул реквесты делают раз такие умные. Взял более старую либу Glide, и у меня бувально все рендерится в 2 раза быстрее, появился нормальный error handling, с докой нет проблем. Тока надо Glide внутри AndroidView вызвать, и все будет по красоте.
Аноним 29/08/24 Чтв 15:53:10 3259090 68
>>3257865
Никакие. Они все говно на котлин и на андроид. Пизжу готовый код даже не со стака, а с реддита. Там почему-то более толковый код пишут лол. Гуглолахта засрала почти все сайты с туториалами по компоузу и андроид разработке.

У жидбрейнса такие себе описания корутин, которые придется изучать месяца два чтобы что-то понимать. Ну и Флоу не очень прозрачные. Остальной язык за 2 дня выучишь.

Ну а по андроиду я приведу хуевую анологию (других не существует, ну да ладно): гугл утверждает что в любой бочке с медом есть говно гугла, и не поев его меда не попробуешь. На деле оказывается можно отодвинуть говно ложкой в сторону и сразу начать есть мед, хотя на ложке и будет специфичный привкус. В общем у следующих методичкам рот в говне, а у хитрых в меде.
Аноним 29/08/24 Чтв 20:01:15 3259304 69
>>3259090
>Гуглолахта засрала почти все сайты с туториалами по компоузу
Терпи
Аноним 30/08/24 Птн 16:38:46 3260058 70
>>3259304
Ну по факту гугл не самое лучшее советует. Поменял котлиновский Coil на явовский Glide. Корутины юзаю часто, но все чаще возникают мысли что я просто бездарно проебал месяц жизни на них, и хочется их вырезать из кода к хуям. Обычные ява треды оказались крайне простыми в освоении, и без ебанутых подводных камней.
Аноним 30/08/24 Птн 22:17:43 3260453 71
>>3260058
>Coil на явовский Glide
У коила и glide алгоритмы разные. Но мне тоже glide чуть больше нравится, более плавно грузит множество картинок. На композе Coil юзаю, у него альтернатив нет нормальных для композа, работает стабильно, но для android view выбрал бы glide.
>хочется их вырезать из кода к хуям
>Обычные ява треды
Ты работал с большими проектами? Корутины не только для выполнения на фоновом потоке, но и для удобного свича между пулами потоков, и конечно для реактивного программирования с использованием flow.
С обычными тредами будет так называемый callback hell, судя по всему ты не сталкивался с объемным кодом на залупотредах а может ты бэкендер и у тебя меньше проблем с этим было
>без ебанутых подводных камней
К сожалению правда, у корутин подводных хватает, но сталкиваться с ними ты будешь никогда редко. Разве что для собесов полезно знать.

пысы: композ действительно будущее, но сейчас много готовых проектов на android view, так что если хочешь быстрее найти работу - android view твой выбор, даже не пробуй композ, а то потом не захочешь к view возвращаться никогда в жизни.
пысы2: Самое хуевое что советует гугл - это стандартная навигация. Никто блять не использует стандартную навигацию, все юзают сторонние либы или свою пишут
Аноним 30/08/24 Птн 22:35:47 3260463 72
>>3260453
>корутин подводных хватает,
Можешь, пожалуйста, подсказать в чем они проявляются. Работаю год на бекэ Котлин и пока всё нормально.
Аноним 31/08/24 Суб 13:58:11 3260806 73
>>3260453
>На композе Coil юзаю, у него альтернатив нет нормальных для композа, работает стабильно, но для android view выбрал бы glide.
Я просто положил AndroidView+Glide внутрь LazyVerticalGrid шириной 1 и кайфую. Лучше LazyColumn в плане производительности. Почему-то нигде не видел такое решение в Интернете.
>Ты работал с большими проектами?
Нет. Пишу тонкий клиент для склада. Списки бывают большими порой. Обычно в элементе списка содержится штук 6 текстовых полей со всякой поеботой типо артикулей и кол-вом и фото на складе. Когда картинки гружу, то создаю треды, а когда получаю ответы запросов, то жду корутины. Я хз где нужны пулы тредов кроме донатных казичей с жопастыми тетями. Флоу оказались непростыми, но смысл в них есть. Прада есть чувство что как только их полностью освою, их выбросят на мороз.
>пысы2: Самое хуевое что советует гугл - это стандартная навигация. Никто блять не использует стандартную навигацию, все юзают сторонние либы или свою пишут
У меня навигация построена на лямбде when(Singletone.screenValue) -> "1" {fun Screen1()}. Очень тупо, но читабельность кода хорошая.
Аноним 31/08/24 Суб 14:24:28 3260829 74
>>3260463
>Работаю год на бекэ Котлин
О, прикольно. Я думал тут только из-за andoid сидят. Как вкатился, проект с жабы переписывали, или новый просто?
>подсказать в чем они проявляются
В не интуитивном сложном поведении. Вот примеры всяких приколов
https://youtu.be/Qj_vTsN_4uo
Аноним 31/08/24 Суб 14:31:37 3260836 75
из плюсов хочу перекатиться в котлин и андроид разработку.
какие подводные?
Аноним 31/08/24 Суб 14:37:09 3260840 76
>>3260806
>AndroidView+Glide внутрь LazyVerticalGrid шириной 1 и кайфую. Лучше LazyColumn
Ниче не понял, LazyVerticalGrid вместо LazyColumn?
Я проверял, самый плавный список будет либо полностью на android view и xml, либо полностью на композе. Мб ты ошибся где-то просто, с Coil + compose не должно быть проблем. Если список способен меняться, надо указывать key для item. Так же важно заранее указывать размер каждого элемента в Lazy списке.
>when(Singletone.screenValue) -> "1" {fun Screen1()}.
Это в принципе и есть основа любой навигации. Есть стэк навигации, ты в зависимости от экрана в этом стэке показываешь определенный экран.
Только там дофига деталей ещё добавляется, типа вложенных стэков, жизненный цикл прикрученный к каждому стэку и экрану, анимации перехода, и т.д.
Аноним 31/08/24 Суб 14:39:10 3260843 77
>>3260836
>какие подводные?
Ебанутые требования к вкатунам, 0 вакансий джунов, необходимость иметь минимум год коммерческого опыта, может и накрученного.
Не знаю зачем тебе из плюсов в android, когда ты можешь в бэк пойти
Аноним 31/08/24 Суб 14:45:52 3260850 78
>>3260843
> бэк
какой еще бек, микросервисы?
Аноним 31/08/24 Суб 15:26:26 3260890 79
>>3260829
Да, с джавы переписывали, устроился в компанию и они как раз стали переписывать все сервисы. За видео спасибо.
Аноним 31/08/24 Суб 19:13:54 3261077 80
>>3260840
>LazyVerticalGrid вместо LazyColumn?
Да, так. Мне дали тз на пробу рисовать по 300+ айтемов списка (в каждом пикча). Ленивые колоны разочаровали потому что данные не выгружаются из памяти, и начинается упор в память (тестировал на 600+ пикч) вплоть до вызова GC. Вертикальный грид рисует то же самое, но без утечки памяти.
Аноним 31/08/24 Суб 19:24:02 3261083 81
>>3261077
Странно, ну да ладно. У коил есть настройки для кэширования на диске ещё.
А для больших списков я бы юзал пагинацию
Аноним 31/08/24 Суб 19:25:36 3261085 82
>>3260850
Да любой, что угодно только не андроид.
Я бы после плюсов пытался вкатиться в go/c#, а может и то и другое. У нас вот часть на c# часть на go как раз написана
Аноним 03/09/24 Втр 23:05:52 3263846 83
image.png 36Кб, 709x344
709x344
image.png 22Кб, 1194x107
1194x107
Помогите пожалуйста а то я сейчас ебнусь. Сразу скажу этот говнокод писал не я, но я и не понимаю как это исправить. Есть запрос в котором 2 джойна. В конце у класса, к таблице которого начинался запрос, вызывается метод wrapRow(). В методе toResponse() происходит обращение к связным сущностям по одному разу. И какого хуяя, вместо одно селекта он по 5 их хуярит. При том что конечный замапленный массив имеет меньшую длину. ПОЧЕМУ СУКААААААААА
Аноним 03/09/24 Втр 23:08:27 3263849 84
>>3263846
Забыл написать что ORM kotlin exposed
Аноним 04/09/24 Срд 15:42:33 3264297 85
>>3263846
Нейминг пиздец. Ты хотя бы по ебалу дай патору этого высера.
Аноним 04/09/24 Срд 15:44:22 3264302 86
>>3261085
Может, проще быдло на обычном питоне написать?
Аноним 04/09/24 Срд 16:04:23 3264329 87
>>3263846
Так, я хоть что то смог понять, но не уверен, опчик:
Во 1. WrapRow конвертит из модели дб в котлин объект и гдето там хз где сохраняет.
Во 2. Почему 5 селектов? Эта ормка очень сломанная и впринципе на ней нельзя писать еще. Она мне недавно базу данных поломала тем, что все данные обновила, хотя был запрос на upsert.
В 3. Он оборачивает старые запросы (branch) в котлин объекты, кидает в кеш, а потом еще новые оборачивает в котлин объекты, потом кидает из хз_какой_тип в list, а потом еще мапает в хз что это просто.
ПС. Есть лучшая альтернатива и не баганная - ktorm
Аноним 04/09/24 Срд 16:10:44 3264337 88
17245487559981.mp4 1161Кб, 720x1280
720x1280
>>3260453
>На композе Coil юзаю, у него альтернатив нет нормальных
Я обнаружил что есть класс GlideImage, интеграция Glide для компоуза. Синтаксис как у койла. Работает идеально, хоть и числится в альфе. Так понимаю, то что что у явы альфой называют, у котлина это стейбл.

Кстати сравнил okhttp3-5.0.0альфа14 и apache httpserver-5.3.1. Оба примерно одинаково сделаны, но апач стабильный, охуенно задокументированный, и побогаче на фичи. В общем okhttp был бы годнотой, если бы разрабы пидорасы не переписывали библиотеку каждый год. Буквально каждая библиотека котлина, сделаная как замена явовской, это образцовый анала-гов-нет. Апач мне больше всего зашел из http либ на андроид. Зря его гугл в петушиный угол записали. Не их, вот и бесятся.
Аноним 04/09/24 Срд 19:56:05 3264512 89
>>3264337
>Работает идеально, хоть и числится в альфе
Ты про эту залупу которая v1.что-то там alpha?
Я её пробовал, подходит только для самых примитивных кейсов.
Мало гибкости, api нищее.
А если попробовать сделать что-то чуть сложнее простого отображения без placeholder-а и индикатора загрузки, то всё сломается нахуй например анимации.
Они забили на поддержку композа, эта срань уже несколько лет в альфе. Я смирился, что их либа только для android view
Аноним 04/09/24 Срд 19:59:40 3264516 90
>>3264512
Вспомнил, я когда-то пытался запихнуть в LazyVerticalStaggeredGrid с Adaptive элементами этот GlideImage, так у меня просто ебать экран зависал при скролле, просто не работала прокрутка с этой либой
Аноним 05/09/24 Чтв 03:27:30 3264675 91
>>3264516
Ну конкретно GlideImage альфа в LazyVerticalGrid у меня работает плавно.
Аноним 05/09/24 Чтв 03:29:31 3264676 92
>>3264512
>если попробовать сделать что-то чуть сложнее простого отображения без placeholder-а и индикатора загрузки, то всё сломается нахуй например анимации
Для анимаций в мобилках придумали flutter, а компоузеры все копротивляются. Не ешь каку.
Аноним 05/09/24 Чтв 12:33:33 3264888 93
>>3264676
Шиз, спок. У композа супер гибкое api для анимаций, в том числе доступно нативное api, работать будет плавнее.
Кроссплатформа - кал, у кабан кабаныча уже были проблемы, так что делим на платформы
Аноним 05/09/24 Чтв 20:12:29 3265299 94
>>3264297
Да я там пиздец разбор полетов устроил, я в ахуе. У чела 4 года стажа. И самое забавное что меня наняли на поддержку его кода, КОТОЫРЙ ОН СУКА ПО ПРЕЖНЕМУ ПИШЕТ БЛЯТЬ АААААААААААААААААААААААААААААААААА
Аноним 05/09/24 Чтв 20:14:20 3265302 95
>>3264329
Да, я уже это понял. На проекте древняя версия и там кэширование моделей не работает. Начиная с 0.30.1 это пофиксили , но на проекте 0.17.1 и малой кровью там не переедешь, а контора не хочет платить за рефактор.
Аноним 06/09/24 Птн 16:40:47 3266109 96
203655.jpg 268Кб, 889x885
889x885
В общем на этой неделе поимел секс с этими либами, но итоги дали много полезной информации:
1) Coil и GlideImage работают почему-то абсолютно одинаково, но все-же более лагуче чем связка AndroidView+Glide. И в эту связку легко встроить событие нажатия на картинку. У кого одинаково работает - возьмите андроид со старым железом.
2) Okhttp все-еще жалкий форк apache httpclient. Сейчас обосную. Качал картинки через okhttp, а они бьются блять. Оказалось что если сервер далеко (проход через прокси в соседнюю сетку с nginx'ом в роли финального босса), то стрим (байты) шлется как несколько пакетов с паузами. Okhttp закрывает соединение сразу после первого пакета. Так и не смог найти в доках как заставить клиент читать из стрима больше одного раза. А apache из коробки спокойно ждет до таймаута, и собирает поток полностью в целостный файл, и это все на дефолтных настройках без танцев с бубном.

Админам локалхоста, у которых на диване нет проблем с okhttp, советую как-нибудь сходить на работу.
Аноним 06/09/24 Птн 19:57:30 3266281 97
>>3263846
заебись вы там копиума навернули, ваяете свою пагинацию. нахуа? в хибере есть готовый класс для этой хуйни
Аноним 10/09/24 Втр 20:24:15 3269570 98
Найхя нужны такие ошибки
Invalid resource ID 0x00000000.
2024-09-10 20:13:11.436 20724-20724 AndroidRuntime

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

С нуллом это вообще пиздец, нигде блядь его проверить нельзя если ставить ебучие !!, хуйня ебаная
Аноним 11/09/24 Срд 17:28:42 3270171 99
16615162386010.mp4 5861Кб, 720x1280, 00:00:12
720x1280
>>3269570
>Invalid resource ID 0x00000000.
>AndroidRuntime
>покажи блядь какой ты ресурс сука подгрузить не можешь пидорас ебаный.

Ну так это дегенераты на разрабах андроида, и им некогда фиксить ошибки пока они на переставленных кроватях ебутся с новыми никому не нужными фичами. Лучше бы в жепы ебались просто. Еще вместо колонки юмора можешь почитать про то как они до ART вообще сидели на форке виртуалки явы 8 с библиотеками из явы 6 (dalvik). Потом давлика назвали ART, и напиздел что это другая виртуалка но мы-то знаем. Короче создатели андроида никогда нормальный код в жизни не идели, и даже не подозревают какую шляпу они пишут.
Аноним 11/09/24 Срд 18:04:47 3270199 100
Чем так плохи чекед исключения что создатели языка решили от них отказаться? Я например четко знаю,что из Runnable,запущенном в экзекьюторе не должны выбрасываться исключения чтобы не убить весь экзекьютор. Перешедшие с джавы,сильно ли вас корежило от подобных сомнительных решений котлина?
Аноним 11/09/24 Срд 18:32:56 3270219 101
>>3270199
Нет, не сильно волновало. Большинство ошибок на бекэ ты не исправишь, остаётся только наверх их выкидывать.
Аноним 11/09/24 Срд 18:33:49 3270222 102
>>3270219
Ну так их выкидывают наверх чтобы потом обработать
Аноним 11/09/24 Срд 18:36:45 3270223 103
>>3270222
Чтобы bad response отдать? В спринге и так можно прописать хорошие фильтры, которые всю чушь будут ловить.
Аноним 12/09/24 Чтв 00:42:31 3270475 104
сап, вкатун нулевик итт, какая самая лучшая книга по котлину с самых азов по твоему мнению, анон? Не могу выбрать какую начинать читать. Желательно конечно на великодержавном, но и инглиш тоже подойдет
Аноним 12/09/24 Чтв 01:17:09 3270483 105
>>3270475
собираюсь начать с Atomic Kotlin, но смущает что она про версию 1.5. Смогу ли потом наверстать упущенное, и если да, то подскажите последующие книги для освоения новых версий
Аноним 12/09/24 Чтв 07:46:11 3270543 106
>>3270475
Kotlin in action 2

Дальше просто смотрим видосы про котлин у philipp lackner'а и читаем доки на сайте котлина
Аноним 12/09/24 Чтв 15:39:57 3270847 107
убираем блоки.mp4 6537Кб, 464x848, 00:00:32
464x848
>>3270543
>philipp lackner
Он из гуглолахты, так что научит только оверхеднутое говно по методичке писать. Учитесь снимать психологические блоки и читать про котлин+компоуз из нормальных источников: личных блогов, релиз ноутов, презентаций конференций (мобиус).
Аноним 12/09/24 Чтв 20:05:40 3271128 108
>>3270543
так он же для тех кто жаву знает
Аноним 12/09/24 Чтв 20:06:11 3271129 109
Аноним 12/09/24 Чтв 20:42:20 3271144 110
>>3271128
Так там почти ничего сложного нет.
Если прям с самого нуля и вообще ты хлебушек - head first kotlin и потом kotlin in action 2 >>3270475
Аноним 12/09/24 Чтв 23:57:35 3271357 111
правда ли что список.map {} без asSequence() тупо копирует весь массив и уже потом применяет map к каждому элементу?
Аноним 13/09/24 Птн 06:44:50 3271435 112
>>3271357
Ну если судить по старым докам, то там работает так:
Копируют массив, который ты меняешь-> применяют к каждому элементу твой модификатор (фильтр, мапа, еще что) -> выходит массив
С секьюенс
Берут первый элемент -> модификатор -> в массив (если прошел), и так далее
Аноним 13/09/24 Птн 06:45:33 3271436 113
>>3271435
А, ну потом отфильтрованный массив возвращают тебе, как мапа через .asSeq
Аноним 13/09/24 Птн 14:11:20 3271810 114
А поясните по корутиноскоупам

Вот смотрю видео с примером Snackbar в компоуз. И там viewModelScope отравляет объект в Channel, а где то там уже в своем корутиноскоупе делается collect и выгребается.

Так вот этот объект содержит лямбду, по факту калбэк. И вот она вызывается после показа snackbar как .invoke() - и она выполняется почему то на первоначальном viewModelScope

где об этом почитать про захвата вот так первоначального скоупа метода что куда то передается?
и, собственно, как передать метод чтобы ничего не захватилось?
Аноним 15/09/24 Вск 13:38:04 3273328 115
был тут какой-то анончик, что читал в доках градла, что проект может даунгрейднуть версию библиотек ради сборки проекта.

Я поймал ошибку, связанную с конфликтом K2 и Kapt и у меня даунгрейднулась версия котлина до 1.9 :D
Аноним 15/09/24 Вск 21:10:06 3273653 116
>>3273328
Поподробнее плиз. Типа указана версия 2.0, но факту другая?
Выкинулась ошибка, ты снова тыкнул билд, и заработало само?
Аноним 16/09/24 Пнд 06:23:23 3274047 117
>>3273653
Указана версия:
2.0.10 (котлин)
2.0.10 (капт)
2.51 (dagger hilt)

При билде, выходит варнинг (примерно такой), но все равно билдится проект (hello world, без кода вообще): Kotlin 2 doesnt support KAPT, falling to kotlin 1.9 (непонятно какой версии именно, просто 1.9)
Ошибки или вылетов при синхронизации/сборке не было, просто белый текст варнинга. Думаю, если использовать фичу из kotlin 2 и словить баг с kapt (что он не поддерживается якобы), то билд зафелится т.к. используется совсем другой компилятор у kotlin 1.9
Аноним 16/09/24 Пнд 06:24:48 3274048 118
>>3274047
Белый текст варнинга в консоли при сборке*
Аноним 16/09/24 Пнд 10:00:35 3274146 119
Ну что, нашли за 3 треда применение котлину?
Аноним 16/09/24 Пнд 13:23:14 3274273 120
Аноним 16/09/24 Пнд 17:15:59 3274456 121
1685148060160.jpg 298Кб, 1080x1132
1080x1132
>>3271810
Это очередная суходрочка чтобы 2Ггц проца на андроиде схавать и заставить лагать. Ебанешься разбираться как там пидоры все переусложнили. Даже не пытайся. Просто объявляй в одном месте remember SnackbarHostState и SnackbarHost. Потом отсюда можешь в любую фунцию передать аргумент remember SnackbarHostState и менять его снизу (bidirectional flow чистой воды).

Хуе-мое, проще кодом объяснить.

@Composable
fun MainMenu() {
val state = remember { SnackbarHostState() }
val scope = ???
val host = { SnackbarHost(state) }
InvokeMessage(state)
}

@Comosable
fun InvokeMessage(state: ???) {
GlobalScope.launch {
state.showSnackbar("MESSAGE")
}
}
Аноним 16/09/24 Пнд 17:24:46 3274462 122
17034076190920.png 1081Кб, 1080x1164
1080x1164
>>3274146
Мобилки. Ну и для рабов явы придумали аттракцион с переводом кода с явы на котлин, но это больше фан чем что-то продуктивное главное чтобы начальник не понял что мы переставляем кровати.
Аноним 16/09/24 Пнд 18:00:50 3274483 123
>>3274456
>Даже не пытайся
Не не. Я это и хочу понять. У меня нет проблем показа снэкбара.
Я хочу понять механизм кто в чем выполняется.
Я понимаю что suspend функция выполняется в скоупе для этого есть всякие там launch/async. Но тут ключевое "выполняется".
А получается, что даже просто определенные лямбды уже знают про скоуп.

То есть если если 1000 скоупов положат лямбды в единый список, и 600 помрет, а потом единый скоуп (пусть будет GlobalScope.launch) пройдет по этому списку и выполнит .invoke() у каждой, то будет выполнено 400 что ли?
А если я хочу выполнить все же 1000?

вот это я хочу понять. А снэкбар просто пример где я увидел то, что не ожидал.
Аноним 16/09/24 Пнд 18:49:50 3274535 124
1681217949188.jpg 428Кб, 756x892
756x892
>>3274483
Есть разные скоупы под разные задачи. В принципе в большинстве случаев можно пользоваться любым, но главные разичия таковые:
- ГлобалСкоуп, текущий тред, который спокойно обработает 1 задачу. Его даже вызывать не надо, он уже существует в рантайме
- КорутинСкоуп, работает до первой ошибки в корутинах
- СупервайзорСкоуп, выполняет все корутины даже если была ошибка

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

Так что если качаешь пачками пикчи, то через Супервайзор, если корутины зависят друг от друга то в обычном скоупе. Ну и глобальный когда надо буквально 1 операцию сделать в композабле с околонулевым потреблением ресурсов (создание скоупа тоже расходует ресурсы, и проще отдать в глобальный).
Аноним 16/09/24 Пнд 18:53:42 3274541 125
>>3274483
>определенные лямбды уже знают про скоуп
Это тебе надо к документации компилятора обращаться по теме strong skipping. В К2 дефолтный механизм с лямбдами немного изменился. Читая статьи по скиппингу ты найдешь много ключевых слов по своему вопросу.
Аноним 16/09/24 Пнд 20:14:29 3274633 126
>>3274535
спасибо ChatGPT за подробный, но абсолютно бесполезный ответ)

>>3274541
>strong skipping
гугл ведет в strong skipping для compose.
ну а вообще вот
https://youtu.be/KFazs62lIkE?t=999

Он пуляет в Channel из viewModelScope, а в глобальном контексте собирает из этого канала и показывает снэкбар, а если там есть каллбек, то его вызывает. И вот тут спорный момент

перевожу с буржуйского - "если вы запустите первый снекбар (с калбэком), а затем уйдете с экрана то viewModelScope будет очищен и вы не сможете запустить ничего с ним и поэтому калбек не будет выполнен (и это желаемое поведение)"

Я качнул репу с уроком по ссылке под видео. и не нашел ничего умнее чем вставить print($this) в скоупах и увидел что у них разные айди и пошел сюда спрашивать "это что за магия" - почему this и контекст каллбэка такой же как изначальный у viewModelScope? Разве калбэк не выполняется в том скоупе куда его передали и в итоге вызвали?
isActive при этом почему то всегда false

Но самое главное - я вызвал в его коде снэкбар и ушел с экрана (конечно создав при этом доп экран чтобы с него можно было уйти тупо нажав назад) и калбэк выполнился. Да, он говорит что viewModelScope Cancelled, но он все равно выполняется
Что противоречит челу в видео.

И я окончательно запутался.

compose тут не причем. Можно сделать и без композе и все равно калбэк выполнится. Тогда о чем глаголит этот чел?
(ну и попутно "что вообще происходит. почему в калбэке isActive = false)
Аноним 17/09/24 Втр 03:28:36 3274775 127
>>3274633
Посмотри, может isActive это проперти унаследованная от предка, которая просто не используется
Аноним 19/09/24 Чтв 16:23:51 3276678 128
>>3247263 (OP)
На котлине вообще разрабатывают бекенд? Или 99% работы это андроид?
Аноним 19/09/24 Чтв 17:14:51 3276715 129
Аноним 19/09/24 Чтв 17:27:47 3276731 130
>>3276715
Странно, я смотрю вакансии и почти всё это мобильная разработка. Я просто хочу перейти из одного стека в другой, опыт в бекенде 6 лет, выбираю между C#, Go и Java/Kotlin. Синтаксис котлина крайне приятен, но хочется уверенности в том, что будет не слишком сложно искать работу.
Аноним 19/09/24 Чтв 23:11:28 3277068 131
>>3276731
Работы мало, джава со своими виртуальными потоками поднасрала котлину
Аноним 23/09/24 Пнд 00:07:50 3279091 132
>>3277068
Но виртуальные потоки доступны так же из котлина.
>>3276731
Я бы выбирал котлин, только если он реально зашел тебе, а остальные прям нет.
А так, я чаще всего вижу бэк на c#, java и go.
И да, котлин чаще всего используют именно для мобильной разработки. Если только вкатываешься в язык, то как будто трудно найти вакансию котлин бэкендера без опыта. Хотя можешь попробовать, если ты бывший джавист, т.к. джаву иногда переписывают на котлин, ну или вместе используют.
Какой у тебя стэк то был?
Бывших php-шников принимают на golang вакансии, например.
Я бы попробовал в go вкатиться
Аноним 23/09/24 Пнд 02:23:12 3279111 133
>>3279091
Писал бекенд на ноде 6 лет, последние несколько месяцев на го. Го не сильно понравился, а вот тайпскрипт обожаю, и котлин на него сильно похож, при этом нет дурацких ограничений дырявого, медленного и одноногого рантайма. Серьёзные большие проекты редко делают на ноде/тайпскрипте, так что нужен и язык посерьёзнее.
Аноним 23/09/24 Пнд 15:01:44 3279493 134
>>3279111
Как определяется серьёзность языка?
Аноним 23/09/24 Пнд 15:16:15 3279507 135
>>3276678
Вкатывайся, думаю бэк на спринге 50/50 пишут, но легаси бэк это ток джава. И большинство вакансий так или иначе требуют джаву. Но не всё так плохо, ты можешь свои модули для легаси писать на котлине, по любому будут микроспрвисы которые будешь писать с нуля со свободой выбора. Учите Котлин, но знайте джаву
Аноним 24/09/24 Втр 05:25:47 3279856 136
>>3279493
Видимо, по мнению "старших" из ютуба. Чушпанов же не слушают, а там тебе всегда пояснят за язык и как if и while правильно на ровном языке написать.
Аноним 24/09/24 Втр 08:23:53 3279885 137
>>3277068
Самое смешное, какие бы новые технологии джава не реализовывало раз в 10-15 лет в своем JVM, все это будет доступно и в котлине.
О чем ты вообще?
Аноним 24/09/24 Втр 16:35:05 3280180 138
>>3279493
Серьёзный язык это когда разработка крупных серьёзных проектов на этом языке — обычное дело
Аноним 25/09/24 Срд 05:13:07 3280709 139
>>3280180
Сейчас на языке хер-нейм напишут круд-микросервис, выпустят статью, что мы переписали с жопа-нейм на хер-нейм ради пиара. И ты "впечатлительный" поверишь в серьезность языка.

В крупных и серьезных проектах не хватает крупных и серьезных спецов, именно поэтому зачастую в крупных компаниях зоопарк из языков, зачастую даже круды на кривом жопоскрипте пишут. Вот такая там реальность, а не как ты нафантазировал себе, авторитетозависимый.
Аноним 25/09/24 Срд 19:38:02 3281360 140
>>3280709
Мне не нужны стать чтобы во что-то верить, я знаю какие языки фактически массово используют в крупных проектах
Аноним 26/09/24 Чтв 08:09:39 3281651 141
>>3281360
Сейчас массово используют го в микросервисах (и жс, куда его можно засунуть).
Если бы ты действительно что-то знал, то в этом треде не сидел бы.
Аноним 26/09/24 Чтв 15:30:34 3282017 142
>>3281651
Я это знаю. Про жс ты не прав, его в крупных проектах используют, и в монолитах, и в микросервисах, но не массово. Го используют вполне массово, особенно в постсоветском пространстве.
Аноним 05/10/24 Суб 17:08:14 3290075 143
Аноним 06/10/24 Вск 09:30:51 3290528 144
>>3290075
Соя в комментах насрала.
А вообще парень прав, язык красивый и удобный, но ровно до тех пор, пока не пишешь критически важное. Тут и начинаются танцы с бубнами по типу "вы руззкий, активацию/оплату не дадим" или более потребление памяти из-за оверхедов. Ну и idea - параша, которая ломается время от времени просто потому-что может
Аноним 06/10/24 Вск 11:42:03 3290614 145
>>3290075
Завязка на идею + блядский градл это ред флаги из-за которых никто их моих знакомых не захотел пробовать котлин. Вот так и проебали jb server-side гошникам.
Аноним 06/10/24 Вск 12:25:59 3290633 146
>>3279111
>6 лет
Пиздаболам в рот нассым?
Аноним 06/10/24 Вск 12:43:47 3290645 147
>>3290075
Лол буквально это я и говорил в прошлых тредах
Аноним 06/10/24 Вск 13:23:31 3290679 148
>>3290614
Двачую, грэдл убивал вкатунов возможно вообще вся старая жабья тырпрайз инфраструктура и убила котлин.
Аноним 06/10/24 Вск 13:29:42 3290687 149
>>3290614
>server-side гошникам.
Обмазался шарпами, доволен как слон. Да, синтаксис, конечно, не такой молодежный, как у котлин, но если ты писал годами на джаве/пхп это прям сказка. В целом, от изобилия возможностей, я прям балдею.
Понятно, что все упирается в работу, но рекомендую потыкать, хотя бы в юнити поковырять вечерами свою инди-перделку. Веб и мобилки уже осточертели.
Аноним 06/10/24 Вск 13:36:20 3290692 150
>>3290679
А еще не совсем понимаю kmp и вообще этот нейтив и компиляцию в жс. Выглядит как мечты студентов захватить весь мир. В итоге нигде не приуспели.

Понятно что основная идея охватить максимум рынка и продать больше ide, но увы vsc код наступает на пятки.
Аноним 06/10/24 Вск 14:41:08 3290748 151
>>3290692
Кстати нейтив была бы неплохая идея для бекенда и возможно взлетела, если бы они были более открытими, более документарованными и у котлина был бы свой lsp от разработчиков языка. Считай бинарник без виртуальной машины, еще и с нормальным синтаксисом. Жадность фраера сгубила хули, плюс из-за того что ими иде пользуются по всему миру, то решили что могут делать все что хотят, охуевая больше чем майкрософт.

Вообще если сейчас выпустить условную гошку под капотом с ООП синтаксисом по типу котлина или тайпскрипта, где не нужно писать бойлерплейт, только чуть упростить чтобы было понятно для всех и повысить скорость компиляции, например от части сахара избавится. Ну и реализовать как-то метапрограммирование, например как атрибуты макросы в расте, которые в компайлтайме генерируют код и выглядят как привычне всем аннотации/декраторы. Чтобы было открыто, хорошо документаровано, а не как в котлине "Я у соседа спрошу", ставилось одной командой apt install zver-language или запуском zver_language.exe для ущербных, работал бы lsp сервер чтобы можно было работать от вима до идеи, ну и все остальное из коробки как в той же гошке.
Это вообще сразу взлетит на мой взгляд.
Аноним 06/10/24 Вск 17:07:00 3290858 152
Почитать сейчас есть что актуальное?
Аноним 06/10/24 Вск 18:09:38 3290919 153
>>3290748
У зига интересная кодогенирация и никаких макросов, макросы это на самом деле зло. Но доков там не будет, да и это системщина (альтернатива си). Хорошая дока это только мейнстрим языках. Можешь потыкать aot в шарпах, хз насколько там рефлексия работает в aot, но зато макросах потребности нет.
А вообще оптимизации у jit сильнее чем достижимо в aot.

сейчас прибегут фанбои, но ложи болт, будь полиглотом
Аноним 06/10/24 Вск 18:13:15 3290921 154
Аноним 06/10/24 Вск 18:45:14 3290956 155
Аноним 06/10/24 Вск 20:58:06 3291189 156
>>3290919
>сейчас прибегут фанбои
Уже шарпомуха прибежала лол
Аноним 16/10/24 Срд 12:48:35 3299639 157
Аноним 16/10/24 Срд 16:11:48 3299867 158
Аноним 17/10/24 Чтв 09:47:19 3300331 159
>>3299867
Опыт Xamarin их ничему не научил
Аноним 17/10/24 Чтв 11:52:28 3300454 160
>>3299867
Кликбейт название всего лишь, нафиг такое скидывать вообще
Аноним 17/10/24 Чтв 11:59:29 3300464 161
>>3299639
Так васм входит в kmp по идее, не?

Хотя получается они делали компиляцию в js и прочее, а теперь достаточно только добавить компиляцию wasm, и он уже разберется дальше сам.

Я думаю котлин только выиграет, будут брать язык для wasm, на котором максимально удобно писать. Дарт офк не выберут, предпочтут котлин и верстку на нем. Какие ещё удобные языки есть из современных? Питон - это гадость. Swift только на ум приходит
Аноним 17/10/24 Чтв 13:38:45 3300582 162
>>3290614
Я бы сюда добавил еще то что все крутится вокруг жабы, в итоге пишут на спрингоговне, всякие JPA, все вот эти вот аннотации, конфиги в особо клинических случаях xml
Вот это прям пиздец отвращение вызывает, я готов смириться с некоторым вендорлоком от жыдбрейнс если будут слишком много борзеть то на крайняк появится форк но вот то что придется погружаться в это ынтерпрайз болото нет
Аноним 17/10/24 Чтв 14:00:40 3300592 163
image.png 129Кб, 300x168
300x168
Аноним 17/10/24 Чтв 14:08:04 3300596 164
>>3300592
Принеси вакансии на ktor не добавленные ради красного словца ключевые слова для поиска, а реально проекты на ktor. Писать для себя можно хоть на экзотике типа хаскеля с кложей, другой вопрос будет ли это пригодно на практике
Аноним 17/10/24 Чтв 14:15:55 3300602 165
>>3300596
Ну хз, почти любой бэк - это легаси кал энивей.
Я бы go учил, чтоб на что-то относительно свежее попасть.
Котлин скорее прикладной язык, в первую очередь для мобилок. Мб в будущем и для фронта/десктопа, но в бэке как будто ниша занята c#, go и джээээвой
Аноним 17/10/24 Чтв 16:21:29 3300701 166
>>3300464
Как я понял, васм немного соснул и они переключились на wasi, идея типа общего байткода. Мол ты можешь юзать библиотеки, которые написаны на разных языках и твои библиотеки смогут так же все юзать. Еще можно готовые компоненты динамично подключать и передавать по сети (там в презентации дергали с раста на ноду и питон)

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

А так васм в котлине в альфе. Проблема котлина, это медленное развитие, когда как в шарпах уже пилиться готовый продукт типа блазора, го васм работает только через отдельный компилятор, хотя го сам костыль.
Интересная табличка.
https://developer.fermyon.com/wasm-languages/webassembly-language-support
Аноним 17/10/24 Чтв 16:22:44 3300703 167
>>3300454
Ты видео посмотри сначала.
Да чел вроде не инфоцыган.
Аноним 17/10/24 Чтв 16:23:17 3300706 168
Аноним 17/10/24 Чтв 16:30:26 3300717 169
>>3300602
Читаемость го ужасная, простые действия типа пожонглировать данными превращается в портянку на два три экрана, когда в котлине это просто несколько строчек (если по строчкам дробить).

Го больше 12 лет, там раньше и сейчас велосипедили каждый свое, сопровождать такой код ужасно. Поверь, лучше старые спринги подергать, которые дефкто стандарт, чем неведомые самописульки в процедурном стиле в тонне бойлерплейта и без документации.
Аноним 17/10/24 Чтв 16:34:24 3300724 170
изображение.png 119Кб, 1316x766
1316x766
>>3300706
Коротко об истории успеха, в свое время двери с ноги открывали со словами что это будет кросплатформеная мегагиперхуйня
Аноним 17/10/24 Чтв 16:50:21 3300739 171
>>3300724
Насколько я понимаю в мобильной дресне, то всякие дарты и ксамарины это слой абстракции, это жизнеспособно, просто мягкие просрали рынок.

А вот кмп это нативный код для разных платформ - как это может выстрелить я хз, ну типа как ты будешь котлин либы юзать в среде мака, кто тебе их будет переносить? Тебе все равно нужен будет мак, не проще взять просто свифт и писать по готовым докам в родной среде?
Аноним 17/10/24 Чтв 16:57:02 3300748 172
>>3300739
Проблема в том что это будет в любом случае слой абстракций и определенные ограничения, под разные платформы невозможно нативно писать и как только требуется выйти из этого заповедника абстракций так и начинается глобальная боль
Аноним 17/10/24 Чтв 18:10:12 3300816 173
>>3300739
Предлагают писать доменный код на котлине, и юзать котлин либы, которых по идее достаточно для всего.
А с версткой уже проблемки, как и с некоторыми системными хуйнями, так что проект не будет полностью на котлине, но вся доменная логика на котлине пишется в kmp по идее. Либ хватает.

Но мелкокомпаниям офк проще разделять на платформы
Аноним 17/10/24 Чтв 18:54:46 3300836 174
ГигаIDE - ГООООЛ? Аноним 21/10/24 Пнд 05:24:11 3303969 175
image.png 256Кб, 1919x1001
1919x1001
image.png 57Кб, 300x168
300x168
Поясните за ГигаIDE, я скачал и это intelli + pycharm в одном. Ну в принципе эти ide это open source. То есть сбер взял эти ide которые open source, объеденил в одно и добавил своё расширение гигакод, и сказал это ГООООЛ? Так что ли?

https://gitverse.ru/features/gigaide

Затестите и скажите ваше мнение.
Аноним 21/10/24 Пнд 13:43:51 3304336 176
>>3303969
>То есть сбер взял эти ide которые open source, объеденил в одно и добавил своё расширение гигакод, и сказал это ГООООЛ? Так что ли?
Типа того, еще взяли на работу кого-то из жыдбрейнс кто идею писал. На сколько я понял если бы они могли спокойно покупать идею по принципу пармезана и креветок из Беларуси, то никто бы мозги не ебал, а тут конкретно перекрыли доступ к идее, вот и решили такое запилить.

>Затестите и скажите ваше мнение.
Та же самая идея, только некоторые расширения свои вместо родных
Аноним 21/10/24 Пнд 17:24:21 3304602 177
>>3303969
Ноут от их сайта просто завывает.
Она бесплатная?
Аноним 21/10/24 Пнд 18:13:31 3304677 178
>>3247263 (OP)
Ого, Коклин еще не окончательно протух судя по бурлению тредика, респект
Аноним 21/10/24 Пнд 19:14:57 3304744 179
>>3303969
Охереть наговнили, в win11 нельзя увидить эту программу в apps, собственно, по простому удалить.
Аноним 21/10/24 Пнд 19:26:24 3304752 180
>>3304677
Мы тут на поминки собрались
Аноним 21/10/24 Пнд 19:55:39 3304792 181
>>3304677
>>3304752
Щас бы оценивать что-то по бурлению тредов на дваче. Тогда можно прийти к выводу что gnu/linux имеет популярность как windows, а фаерфокс еопулярнее хромиума. Если всё работает обсуждать нечего, если всё говно то бурления обсуждения. Намёк понял?
Аноним 21/10/24 Пнд 21:01:57 3304885 182
image.png 110Кб, 1086x695
1086x695
>>3304677
/pr не на дне по скорости постинга, только из-за автоботов в треде "мы вам перезвоним". Так что тут еще можно поспорить что протухло.

Если судить по зведным репам в гитхламе, то за последние годы рост в 3 раза. Даже на протухающем SO есть рост (пикча)
Аноним 21/10/24 Пнд 21:46:52 3304904 183
>>3304885
Что такое вообще тэг xo? Мне даже в /xo не смогли ответить, что такое xo.

Что обсуждают в /xo, может алгоритмы? Может фреймворки, нет, там обсуждают как же хочется тяночку и как кушают пиццу. Это никакой не /pr это просто филиал /b без порнухи.
Аноним 21/10/24 Пнд 22:02:28 3304907 184
>>3304885
у тебя на графике 4 полумертвых языка
Аноним 21/10/24 Пнд 23:32:04 3304962 185
>>3304885
Этот график говорит лишь о том что много вопросов по нему и небезосновательно
Аноним 22/10/24 Втр 07:26:15 3305113 186
image.png 71Кб, 1076x654
1076x654
>>3304962
>и небезосновательно
Если это было так, то раст давно бы обогнал питон, но увы, твой манямир не работает.

Этот график говорит сколько вкатунов или перевкатунов интересуются языком, не хватает только графика по просмотрам, так как большая часть по поиску попадают.
Аноним 22/10/24 Втр 07:33:32 3305118 187
>>3304907
Котлин обеспечен андроидом, как js обеспечен браузерами. Так что вероятнее твой яп загнется быстрее, чем обеспеченные платформой языки.
Аноним 22/10/24 Втр 09:08:05 3305183 188
>>3305118
>Котлин обеспечен андроидом
На Ведриде можно писать нормальной Джавой и не учить очередной синтаксический сахарок за пределами гуглопетушарни который не нужен, это и к Го относится
Аноним 22/10/24 Втр 09:08:47 3305184 189
Аноним 22/10/24 Втр 09:20:54 3305201 190
>>3305113
Все логично, растом вкатуны и долбоебы не пользуются там слишком высокий порог входа, плюс люди с опытом сначала идут в документацию, а потом заебывают всех вопросами, собственно из-за чего большая часть нубских вопросов просто отпадает
Аноним 22/10/24 Втр 09:27:51 3305210 191
>>3305201
>там слишком высокий порог входа
Достаточно быть пидарасом в прямом смысле этого слово, никто из норм языков в растопарашу не перекатывается и не будет
Аноним 22/10/24 Втр 09:42:40 3305233 192
>>3305210
>Достаточно быть пидарасом
Ты немного неправильный путь для изучения раста выбрал, вот у тебя и не получилось. Я понимаю ты ищешь легкий путь для себя повторяя то что делают трапики в Калифорнии, но попробуй не через анально-ректальный способ, а с чтения документации для начала
Аноним 22/10/24 Втр 09:45:52 3305239 193
>>3305233
>Ты немного неправильный путь для изучения раста выбрал
Так, а зачем мне его учить? Что бы что?
Аноним 22/10/24 Втр 09:52:56 3305249 194
>>3305239
Я как понимаю ты не правильно понял процесс обучения и просто хотел получить удовольствие став пидарасом
Аноним 22/10/24 Втр 10:04:01 3305262 195
>>3305249
Если бы я стал пидарасом, я бы учил Коклин и любил ДжетБрейнс.
Аноним 22/10/24 Втр 10:13:37 3305278 196
>>3305183
>нормальной Джавой
Ты писал на это говнине после котлина? Да даже после шарпов, которым 20+ лет и то больно.
Аноним 22/10/24 Втр 10:19:19 3305286 197
>>3305201
Очень удобно просто спросить у гулугу как сделать "это" в "этом" языке даже если читал доку.
Я полиглот и у меня уже каша того как делается одно и тоже, но по разному в разных языках, так что в жопу читать доку каждый раз.

Раст несложный, это буллшит, он просто неудобный, но из-за боязни отмены об этом мало говорят, ибо язык политический.
Аноним 22/10/24 Втр 10:19:27 3305287 198
>>3305278
>Ты писал на это говнине после котлина
Конечно, выучил ЯвуС++ все двери открыты, что не скажешь про анально огороженный Коклин, тем более душок ДжетБрейнс вызывает еще большее отвращение
Аноним 22/10/24 Втр 10:32:50 3305304 199
>>3305287
Ты просто обиженный жизнью, приятно что у котлин треда появился свой обиженный хейтер, но скорее всего ты тот шиз, которых срет во всех тредах.
Аноним 22/10/24 Втр 11:36:01 3305370 200
>>3305304
> обиженный жизнью, обиженный хейтер, шиз
орнул
Аноним 22/10/24 Втр 12:13:50 3305421 201
Аноним 22/10/24 Втр 17:16:25 3305802 202
>>3305183
Проиграл)
На котлине кайф писать, а вот от джевы блевать тянет, ну да ладно. Даже если тебе джэва больше нравится, на андроиде ты писать не сможешь, т.к. новые фишки джэвы только в новых версиях появляются, а предыдущие версии андроида их не поддерживают.

В котлине же новые фишки поддерживаются на всех версиях андроида, благодаря компилятору котлина. В андроид мире джавы всё меньше и меньше, а со временем её полностью выпилят за ненадобностью. По сути котлин стал идеальным инструментом для плавной миграции с джэвы. А когда всё на котлине будет, то и jvm можно попробовать выпиливать, т.к. появится какой-нибудь wasm, или kotlin native
Аноним 22/10/24 Втр 17:24:43 3305808 203
>>3305802
> В андроид мире джавы всё меньше и меньше, а со временем её полностью выпилят за ненадобностью
Поэтому на Ведроид пишут на каком нибудь Реакте или Электроне, никто об Коклин не шкварится
Аноним 22/10/24 Втр 18:22:54 3305850 204
image.png 589Кб, 604x453
604x453
Аноним 23/10/24 Срд 10:59:43 3306218 205
image.png 57Кб, 1022x491
1022x491
Писал последнее время в вскоде, решил котлин поняшить, ну что я вижу. Такое ощущение что им там просто делать уже нечего и они сидят и придумывают эту хрень всякую визуальную.
Ну зачем, у нас редактор кода, а не инстаграм.
Аноним 23/10/24 Срд 11:37:05 3306253 206
image.png 13Кб, 752x107
752x107
Лол, это ппц. Электрон на жс жрет меньше чем это. Что за звездец, там же хеллоуворд?
Аноним 23/10/24 Срд 12:57:11 3306347 207
>>3306253
Там ещё ИИ нашёптывать может, прямо в твой код можно посадить его, чтобы срал.
Аноним 23/10/24 Срд 14:04:42 3306397 208
image.png 4Кб, 202x44
202x44
>>3306347
Платно же и еще без прокси не скачать ничего, вчера плагины ручками качал ставил (так как тор только).

Забавное нытье и как житбрейнсы симулируют работу техподдержки.
-У меня пустая говнина сожрала 3гб, а две говнины 5гб!
-Пожалуйста свяжитесь с техподержкой и отправьте данные

И все это вместо того чтобы сказать - это жаба-IDE брат, смирись, это норма!
https://intellij-support.jetbrains.com/hc/en-us/community/posts/6746377604498-The-IDE-is-really-taking-up-too-much-memory

Есть ли будущее у жабы и котлина с таким тулингом? Я не помню чтобы так жрало раньше, что они там делают?
Хотя в угу статистика показывает что жрет немного (пикча)
Аноним 23/10/24 Срд 14:57:54 3306431 209
>>3306397
>Я не помню чтобы так жрало раньше, что они там делают?
Здрасте, с высеров ДжетБрейнс всегда лолировали, хорошо что это говно теперь везде снесли
Аноним 23/10/24 Срд 15:34:17 3306475 210
>>3306431
Последний раз в 20 году писал мелкую херню, помню жрало по гигу, наверняка где-то это можно настроить, но кому это надо? Жаба вообще не пригодна для обычного софта, даже если правда отъедено 400мб, то какого фига она сверху еще 2000 захапала?

А еще раньше можно было синхронизировать конфиги через гитхаб, хотел прицепить старые конфиги, но был послан, оказывает теперь только через аккаунт жб. (づ ◕‿◕ )づ
Аноним 23/10/24 Срд 15:46:35 3306486 211
>>3306475
>аккаунт жб.
Так они даже оплаченные лицензии если ты в РФ блокируют, там уебки феерические, с другой стороны поделом кто себе в жопу вендорлок засунул
Аноним 23/10/24 Срд 19:05:52 3306617 212
>>3306218
Ни разу не видел такого. Мб в первый раз когда заходишь, новая версия идеи подсказки включает
Аноним 23/10/24 Срд 19:07:55 3306619 213
Это вы еще не видели, сколько android studio жрёт, там вообще отвал
Аноним 23/10/24 Срд 19:42:04 3306659 214
>>3306253
На линуксах та же история, именно поэтому я и перелез на vscode незадолго до блокировки лол
Аноним 23/10/24 Срд 19:46:32 3306662 215
>>3306397
>-Пожалуйста свяжитесь с техподержкой и отправьте данные
А в техподдержке тебя пошлют на хуй на инглише, ребята из Питера, по причине того что ты не в той стране родился. Так забавно читать когда тикеты такие закрывают, в ТП сплошные русские фамилии
Аноним 23/10/24 Срд 20:12:53 3306684 216
>>3306662
Странно, у них и так все плохо, а они еще себе рынок рушат.
Аноним 23/10/24 Срд 20:25:14 3306688 217
lv0202410232022[...].mp4 2705Кб, 1280x700, 00:00:15
1280x700
>>3306684
>у них и так все плохо
Как у монополистов может быть плохо? Только не надо говорить , что кто-то vs code напердолил расширениями так, что это теперь полноценная ide. Если хочешь обсуждать джетбрейнс прошу в /s, тут обсуждают Котлин: https://2ch.hk/s/res/3534595.html
Аноним 23/10/24 Срд 20:36:34 3306691 218
>>3306688
>Если хочешь обсуждать джетбрейнс прошу в /s
Ты аутист? Как софт для разработки, который фактически прибит к котлину обсуждать вне раздела программирования? С кем я там буду обсуждать IDE?

Это как советовать художнику идти обсуждать мольберт в раздел лесозаготовки.
Аноним 23/10/24 Срд 20:39:53 3306692 219
>>3306691
>>софт для разработки, который фактически прибит к котлину.

sudo snap install kotlin --classic
Можешь теперь разрабатывать в блокноте
Аноним 23/10/24 Срд 20:43:23 3306694 220
image.png 58Кб, 899x782
899x782
>>3306688
>Как у монополистов может быть плохо?
Ага, где-то на уровне нодпад++

>Только не надо говорить , что кто-то vs code напердолил расширениями так, что это теперь полноценная ide
Неожиданно, но для 99% IDE это автокомплит и раскраска буковок.
Аноним 23/10/24 Срд 20:47:04 3306697 221
>>3306688
>Как у монополистов может быть плохо?
>Только не надо говорить , что кто-то vs code
Так все равно, что высрали свой vscode в виде флита, который идет на компромисс жадности и поддерживает все языки.
Аноним 23/10/24 Срд 20:58:05 3306704 222
sosurveyides.jpg 668Кб, 2400x3810
2400x3810
Аноним 23/10/24 Срд 21:00:11 3306708 223
>>3306697
>поддерживает все языки
Так это заебись же, или ты кроме Кеклина ничего больше ниосилил?
Аноним 23/10/24 Срд 21:09:08 3306714 224
>>3306708
А как теперь продать одну иде - несколько раз?
Аноним 23/10/24 Срд 21:10:31 3306716 225
Аноним 23/10/24 Срд 21:55:10 3306736 226
637344f80109ae0[...].png 198Кб, 720x480
720x480
>>3306697
>>3306694
Раз здесь собрались джетбрейнс эксперты, кто-то объяснит в чём смысл android studio если есть intellij + android плагин?
Аноним 23/10/24 Срд 23:16:17 3306770 227
>>3306716
>Это тот же график просто вкладка другая
Ага, точно, странно конечно что они Нотепад как ИДЕ записали, хотя я активно им пользуюсь
Аноним 23/10/24 Срд 23:20:12 3306772 228
>>3306736
>android studio
Ну может в том, что его сама Гугля и ведроид комунити поддерживает, плюс бесплатно и без повесточки.
Аноним 23/10/24 Срд 23:25:55 3306774 229
Аноним 24/10/24 Чтв 01:24:13 3306807 230
>>3306688
> Если хочешь обсуждать джетбрейнс прошу в /s
Тогда и тред туда переноси
Аноним 24/10/24 Чтв 10:21:51 3306968 231
>>3306807
Ура, мы все едем на лесопилку!!
Аноним 24/10/24 Чтв 10:45:18 3306980 232
>>3306770
Нодпад тоже можно плагинами разогнать как вскод.
Аноним 25/10/24 Птн 02:46:57 3307486 233
>>3304677
Если ты нажмёшь на главной кнопку c++ то обнаружишь что на плюсах нет тредов. Значит по твоей логике он сдох?
Аноним 30/10/24 Срд 04:44:21 3311047 234
>>3247263 (OP)
На котлине популярны веб сервера? Подскажите максимально современный стек для этого. Это спринг какой нибудь или спринг бут? Или го ебет с отрывом?
Аноним 30/10/24 Срд 04:45:00 3311048 235
>>3311047
Микросервисы на котлине пишут?
Аноним 30/10/24 Срд 14:14:28 3311440 236
Можете объяснить зачем мне разбираться в языке где для того чтобы стартануть проект мне надо скачать темплейт с левого сайта, а для установки любой либы надо дрочить кучу разных строк в 5 разных файлах?

Это так называемый некст-ген ДХ или я чего то не понимаю? Вы там ебнутые? Если даже базовый функционал такой, представляю какие там приседания с языком будут.
Аноним 30/10/24 Срд 14:35:23 3311462 237
>>3311440
Ну давай по порядку:
Темплейты везде есть. На js это create-react-app, на ruby это rails new, на питоне разве что нету, но это потому-что каждый городит себе свой велосипед и считает, что это нормально.
Либы устанавливаются достаточно тяжко из-за системы сборки. Они управляют всем проектом и каждый считал, что нужно добавить "от себя". Причем gradle это не java, это jvm+native. Ты буквально можешь собрать проект на scala + kotlin native. Ясен хрен, что там для поддержания такого суперинструмента будут куча тонких настроек.
С языком обычно приседаний нет, но диды решили, что все jvm языки это что-то супер серьезное, так что заоверинженерили.

TL;DR
Диды из оракл и им подконтрольных заоверинжкнерили инструментарий, но не язык. Если есть желание потерять веру в человечество и светлое будущее - JVM сделан для тебя.
Мы же = терпим = и фиксим очередные проблемы со сборкой и r8 proguard
Аноним 30/10/24 Срд 15:31:42 3311521 238
>>3311462
Так в том и дело что в любом современном языке/фреймворке проект с темплейтом стартуется одной командой из терминала и либы ставятся также. И супер инструментарий у них, а не у этого говна на палке. Зашипить темплейты и сделать их копипейст одной командой в терминале вместо дрочки в браузере, видимо тоже джава не даёт и опять поднасрала.

Котлин себя позиционирует как молодой, современный, молодежный язык, но как была дрочка с джавой для старых пердунов так она и осталась.
Аноним 30/10/24 Срд 19:10:29 3311777 239
>>3311521
Ты немного не понял, это не язык который в nano пишут. Для таких существует язык си.
Аноним 30/10/24 Срд 19:16:46 3311785 240
>>3311440
Бери идею и не еби мозг, там все в пару кликов
Аноним 30/10/24 Срд 19:38:52 3311799 241
>>3311521
Джава мир очень большой чтобы темплейты в утилиту загонять, кому-то это может нахрен не надо.

Почему не сделали гредл плагин типа gradlew new my-best-pet-site? Да потому что сборка подразумевает до сотни (а может тысячи) вариантов билдов, ты представь как это перечислять в консоле? Или сделай такой плагин сам, вдруг ты в семье гений.

В общем, если ты чего-то не понимаешь, то это не значит что все тупые. В жаба мире довольно большая гимнастика делается чтобы все между собой дружило и было гибко (джава это лего, но в отличии от го, все компоненты подходят друг к другу).
Если тебе сложно, то рекомендую просто спринг взять.
Аноним 30/10/24 Срд 20:04:33 3311822 242
Аноним 30/10/24 Срд 20:08:16 3311825 243
>>3311047
Если нужен комбайн по типу asp.net - то де-факто стандарт это спринг. Я не знаю есть ли веб-комбайны в го.
Аноним 31/10/24 Чтв 22:58:04 3312967 244
>>3311047
На нем прикручивают спринг и копаются в корпоративном говне
Аноним 09/11/24 Суб 14:15:16 3319372 245
Объясните мне нахуй JB выдумал эти ебучие корутины, а не взял рабочую схему async-await или треды как в го-джаве? Нахуя эти ебаные скобочки, если у вас функции все равно разного цвета? Все равно надо писать ебаный suspend, все равно надо специальным синтаксисом исполнять асинхронщину. Какой в этом смысл?
Аноним 10/11/24 Вск 07:27:38 3319702 246
left.jpg 233Кб, 960x1280
960x1280
>>3300724
Пчёл, ты бы хотя бы хоть в вопросе разобрался.

Ксамарин ребрендировали и немного перепаковали, выделив для него отдельный workload в дотнете.

Еще лицензия теперь более свободная. Тебе напомнить про суды метаксой которая посмела выложить на гитхаб "собственность" жид-брейнсов?
Аноним 10/11/24 Вск 07:57:14 3319711 247
>>3319372
>JB
Говноговна потому что, Коклин уже закапывают
Аноним 10/11/24 Вск 08:09:14 3319712 248
>>3311047
>Подскажите максимально современный стек для этого.

asp net core
Аноним 10/11/24 Вск 09:39:34 3319727 249
Гайз, объясните, почему котлин такой выразительный?
Аноним 10/11/24 Вск 10:33:31 3319740 250
>>3319372
Тебе надо разобраться в вопросе сначала, дружок - бэкендер.
Посмотри доклады по корутинам, и какую проблему они решают.

Никто не запрещает тебе пользоваться тредами, как в джаве. Есть и другие библиотеки для асинхронной работы, без корутин. Не хочешь корутины - не используй. Они могут быть избыточны для бэкенда.
Аноним 10/11/24 Вск 11:22:20 3319765 251
>>3319372
>Объясните мне нахуй JB выдумал эти ебучие корутины
Чтобы ты не нюхал реактивный костыльный адок.

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

>а не взял рабочую схему async-await
Они ее и взяли, просто хотели как лучше, или же хотели сильнее прибить к IDE (есть такое мнение, к сожалению не имею знаний чтобы потвердить). В любом случае это стеклесс.

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

> Все равно надо писать ебаный suspend, все равно надо специальным синтаксисом исполнять асинхронщину.
Это все равно лучше чем реактивное программирование (ты не представляешь какое это дно).

Асинхронное программирование это вообще другая область, кринж по покрас придумали маркетологи го, ибо го надо было конкурировать с асинхронностью в других языках (так как наличие асинхронности в других яп превращала го в тыкву).
Аноним 10/11/24 Вск 11:25:52 3319768 252
>>3319765
>>или треды как в го-джаве
Естественно я про новые грин-треды, а не платформенные треды.
Аноним 10/11/24 Вск 12:51:21 3319796 253
>>3319702
>Тебе напомнить про суды метаксой которая посмела выложить на гитхаб "собственность" жид-брейнсов?
Стори?
Аноним 10/11/24 Вск 18:17:12 3319923 254
>>3319765
>стеклесс
Поясни, что такое стеклесс? Чем котлин-корутины отличаются технически от TPL ?
Аноним 10/11/24 Вск 19:49:18 3319960 255
>>3319923
>отличаются технически от TPL
Гугли чем отличается асинхронные и обычные (системные) потоки
> стеклесс?
Гугли различия между stackless и stackfull корутинами.
или
https://habr.com/ru/articles/850970/
Аноним 10/11/24 Вск 21:50:26 3320000 256
>>3319765
>Стекфулл горутины очень непрактичные, медленные
А вот это интересно. Я наоборот думал, что вшитые грин треды быстрее работают, а то петушонкинсы любят понять, типа suspend замедляют, засирают код(стейт машинами)
Аноним 10/11/24 Вск 21:51:52 3320001 257
>>3320000
>Понять
Поныть*

быстрофикс
Аноним 10/11/24 Вск 22:26:19 3320016 258
>>3319960
Прочитал статью, там написано, что stackless корутины через планировщик работают.

А чем является планировщик, и что он делает в котлин корутинах?
Имеется ввиду сама стейт машина(свич кейс), или что?
Аноним 10/11/24 Вск 23:15:15 3320034 259
image.png 132Кб, 306x323
306x323
>>3319765
>Стекфулл горутины очень непрактичные, медленные и еще имеют шедулер. Без доступа в jvm получилось бы очень страшное.
Без доступа к JVM у тебя вообще хер что получится. Менеджить стек из Java кода нельзя.

>именно поэтому маркетинг го акцентировал внимание что их стекфулл горутины якобы очень легкие и быстрее. Но это маркетинг, го в реале не такой быстрый
>кринж по покрас придумали маркетологи го, ибо го надо было конкурировать с асинхронностью в других языках (так как наличие асинхронности в других яп превращала го в тыкву).
Батхерт ЖБ маркетолуха, совсем не заметен. Капча намекает.
Аноним 10/11/24 Вск 23:27:25 3320035 260
>>3320000
Там шедулер да еще сами толстые по природе, в статье описано.

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

История:
https://github.com/dotnet/runtimelab/issues/2398
парень хочет разобраться с асинк/авэй, дайте ему стул
Аноним 10/11/24 Вск 23:30:27 3320038 261
>>3320000
Проблема асинков котлина, в том что они не оптимизируются jit, отсюда печальные цифры. Я не тестил, со слов какой-то конференции на трубе (в любом случае при правильных условиях корутины могут быть лучше системных, но в случае jvm я бы заюзал родные зеленые)
Аноним 10/11/24 Вск 23:36:17 3320042 262
>>3320034
>Батхерт
Про цветные функции раздули гошные евангелисты (сам гугли статью). То что ты по природе если влез в асинки, уже говорит о том, что ты в мире асинхроной радости (даже мэйн асинкаешь) и другого пути нет. Ты либо там, либо там, никаких цветов нет.
Аноним 11/11/24 Пнд 06:05:27 3320086 263
Кстати, а как там у богомерхких джет-брейнсов дела? Я к ним в 2022 году собеседовался в команду, они мне на техническом собеседовании неуместные вопросы задавали.

А я сидел, угарал над ними, и такой, типо, какая война? А что случилось? Россия в опасности?

Пиздец, до сих пор кекаю с этих мамкиных воинов
Аноним 11/11/24 Пнд 07:23:36 3320110 264
>>3320086
>джет-брейнсов
Даже хабропидарасня почти перестала на них теребонькать
Аноним 11/11/24 Пнд 10:42:14 3320243 265
>>3320086
>>3320110
Судя по тому что они сделали бесплатными RR, WS и Raider (гоферы сосать!) - у них совсем все плохо. правда в замен нужно будет поделиться планкой памяти
Аноним 11/11/24 Пнд 13:40:51 3320375 266
>>3320086
>на техническом собеседовании неуместные вопросы задавали
Это какие же?
у меня все было чинно, благородно, никаких срамных вопросов не было
Аноним 11/11/24 Пнд 17:34:56 3320580 267
>>3320042
>Про цветные функции раздули гошные евангелисты (сам гугли статью). То что ты по природе если влез в асинки, уже говорит о том, что ты в мире асинхроной радости (даже мэйн асинкаешь) и другого пути нет. Ты либо там, либо там, никаких цветов нет.
Во первых многие про это писали, включая архитектура этих ваших горутин https://elizarov.medium.com/how-do-you-color-your-functions-a6bb423d936d Аргументы против покраса лампаса всё равно остаются валидными.
Во вторых как раз у корутин всё не айс с перформансом и потреблением памяти https://youtu.be/kwS3OeoVCno?si=67dWOss5pDUZ7Crk&t=1500
Аноним 11/11/24 Пнд 17:43:11 3320587 268
>>3320580
Цветные функции это хайп, который не коснулся только ленивый. Асинхронный программирование != синхронное. То что пытаются сгладить два этих мира, как раз показатель некомпетентности авторов и проблема цветных функций появляются тогда, когда это начинают делать.

За счет неблокирующего и/о и того что шедулинг ОС-потоков дорогой, даже неоптимизированные котлиновские корутины будут лучше чем дрочка старого реактивного программирования на жабе. А кому надо было максимум - юзал вертекс. В любом случае жаба сделала для котлина зеленые треды, мы не против.
Аноним 11/11/24 Пнд 19:49:24 3320675 269
Шизы, которые прогоняют тему про "покрас функций" - тру дегенераты.
Ты этот покрас все равно будешь иметь, и лучше использовать suspend или async await, чем городить коллбэк hell, так называемый.

Или что, лучше коллбэки передавать, говноеды?

В go никуда покрас не делся, там для перекида значения нужно Channel как колбэк в параметры функции передавать.
Аноним 11/11/24 Пнд 19:54:24 3320679 270
Снимок экрана о[...].png 105Кб, 1410x366
1410x366
>>3320243

Visual Studio на этом же проекте отъедает 1.5 гигабайта после дня разработки
Аноним 11/11/24 Пнд 20:32:53 3320704 271
>>3320679
Как интересно сложилась жизнь. В свое время у джавы был эклипс, нетбинс и жб. Сейчас джава фактически вендерлок на жб. У шарпов была только вижла, теперь vs/community, vscode, rd, условно ReSharper.
Аноним 12/11/24 Втр 12:45:57 3321013 272
>>3320704
>Сейчас джава фактически вендерлок на жб.
Только в мирке манякоклиниста
Аноним 12/11/24 Втр 20:56:59 3321415 273
Аноним 13/11/24 Срд 00:01:59 3321473 274
>>3320587
>Цветные функции это хайп, который не коснулся только ленивый. Асинхронный программирование != синхронное. То что пытаются сгладить два этих мира, как раз показатель некомпетентности авторов и проблема цветных функций появляются тогда, когда это начинают делать.
Ни у одного нормального разработчика, нет цели делать асинхронный код. Асинхронный код это просто один из способов решить проблему немасштабирования платформенных тредов. Но есть и другие способы, которые по перформансу, удобству - превосходят все эти корутины и асинки. Ты просто берешь и запускаешь код в горутине/виртуальном треде. И у тебя работают все легаси библиотеки с блокировками на IO и просто блокировками. А асинки это просто костыль, как-то по быстрому пофиксать проблему. Он может быть оправдан в случае Андроида, там в Dalvik реализовывать виртуальные треды не рационально. Но на десктопе вируальные треды/горутины настолько уделывают корутины, что даже не стоит пытаться с ними работать.
Рим пал, легионер!


>За счет неблокирующего и/о и того что шедулинг ОС-потоков дорогой, даже неоптимизированные котлиновские корутины будут лучше чем дрочка старого реактивного программирования на жабе. А кому надо было максимум - юзал вертекс.
>Каневский: это все конечно же был пиздежь!
Реактивное программирование требует больше дроча, но гораздо лучше оптимизируется JIT. А уж если писать на NIO, то по перформансу корутины вообще сосут по самые яйца.

>В любом случае жаба сделала для котлина зеленые треды, мы не против.
Java сделала так, что Котлин стал не нужен в 99% бекенд проектов.
Аноним 13/11/24 Срд 12:42:41 3321639 275
>>3321473
>Java сделала так, что Котлин стал не нужен в 99% бекенд проектов.
Чувак, джава уже давно ничего не делает. Котлин не стартанул в бэкенде, не потому что джава стала лучше, а потому что мало кто начинает новые проекты на jvm.
Пытался нарыть хайп с новыми потоками, а всем насрать, ибо все доживают на древних версиях jvm.

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

Асинхронное программирование не стыкуется с обычным, еще раз, те кто пытается сгладить это два мира просто некомпетентен. Раньше до какой-то версии го (вроде 1.14), можно было положить целый сис.поток с миллионами горутин просто дробилкой в цикле (не отдавать управление). Потом они добавили вытесняющую многозадачность, но в этом громком слове лишь подход, что на 61 итерации поток принудительно переключается и все. Так что асинхронное программирование это, можно сказать, другой вид программирования.
Аноним 13/11/24 Срд 14:32:41 3321706 276
>>3321639
>Чувак, джава уже давно ничего не делает. Котлин не стартанул в бэкенде, не потому что джава стала лучше, а потому что мало кто начинает новые проекты на jvm.
Этой мантре уже лет 5 точно. Самим этот ебанный аутотренинг не надоел?
>Самые востребованные разработчики — джависты. В среднем для них открывали более 1,7 тыс вакансий ежемесячно, и они занимают 19% всего рынка вакансий для разработчиков.
https://habr.com/ru/articles/803935/

>Реактивная жаба, это такой же рудмент как EE. Это не просто "больше дроча", это кривой оверхедный ад, кто его придумал, у того больной мозг.
Расскажи, асинхронный ты наш, как ты будешь реализовать back pressure в корутинах? Опять с каналами пердолиться?
Аноним 13/11/24 Срд 15:10:24 3321725 277
>>3321706
>Этой мантре уже лет 5 точно. Самим этот ебанный аутотренинг не надоел?
Какие же вы пиздлявые. Этот вывод зафорсился локально в узком кругу, под пиво вечером, месяца 3 назад, с мыслью почему котлин "не смог", среди бывших жабистов. Я тут его пару раз упомянул чтобы попустить жабьего-евангелиста (вероятно это все ты).

>Самые востребованные разработчики
На момент 2006 года на коболе было написано больше всего кода в мире! Но слышал ли ты тогда о коболе? Никто не отрицает большую капитализацию кода джавы, но это кобол-код, я же говорю о том кто начинает код сегодня и что завтра станет капиталом кода.

>Расскажи, асинхронный ты наш, как ты будешь реализовать back
К счастью, я эту шизу обошел стороной, асинхронное программирование покрывает 100% все мои задачи, что там шизы с реактивным программированием высрали, меня не интересует. Еще спроси как на EE развернуть контейнер сервлетов, коболятина ты нудная.
Аноним 13/11/24 Срд 15:18:35 3321730 278
>>3321706
Очень интересная статистика изолированного от мира рынка. Можно еще ссылочку на исследования трендов айти в Иране и северной Корее?
Аноним 14/11/24 Чтв 07:58:53 3322085 279
>>3321730
Ну к слову, вне рф джава еще больше ебет говняк, так что ты и тут обосрался.
Аноним 14/11/24 Чтв 17:04:08 3322400 280
>>3321725
>Какие же вы пиздлявые. Этот вывод зафорсился локально в узком кругу, под пиво вечером, месяца 3 назад, с мыслью почему котлин "не смог", среди бывших жабистов. Я тут его пару раз упомянул чтобы попустить жабьего-евангелиста (вероятно это все ты).
Обожрался - скажи что троллил. Классика.

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

>>3321730
>Очень интересная статистика изолированного от мира рынка. Можно еще ссылочку на исследования трендов айти в Иране и северной Корее?
А ты типа уже в солнечном санфране работаешь?
Аноним 14/11/24 Чтв 21:10:26 3322573 281
>>3322400
>В 2006 вакансий кобола уже не было.
Ты следил? Пиздлявка.
Большое число вакансий может говорить о текучке, отскребать легаси говно даже +10% к зп та еще радость.
Но это никак не говорит что новых проектов много.

>поддержки существующих приложений, не надо много людей
То что ты зеленый, я и так уже понял. Ты ни дня на джаве не работал, тебя это выдало. ты даже не понимаешь какие процессы идут в тырпрайзе
Аноним 14/11/24 Чтв 22:33:33 3322633 282
>>3322573
>Ты следил? Пиздлявка.
Дебилушка, представь себе да! Уже тогда ходили шуточки про Cobol. Например сайт Cobol on Cogs был создан в 2007.


>Большое число вакансий может говорить о текучке, отскребать легаси говно даже +10% к зп та еще радость.
>Но это никак не говорит что новых проектов много.
Ты пока только пиздишь беспруфно, но никак не объяснил как ты меряешь количество новых проектов на том или ином языке.
Аноним 15/11/24 Птн 01:03:36 3322679 283
Так так, что тут у нас? Аах, снова джавёнок разводит срач)

Спустя год спросите, что происходит в котлин треде - ответ будет всегда один.

Ше не вмерла джава 8
Аноним 15/11/24 Птн 02:07:14 3322683 284
>>3322679
Сюда много кто посрать приходит
Мимо
Аноним 15/11/24 Птн 06:05:01 3322710 285
Гайз, объясните, почему котлин такой невыразительный?

Пишу на шарпах, пытался написать пару проектов на котлине, но очень сильно не хватает выразительности
Аноним 15/11/24 Птн 09:55:46 3322789 286
>>3322633
Так почему джава не кобол, по пунктам.
Аноним 15/11/24 Птн 10:12:04 3322808 287
>>3322789
Потому что в нашем Z-bank запустили новый микропенис на жаве. Это точно оправданный выбор технологии, а не наши дауны ничего кроме джавы не знают!
Аноним 15/11/24 Птн 20:42:58 3323290 288
>>3322808
А в z-банке на jetpack композе есть работа, кто шарит?
Аноним 17/11/24 Вск 16:33:26 3324266 289
>>3322789
Потому что ты мудак, вот почему!

Пришел сюда и начал высирать хуйню про новые проекты и кобол, не привел ни одного аргумента. А теперь еще требуешь, чтобы кто-то опровергал твой высер.
Аноним 17/11/24 Вск 21:39:14 3324448 290
>>3324266
Значит выходит что джава новый кобол?
Аноним 19/11/24 Втр 12:02:55 3325413 291
БЛЯЯЯТЬ КАК В ЕБАНОЙ ФИГМЕ ПОНЯТЬ КАКОЙ ЦВЕТ У ФОНА, БЛЯТЬ КАКИЕ ЖЕ РАЗРАБЫ ФИГМЫ ВЫБЛЯДКИ ТУПЫЕ СУУУУКККААААА
Аноним 21/11/24 Чтв 02:50:03 3326450 292
Аноним 21/11/24 Чтв 03:01:52 3326453 293
>>3247263 (OP)
>Маскот котлина Коди.
Разработчики котлина либергнойные хуесосы предавшие свою страну, осудившие СВО и съебавшие в Чехию донатить на AFU
Аноним 21/11/24 Чтв 04:31:34 3326459 294
>>3326453
>пользоваться пидоаршьим софтом когда есть кресты от белых людей
)
Аноним 21/11/24 Чтв 10:41:27 3326545 295
>>3326453
Биомусор, вернись в pro.jvm jobs чат к своим кровожадным животным.
Аноним 21/11/24 Чтв 14:52:54 3326769 296
>>3326545
Еще одно необразованное тупое животное. Очень жеско щас пернул тебе в лицо, подсвинявый (ну или свинявый за пределами кропивача)
Аноним 21/11/24 Чтв 16:20:12 3326824 297
>>3326453
>Разработчики котлина либергнойные хуесосы предавшие свою страну, осудившие СВО и съебавшие в Чехию донатить на AFU

Факт, котлин для выруси
Аноним 21/11/24 Чтв 22:31:27 3326984 298
>>3326453
>Разработчики котлина либергнойные хуесосы предавшие свою страну, осудившие СВО и съебавшие в Чехию донатить на AFU
А патриоты оставшиеся в России и поддержавшие СВО, уже написаль что нибудь дельное?
Аноним 22/11/24 Птн 06:31:19 3327054 299
>>3326984
>А патриоты оставшиеся в России и поддержавшие СВО, уже написаль что нибудь дельное?

Да.
Аноним 22/11/24 Птн 08:28:14 3327080 300
Аноним 23/11/24 Суб 19:37:50 3327946 301
>Kotlin lead designer Michail Zarečenskij spoke to DevClass about the relationship with Java and the future of the language.
>Michail Zarečenskij
Ксенопоцреот из палаты мер и весов.
Аноним 24/11/24 Вск 00:59:22 3328098 302
>>3327946
За пределами Ведроида Коклин не нужен, да и под Ведроид он не нужен, хз зачем Гугля его там завирусил
Аноним 29/11/24 Птн 06:17:36 3331547 303
⚡⚡⚡Компания JetBrains заявила о передаче проекта Kotlin в фонд Apache Software Foundation.

"Язык Kotlin, сопутствующая инфраструктура, а так же интеллектуальная собственность проекта будут полностью управляться свободным инклюзивным сообществом. Это большая победа для нас", - заявил Гжешув Бзежинский, временный операционный директор JetBrains по управлению расходами.
Аноним 29/11/24 Птн 06:46:51 3331557 304
>>3331547
>Kotlin в фонд Apache Software Foundation.
Закопали свое говноподелие короче
Аноним 29/11/24 Птн 08:25:39 3331585 305
>>3331547
Мрии порванного пидорана джависта.
Аноним 29/11/24 Птн 08:46:16 3331596 306
>>3331547
>держи боже что нам не гоже
>пусть лохи с этим говном ебутся
Аноним 29/11/24 Птн 13:46:18 3331854 307
Стикер 0Кб, 512x512
512x512
Аноним 29/11/24 Птн 21:48:19 3332157 308
17068382747460.png 313Кб, 881x763
881x763
>>3331547
Как же тяжело коболисту и котлин выгнал с телефонов и новые шарпы душат и го с микропенисов погнал. и над всем этим сидит смеется жопоскрипт, который просунули везде, кроме только около юнити-игр
Аноним 29/11/24 Птн 21:56:55 3332166 309
left.jpg 233Кб, 960x1280
960x1280
Аноним 29/11/24 Птн 22:02:42 3332172 310
Аноним 29/11/24 Птн 22:47:44 3332215 311
16841384044680.jpg 148Кб, 600x546
600x546
Аноним 16/12/24 Пнд 16:14:52 3342555 312
Посоветуйте книжек каких почитать для саморазвития можно. Можно как конкретно по котлину так и в целом про разработку
Аноним 17/12/24 Втр 09:04:12 3342909 313
>>3342555
Чистый код от Анкла Бэба. Если лень читать, то структурировать приложение нужно так Контроллер -> СервисИмпл имплементс Сервис -> Рипазитари.
Всю логику сгружаешь в СервисИмпл
Аноним 18/12/24 Срд 16:57:42 3344137 314
Тред РУХНУМ
Аноним 18/12/24 Срд 18:46:42 3344260 315
>>3344137
Какая страна такое и айти
А вообще у котлина хороший и огромный чатик в телеге.
Аноним 18/12/24 Срд 20:24:55 3344395 316
Аноним 18/12/24 Срд 20:57:50 3344404 317
>>3331547
>Apache Software Foundation
Теперь его окончательно превратят в джаву

>временный операционный директор JetBrains
А ведь слухи о проблемах в ЖБ не такие уж и слухи похоже
Аноним 18/12/24 Срд 21:46:59 3344419 318
>>3344404
Немамонты продолжали хавать.
Аноним 19/12/24 Чтв 01:27:02 3344479 319
>>3344404
Это же наброс местного безработного джава шиза который скорее всего вообще код не пишет, потому что гадит в разных тредах даже в /gd
Аноним 19/12/24 Чтв 15:22:31 3344925 320
>>3344419
>>3344479
Ну знаете, в вашем мире jvm можно ожидать всякого, даже такой наброс может быть вполне реальным. Я после того как школьники из майнкрафта взломали один из самых популярных логгеров уже ни чему не удивляюсь
Аноним 24/01/25 Птн 00:23:46 3370552 321
image.png 25Кб, 1000x310
1000x310
image.png 2778Кб, 2656x1503
2656x1503
>>3274146
Ну, я так понимаю, на Котлине можно писать фуллстек-приложения на бекенде, используя compose, без подключения Vaadin в Java.

мимоджвабекендер
Аноним 24/01/25 Птн 00:26:01 3370553 322
>>3279091
Тут в соседнем треде >>3369186 (OP) плачут, что в Go не могут вкатиться никак
Аноним 24/01/25 Птн 00:51:52 3370558 323
>>3311777
На Groovy пишу в nano - имею плюшки Джэвы
Аноним 26/01/25 Вск 15:51:08 3372862 324
качусь из мира питона, подскажите мне плиз, как заюзать эту весчь в своём приложение, т.е. как склонировать и импортнуть. Хочу сделать живой график со свечками в своём приложении.
https://raw.githubusercontent.com/ABTSoftware/SciChart.Android.Examples/refs/heads/SciChart_v4_Release/app/src/main/java/com/scichart/examples/fragments/examples2d/createStockCharts/CreateRealTimeTickingStockChartFragment.kt
Аноним 27/01/25 Пнд 23:40:06 3374156 325
>>3372862
>как заюзать эту весчь в своём приложение, т.е. как склонировать и импортнуть
Ты не знаешь как gic clone работает или что?
Аноним 02/02/25 Вск 14:29:04 3378952 326
Сап ананасы. Рассматриваем kotlin в качестве альтернативы java 21 на бекенде.

В java 21 в основном жмет: checked exception, отсутствие try expression, null.

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

Итого выбираем между двумя вариантами:
- java + lombok sneakyThrows или аналог в виде либ
- kotlin + белый список разрешенных фич языка. Белый список хотим сделать через lint внешней тулой или опциями компилятора.

Собственно вопросы:
- Есть ли у котлина проблемы с долгой компиляцией и/или тупизной код ассиста?
- Какие фичи котлина можно смело запрещать, т.к. они усложняют понимание кода?
- Какие подводные у котлина?
Аноним 03/02/25 Пнд 11:05:14 3379486 327
image.png 9Кб, 411x123
411x123
>>3378952
>тупизной код ассиста
нет

>проблемы с долгой компиляцией
Мб чуть дольше джэвы. В целом так же, ток надо брать kotlin 2.n версию

>Какие фичи котлина можно смело запрещать, т.к. они усложняют понимание кода?
Например такой код не очень читаемый(пикрил).
Но запрещать фичи я бы не стал, достаточно линтер настроить

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

Нет модификатора package private.

Нет ключевого слово static, вместо этого object/ companion object.

Ну и могу упомянуть ключевое слово suspend и корутины. Можно подумать, тащить ли их в проект, может они не нужны вам, а то некоторые не любят корутины.

Ну вроде спорные моменты перечислил, которые на уме были(особенно для джэвистов). В остальном пиздатый язык, код пишется на чиле.
Аноним 04/02/25 Втр 11:44:21 3380429 328
>>3379486
а какие плюсы лично ты бы выделил? Потому что мимоджавабекендеру (мне) как-то мало причин переходить (даже пробовать) котлин, но хотелось бы найти
Аноним 04/02/25 Втр 19:29:09 3380869 329
>>3247263 (OP)
Сап, хочу написать простой crud с базейкой, попробовать впервые kotlin. На каком стеке это сделать максимально легко и актуально? ^_^ спринг бут?
Аноним 04/02/25 Втр 21:48:16 3380980 330
Аноним 04/02/25 Втр 23:18:31 3381038 331
>>3380429
>Потому что мимоджавабекендеру (мне) как-то мало причин переходить (даже пробовать) котлин, но хотелось бы найти
А, так твой голос даже не значит ничего, я зря распинался. Зачилься, всем пох че ты там хочешь/не хочешь, без тебя разберутся.

Не надо писать "рассматриваем", когда лично ты не рассматриваешь и не решаешь нихуя.
Аноним 05/02/25 Срд 00:41:35 3381081 332
>>3381038
Это другой чел. За ответ спасибо, ушли пилить rfc на внедрение
оригинальный вопрошающий
Аноним 05/02/25 Срд 13:08:30 3381345 333
>>3381081
Понял.
>>3380429
Чел, ну серьезно, если мало причин пробовать котлин, то не пробуй. К чему вопросы такие?
Аноним 05/02/25 Срд 15:43:59 3381463 334
>>3247263 (OP)
Язык говна, язык ВСЖ. Не зря даже название на это указывает.
Аноним 06/02/25 Чтв 05:18:12 3382091 335
>>3381463
Елизаров убежал в Яндекс. Бреслава выгнали нахуй, т.к. он шиз со справкой и теперь он пытается в ололо стартап для психолухов. Жемеров тоже свалил
Аноним 06/02/25 Чтв 09:48:18 3382186 336
>>3382091
так а кто теперь пилит коклин то? комунити?
Аноним 07/02/25 Птн 22:50:03 3383504 337
>>3381463
Что с название не так, шиз? Наверное самое удачное в этом языке это способность не промахнуться в гугле по говно базворду как го или раст. Помню лузлы как в тиобе обосрались нарисовав популярность в пик появления игры го (с покемонами).
Аноним 07/02/25 Птн 23:10:23 3383522 338
>>3382186
>Бреслава
Там, чел вроде как выгорел, как сам говорил. А вообще это жадность, экономить и запилить теху без реальных специалистов, да еще моментами студентами. Они буквально писали 5 лет транспайлер в байткод из слизанных фич других языков (груви/скала).

Но вообще, ошибка делать прокси язык для стагнирующей технологии, это было понятно и по скале и груве и еще че-то там. У жабы был очень сильно раздут пузырь востребованности тогда.
Аноним 08/02/25 Суб 04:08:15 3383574 339
>>3383504
С названием всё как раз заебись, отлично отражает ВСЖ суть языка и идеи захуячить классы куда не надо. Джава популяризировала эту дегенеративную хуету, Котлин продолжил.
Аноним 08/02/25 Суб 10:12:13 3383674 340
>>3383574
>ВСЖ
Хватит придумывать и использовать мало популярные слова, это даже не гуглится (а на форум доты я заходить не хочу).

>идеи захуячить классы куда не надо
Полиморфизм и контракты на интерфейсах позволили работать 100+ макакам вместе, не трахая друг другу мозги каждую минуту. В общем, ООП дало (и дает по сей день) способ разработки овер сложного программного обеспечения. А внутренняя изменяемость через инкапсуляцию вообще основа разработки очень сложного многослойного ПО (не отсреливая себе или напарнику яйца и не переписывая все и вся по чиху).

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

>классы куда не надо.
Малолетний ньюфажа не палиться. Но кроме процедурного, функционального и мульти-ООП больше ничего нет. Первое устарело и непригодно для овер-сложного софта (да даже для соло скриптов, ты за неделю такую лапшу создаешь, даже пытаясь сделать модульно), второе, ФП, экзотика не отражающая реальные потребности.
Вот и думай.
Аноним 08/02/25 Суб 16:28:16 3384035 341
>>3383674
>придумывать и использовать мало популярные слова
Нормис, уёбывай с моих двощей.
Аноним 08/02/25 Суб 18:58:06 3384157 342
image.png 298Кб, 393x382
393x382
>>3384035
>Термины из нормисного твича с нормисной доты.
>Тру двачер
Аноним 08/02/25 Суб 19:30:27 3384178 343
>>3384157
Да-да-да, с Твича и пердоты, коупи дальше, маня.
Аноним 22/02/25 Суб 16:23:30 3395010 344
>>3247263 (OP)
На удивление годное 6-часовое видео по вкату в Коклин из Джэвы:
https://www.youtube.com/watch?v=dMyRywABp_c

После этого видео прочту спижженую на рутрекере новинку Kotlin in Action, Second Edition и напишу в резюме, что знаю котлин, как-то так.
Аноним 23/02/25 Вск 15:16:55 3395546 345
>>3247263 (OP)
проблема котла - это отсутствие работы. раньше бигтехи пытались стартовать проекты на котле на беке, но быстро попустились и вернулись на джеву где нужные фитчи уже завезли
Аноним 23/02/25 Вск 23:35:31 3395848 346
>>3395546
Ща бы высер ЖопаМозга в прод тащить
Аноним 24/02/25 Пнд 09:27:44 3395959 347
download.png 0Кб, 50x43
50x43
>>3395546
Мы переживали за тебя джава-шиз, думали случилось что-то. Тут и капча соответствующая, на держи.
Аноним 24/02/25 Пнд 09:30:20 3395962 348
>>3395848
Ну го же там каким-то хером оказался там. Мы забываем что программисты это не всегда высоко интеллектуальные личности.
Аноним 24/02/25 Пнд 09:50:30 3395976 349
>>3395546
да, в райфайзене вот много микросервисов на котлине, но теперь уже их там не так активно стартуют на нём, теперь монетку подбрасывают чтобы решить, на чём делать
Аноним 24/02/25 Пнд 10:09:29 3395988 350
image.png 2077Кб, 1920x1080
1920x1080
>>3395976
> теперь монетку подбрасывают чтобы решить, на чём делать
Я в принципе так и представлял как работает бигтех.
Аноним 24/02/25 Пнд 10:19:52 3395995 351
>>3395962
>Ну го же там каким-то хером оказался там.
Стильно, модно, молодежно.
Аноним 24/02/25 Пнд 10:36:02 3396009 352
>>3395995
Прочитал как
Стыдно, модно, молодежно.
Аноним 24/02/25 Пнд 10:59:14 3396018 353
Я правильно понимаю, что вот это валидный, правильный, принятый в сообществе способ передачи ошибки из функции в котлине? Создавать отдельный Error класс для каждой функции? А что делать если у меня из двух разных функций одни и те же ошибки возвращаются? Тупо crtl+c -> ctrl+v? Это же ебануться сколько одинакового кода будет.

https://pl.kotl.in/tvL5uweLW
Аноним 24/02/25 Пнд 11:34:01 3396049 354
image.png 16Кб, 515x161
515x161
>>3396018
Иногда в тестах нужно поймать конкретно одно поведение в функции.
Ловить по тексту в мессаге - зло (отвалиться сразу же как текст поправишь).
Делать обобщенные ошибки вида BadАргументЕггор - зло, в сложном алгоритме нужно конкретно закуток где планируем обосраться.
Поэтому приходиться делать нечто похожее на пике для полного контролля.

То есть, если ты делаешь один - делай как хочешь. Если ты в команде, то умные дяди объяснят нет, но покажут макакинг-паттерн как делают у них, и пофиг правильно или нет, так хотел старший.
Аноним 24/02/25 Пнд 11:41:54 3396052 355
>>3396049
Умный дядя к сожалению это я в команде. Спасибо, видимо this is the way.
Аноним 24/02/25 Пнд 12:18:50 3396090 356
>>3396052
Я не эксперт в котлине, но там похоже обработка ошибок подобие современных го/растов (ошибки возвращают как значения). Реальную необходимость можно увидеть только в работе с корутинами. Если делается вне корутин - то просто подражание.
Аноним 24/02/25 Пнд 12:39:41 3396106 357
>>3396090
Проблема в том, что котлин в целом не заставляет и не предлагает передавать ошибку как значение, оставаясь в java парадигме, что все ошибки это exceptions и должны выбрасываться. Но при этом kotlin в отличии от java не заставляет тебя писать try-catch если какая-то функция может выбросить exception. Более того если ты сам не напишешь в аннотации к функции, что она может выбросить исключение, то тот кто вызывает функции и не узнает, что она может это сделать. И это всё с полным молчанием от компилятора, exceptions просто игнорируются.

Эта даже не дихтомия: исключения или ошибка-значение. Это просто отрицание, что ошибки могут существовать. Это огромная дыра в kotlin, которую сами же разработчики языка предлагают заполнить использованием сторонней библиотекой Arrows.kt или установкой стороннего плагина в IDEA, который будет проверять что функции могут выбросить исключение и об этом предупреждать. Btw, плагин убивает IDE на больших проектах, всё начинает лагать, а время "анализа" класса стремится к бесконечности.

И ведь это не проблема только версии 1.0.0. Языку уже 14 лет и никто не собирается как-то решать этот вопрос.

Лучше бы я остался на java.
Аноним 24/02/25 Пнд 12:55:38 3396118 358
>>3396106
В начале были чеккед-ошибки (что сейчас везде переизобретает новое поколение), но где-то в начале нулевых, многие нажрались с этим говна и трендом стали анчекед ошибки, которые подхватил тогда шарп и после котлин и им подобные.

Где-то 15 лет назад я был юн и топил за чеккед ошибки (конкретно в джаве), но с возрастом прошел туже эволюцию, что и до меня 10 лет назад и понял какое это дно.

Я уверен, что скоро придут к теме, что эти Result говно.
Как это было с открытием SQL (где-то в 70-80е), люди снова изобрели noSQL, нахлебались по кругу говна и потом такие - не так уж и плох этот SQL

Единственное может это быть технически связанно с корутинами. Но это лишь потому что обосрались, дизайнить язык надо сразу с асинхронщиной, а не потом костылить поверх (привет разработчикам zig)
Аноним 24/02/25 Пнд 15:52:12 3396263 359
>>3396118
>не так уж и плох этот SQL
Там прост недостаточно бигдата и память завезли к концу 10-х, всё влезает в один постгрес, пэтому нах не надо ебаться с какой-нибудь касандрой.
Аноним 24/02/25 Пнд 22:06:16 3396539 360
>>3396118
>дизайнить язык надо сразу с асинхронщиной, а не потом костылить поверх
А если я хочу выбирать, какой эвент луп использовать, и напрямую дёргать его апи?
Аноним 24/02/25 Пнд 23:13:13 3396569 361
>>3396018
А вот и Свидетели Голанга подъехали.

Ошибка должна объясгять что за ошибка произошла и давать достаточно информации об этом. Создавать ошибку на каждый метод - это бред. И в тесте проверять в каком именно методе произошла ошибка - ещё больший бред. Тесты проверяют поведение системы, а не то в каком методе произошла ошибка. Передал в метод вместо числа фигню - получил NumberFormatError, и не важно какой метод его вернул.
Аноним 25/02/25 Втр 02:03:06 3396661 362
>>3396018
>Создавать отдельный Error класс для каждой функции?
Нет конечно, один раз обертку делаешь, для запросов, и всё.
Можно создать обертку с generic-ами, если нужно подставлять каждый раз что-то новое.

Этим пользуются для удобства, но если тебе не удобно, то try catch никуда не делся
Аноним 25/02/25 Втр 05:31:17 3396681 363
>>3396569
Ты не очень разбираешься в тестирование, да?
Аноним 25/02/25 Втр 07:44:21 3396702 364
>>3396681
А ты видимо скуфидла, которая "тестирует" на моках? Видал таких потешных скуфидонов))) Они еще это называют TDD и заставляют всех писать "тесты на методы"))) Бля, умора)) Замокаются по самые помидоры и потом дрочат свое мокито, лол. Протестировал моки, скуфидонище?))
Аноним 25/02/25 Втр 08:50:40 3396708 365
>>3396702
А на чем тестировать? Или Галь, у нас тесты красные, сходи к системанейм, спроси у них что-то сломалось или нам ошибку искать
Аноним 25/02/25 Втр 09:02:56 3396715 366
>>3396569
> Ошибка должна объясгять что за ошибка произошла и давать достаточно информации об этом.
Так.
> Создавать ошибку на каждый метод - это бред.
А как ты будешь различать какие ошибки возрвращает метод? Result<ValueT, ErrorT>. Вот ErrorT должен быть enum или sealed класс, чтобы можно было ограничить, что вот такие-то типы ошибок могут случится. И не получиться создать ошибку с типом CommonError и потом её вместе с ошибками CaptureError запихнуть в Result. Или то или другое.

Остаются exceptions, но как я объяснил выше >>3396106
разработчики kotlin не дали пользователям инструментов для нормальной работы с exceptions тупо заставив комплиятор игнорировать throws. И получается если ты хочешь макнуть пользователя явно в то, что ошибку нужно обработать приходиться пихать её в Result, которые имеет ограничение на типы описаннное выше.
Аноним 25/02/25 Втр 09:08:06 3396719 367
>>3396661
> Нет конечно, один раз обертку делаешь, для запросов, и всё.
Окей, объясни мне, есть класс для ошибок

sealed RequestError {
object TimeoutError: RequestError()
object UrlIsNotAvailableError: RequestError()
}

И ошибки выше окей для какой-нибудь функции

requestPictures()

Но для функции

requestAudio(audioParameters: AudioParameters)

Есть ещё ошибка

sealed class AudioMetadataError {
object InvalidAudioParameters: AudioMetadataError()
}

И вот как их объединить для Result? Так чтобы не пришлось создавать отдельный класс для всех ошибок для одной функции и для другой с копипастом этих ошибок.
Аноним 25/02/25 Втр 09:21:12 3396727 368
>>3396715
> разработчики kotlin не дали пользователям инструментов для нормальной работы с exceptions тупо заставив комплиятор игнорировать throws

В Джэве де факто так давно вообще уже все делают @SneakyThrows
Аноним 25/02/25 Втр 09:25:36 3396730 369
>>3396727
Да, но в java таким образом у тебя есть выбор. В kotlin у тебя выбора нет.
Аноним 25/02/25 Втр 10:05:13 3396747 370
Придумал кажется решение. Получается если я использую Result<T> из стандартной библиотеки, то я заставляю пользователя обрабатывать ошибку. Если я укажу Exceptions в @Throws аннотации, то он сможет узнать о том какие ошибки могут быть.

Неудобно, но хотя бы выглядит как алгоритм как заставить пользователя обрабатывать возможные ошибки. Пиздец, почему это не написано в официальной доке?
Аноним 25/02/25 Втр 11:44:34 3396830 371
>>3396719
Броу, если тебе для внутренней работы api удобнее обычные ошибки юзать, то так и делай.
Result обертки для публичных api уже делаются, чтоб чекать все ветки кнопкокрасу в фиче(запросы) Result котлина - говно кстати, надо своё писать

Причем иногда сервисы кидают ошибки через throws, а кнопкокрас на своей стороне пишет мапер из try catch к Result/Operation.
Аноним 25/02/25 Втр 11:47:36 3396831 372
>>3396830
Да я уже понял, что это видимо новая ФП реальность. Я не против. Я против, что так хуево поддерживается котлином. Нашёл несколько обсуждений на их форуме про это. Вывод какой: да, проблема существует, нет прямо сейчас что-то с этим делать не будем.
Аноним 25/02/25 Втр 11:55:02 3396838 373
>>3396831
>Я против, что так хуево поддерживается котлином
Что ты имеешь ввиду? Знаешь другие способы обрабатывать ошибки?
Аноним 25/02/25 Втр 12:04:57 3396849 374
>>3396838
Я вроде в сообщениях выше объяснил в чем проблема. Стандартный Result не поддерживает указания типов ошибок. Это всегда абстрактный Throwable. То есть пользователю API нужно смотреть сначала в сигнатуру функции на наличие @Throws, чтобы понять какой exception конкретно ему нужно обработать. Если @Throws не указан (а указаниетего не обязательно комплиятором и жалеть не warning), то пользователь должен смотреть документацию. Если и в документации не указано (разраб забыл обновить доку), то юзер оказывается в полной неопределённости, что ему делать.

Это ебать какой flaw языка. Альтернатива это писать свой Result, но тут возникает та же проблема. Или указывай обоьщенный, ничего не значиший тип ошибки или создавай для каждой функции отдельный sealed класс с ошибками-подкласамми.

Если бы был Union тип (T | Error1 | Error 2 ...), то эта проблема была решилась бы, вот только нет такой возможности в языке.
Аноним 25/02/25 Втр 12:14:31 3396862 375
>>3396849
>Result не поддерживает указания типов ошибок. Это всегда абстрактный Throwable.
Ты рофлишь чтоль, забудь этот стандартный Result, и напиши свой, где успех - это generic, и ошибка - тоже generic. Либ - оберток достаточно, не смей стандартный юзать в проде
Аноним 25/02/25 Втр 12:17:52 3396867 376
>>3396862
Почему "не смей стандартный юзать в проде"?
> пиши свой
Я же тебе уже объяснил в чем проблема со своим. Если всё что ты можешь это игнорировать мои аргументы, то в этом общении нет смысла.
Аноним 25/02/25 Втр 12:20:23 3396872 377
>>3396849
>Union тип (T | Error1 | Error 2 ...), то эта проблема была решилась бы, вот только нет такой возможности в языке.
Унион тип ты сам можешь создать, а ошибки наследовать от него, но нах он нужен.

Ты случайно не залетный джун? Покажи пример хоть один, где ошибки через унион тип прокидываются
Аноним 25/02/25 Втр 12:27:10 3396889 378
>>3396872
> Унион тип ты сам можешь создать, а ошибки наследовать от него, но нах он нужен.
А я хуй знает зачем ты предлагаешь наследовать от Union type. Я предлагал передачу множества типов как возвращаемый тип, а наследовать от хуй пойми чего.
> Ты случайно не залетный джун?
Нет. А ты случайно не пидор?
> Покажи пример хоть один, где ошибки через унион тип прокидываются
И ты ещё у меня спрашивал про джунство?

https://ziglang.org/documentation/master/#Error-Union-Type

https://youtrack.jetbrains.com/issue/KT-68296
Аноним 25/02/25 Втр 13:31:31 3396974 379
>>3396889
>https://ziglang.org/documentation/master/#Error-Union-Type
Литерли то же самое, если Result юзать.
Но прикольно, что механизм строго один, не важно каким способом обрабатываешь, catch или switch.

вместо error set можно юзать enum/sealed.
Аноним 25/02/25 Втр 13:35:32 3396978 380
>>3396715
>А как ты будешь различать какие ошибки возрвращает метод?
Как деды завещали: BaseError, от него наследуем FooError и BarError. В обработчике: when(x) и погнали, все что можно обрабатываем, остальное пробрасываем выше/игнорируем. В общем-то ничем принципиально от обработки эксепшенов не отличается.

>>3396715
>И получается если ты хочешь макнуть пользователя явно в то
...ты страдаешь херней. Просто не делай это. И всё. Обработка ошибок, забота пользователя. Это он должен прочитать документацию и обработать ошибки, твой код должен просто сообщить об ошибке. Ну и в документации отписать, когда и какие ошибки возможны.
Аноним 25/02/25 Втр 13:42:55 3396981 381
>>3396974
Да ты прав кажется, я не разобрался когда читал. Ладно, я уже понял, что придется для каждой функции создавать свой набор ошибок. Оверкил, но альтернативы кажется нет.
>>3396978
> Как деды завещали: BaseError, от него наследуем FooError и BarError. В обработчике: when(x) и погнали, все что можно обрабатываем, остальное пробрасываем выше/игнорируем.
То есть ты теряешь типизацию ошибки. Точнее вместо сильной типизации используется слабая типизация где да, BaseError это не String, но BaseError вообще любая ошибка во вселенной и давай уважаемый юзер обрабатывай NetworkError в функции drawCircle() потому что по контракту Result<T, BaseError>, а значит ошибка может быть любой.
> В общем-то ничем принципиально от обработки эксепшенов не отличается.
В жабе хотя бы комплиятор указывал какие конкретно эксепшены могут быть. Тут же тупо аналог Throwable прилетает, только называется BaseError.
> Обработка ошибок, забота пользователя. Это он должен прочитать документацию и обработать ошибки, твой код должен просто сообщить об ошибке.
Я люблю программирование. Я люблю писать хорошие программы и хорошие библиотеки. Подход где обработка ошибок это проблема пользователя, а я просто буду кидать ему Throwable, а он пусть идет читать документацию, введет к созданию плохих программ и плохих библиотек. Использовать я его не хочу.
Аноним 25/02/25 Втр 13:50:59 3396991 382
>>3396981
Идеального решения не изобрести, ты хочешь того, чего не существует.
Ты эти ошибки всё равно будешь заранее указывать, потому что по другому не сделать.

В жабе, после ключевого слова throws, перечисляешь ошибки.

В zig, создаешь error set, внутри перечисляешь ошибки.

В Kotlin, создаешь enum/sealed класс/интерфейс, внутри перечисляешь ошибки.

Все решения схожи, но чуть по разному реализуются.
Аноним 25/02/25 Втр 13:54:21 3396994 383
>>3396991
Да, но вопрос в том, какие инструменты предоставляет язык, чтобы помочь с задачей по обработке ошибок. В Kotlin таких инструментов нет. Старые, из Java, были убраны, новые были не добавлены. Совет от разработчиков: городить велосипеды с sealed классами и копипастом одних и тех же ошибок в каждый sealed класс каждой функции программы.

Безумие...
Аноним 25/02/25 Втр 14:10:44 3397004 384
>>3396994
>В Kotlin таких инструментов нет
Да, гибкий подход, все дела...
Try catch всё ещё есть, а throws всех доебал просто бойлерплейтом.
У тебя есть выбор - заставлять обрабатывать ошибки, или не заставлять.
В Java такого выбора нет, ты обязан этот throws прописывать, либо хэндлить. Хотя чел написал про @SneakyThrows аннотацию, наверное это фиксит проблему.

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

Есть объективные ошибки юзера, например, если он вводит out of bounds индекс. Такую ошибку офк не надо добавлять в sealed, тут вступает в дело подход let it crash.
Аноним 25/02/25 Втр 14:23:17 3397013 385
>>3397004
> нет, если ты копипастишь ошибки, то что-то делаешь неправильно.
Тогда я не понимаю как сохранить строгую типизацию, что может быть ошибка А, B, C при выполнении функции foo() и могут быть ошибки A, D, E при выполнении функции bar() не используя exceptions. Я выше приводил пример, что получается при использовании Result:
https://pl.kotl.in/tvL5uweLW
Аноним 25/02/25 Втр 14:39:14 3397021 386
>>3396702
Правильно тебя тимлид гоняет, что аж жопа горит на двачах, как вас балбесов еще учить тесты писать.
Аноним 25/02/25 Втр 14:55:45 3397034 387
image.png 60Кб, 566x765
566x765
>>3397013
Всё, я вник в твою проблему.
Если это не функции для публичного апи, то я бы хуй забил и делал через try catch, а обертку делал только для финального публичного взаимодействия.
Если у тебя либа низкоуровневая, то я так же не стал бы sealed хуйню городить, тут документация нужна увы.

А одна одинаковая ошибка из трех
(А, B, C) и (A, D, E)
не так критично, чтоб скопировать.
Ещё можно такой пикрил костыль сделать, но это шиза имхо
Аноним 25/02/25 Втр 15:05:53 3397047 388
>>3397034
Спасибо.
> Если это не функции для публичного апи, то я бы хуй забил и делал через try catch, а обертку делал только для финального публичного взаимодействия.
Для публичного апи, всё что ниже как раз через try catch сделал
> А одна одинаковая ошибка из трех
> (А, B, C) и (A, D, E)
> не так критично, чтоб скопировать.
Да, я так и сделаю скорее всего
Аноним 25/02/25 Втр 23:05:32 3397454 389
>>3396981
>То есть ты теряешь типизацию ошибки. Точнее вместо сильной типизации используется слабая типизация где да, BaseError это не String, но BaseError вообще любая ошибка во вселенной и давай уважаемый юзер обрабатывай NetworkError в функции drawCircle() потому что по контракту Result<T, BaseError>, а значит ошибка может быть любой.
Я не говорил что BaseError должен быть один на все приложение. Какой нибудь RPC может возвращать RpcError, у которого внутри будет NetworkError со своими подтипами, ProtocolError ошибки протокола и ServerError ошибки сервера со своими подтипами.

>В жабе хотя бы комплиятор указывал какие конкретно эксепшены могут быть. Тут же тупо аналог Throwable прилетает, только называется BaseError.
Тот же JPA выкидывает RuntimeException и никто их не декларирует. Весь спринг сидит на рантайм эксепшенах и никто не жалуется.

>Я люблю программирование. Я люблю писать хорошие программы и хорошие библиотеки.
Ты любишь овериженирнг. YAGNI.


>Подход где обработка ошибок это проблема пользователя, а я просто буду кидать ему Throwable, а он пусть идет читать документацию, введет к созданию плохих программ и плохих библиотек. Использовать я его не хочу.
90% обработки ошибок это проброс выше/логгирование/сообщение пользователю, 10% ретрай/фалбек, а вот оставшееся это уже реальная обработка ошибок.
Аноним 26/02/25 Срд 08:09:51 3397524 390
Аноним 27/02/25 Чтв 22:55:03 3398814 391
>>3396681
>Ты не очень разбираешься в тестирование, да?
Лучше тебя это точно.
Аноним 11/03/25 Втр 12:58:18 3406420 392
Значит, вкатился около полугода назад со сменой работы в эти ваши котлины. Раньше имел дело только с джавой и сисси++.
Разработка ведётся через Compose Multiplatform, причём под десктоп да-да, не под ведро, так уж вышло.
И, значит, насрав пару решений без отделения бизнес-логики от gui я понял, что занимаюсь какой-то полной хуйнёй и погрузился в изучение MVI и MVVM. В целом понятно, как оно должно работать на уровне модель-вью, но возник вопрос следующего характера:
У меня есть поток, выполняемый параллельно с интерфейсом, который, собственно, и делает всю основную работу приложения.
Как мне ПРАВИЛЬНО извлекать из него данные в модель? Все гайды вертятся вокруг удалённого бэкэнда, а мой случай не разбирается, похоже нигде.
Так вот, как доставать данные? Делать в рабочем потоке публичные переменные и использовать их в модели? Передавать экземпляр модели в рабочий поток? Сейчас у меня все состояния хранятся непосредственно в рабочем потоке, но их, как я понимаю, надо выносить в модель, так вот, какая должна быть архитектура в этом месте?

Приведу пример для ясности:
Имеется mutableStateOf<Boolean>, хранится в рабочем потоке как публичное поле. В процессе выполнения потока меняется каждую секунду. В зависимости от его значения на gui меняется, к примеру, поле с галкой. Я так понимаю, правильно будет вынести это mutableState из рабочего потока в modelview, дабы интерфейс общался уже с ним, но как правильно реализовать обновление этого mutableState из рабочего потока?
Аноним 11/03/25 Втр 13:54:11 3406474 393
>>3406420
Паттерн observer. Когда меняется переменная, дергаешь колбек в главном потоке.

Вообще странно, что у вас нет какого-то стандартного способа как в Андроиде. Handler, LiveData, Flow. Это структуры из Андроида (Flow вроде и в обычном котлине есть) для передачи данных из одного треда в другой тред.
Аноним 11/03/25 Втр 14:17:19 3406502 394
Аноним 16/03/25 Вск 15:09:28 3409674 395
Сап, анончики
По андроиду все понятно в принципе, а что насчет бэкенда? Особенно для вкатунцов, сложно ли найти первую работу?

Просто мне тут один знакомый с умным видом пытался доказать, что вкатунцы предпочитают java/go/python для бэка, поэтому вариант с kotlin в выигрыше, да и вообще это касается и опытных работяг
Аноним 17/03/25 Пнд 10:39:40 3410096 396
>>3409674
У нас бэк пишут на жабе. Вообще я бы был удивлен если бы встретил чистого Kotlin разработчика без знаний Java. То есть в вакансиях скорее всего будет указано Java/Kotlin или просто Java, но не один только Kotlin.
Аноним 17/03/25 Пнд 23:10:36 3410662 397
>>3406420
>Compose Multiplatform, причём под десктоп
Нихуя себе.
Сколько платят, какой грейд?
Аноним 17/03/25 Пнд 23:12:27 3410663 398
>>3409674
>поэтому вариант с kotlin в выигрыше
Так и вакух на котлин почти нет.
И вообще вкат уже всё, если хочешь найти место без такой ебанутой конкуренции, то тебе в девопсы
Аноним 06/04/25 Вск 23:33:37 3424686 399
pacany.jpg 50Кб, 807x447
807x447
>>3247715
>За 10 лет вышел на баснословные 200к
Мисье, да вы наверное работу раз в 5 лет меняли (с фирмы "рога и копыта" на "копыта и рога")?
Аноним 07/04/25 Пнд 10:15:56 3424826 400
>>3424686
Первая работа - 15к. Спустя полтора года гребли дали "повышение" до 17к. Уволился и нашел вторую работу на 30к, там спустя 2 года дали повышение до 50к. Потом уволился и нашел уже за зарплату в 70к, спустя 3 года дали 90к. Ну и такими перебежками дошел до 200к сколько сейчас и получаю
Аноним 07/04/25 Пнд 10:32:42 3424837 401
>>3424826
Я так понимаю работа вся в маленьких провинциальный городах?
Аноним 07/04/25 Пнд 12:17:09 3425025 402
>>3424837
Первая работа в провинции в офисе. Остальные удаленка на ДС
Аноним 07/04/25 Пнд 15:20:28 3425284 403
Аноним 15/04/25 Втр 18:02:21 3431616 404
>>3378952
>Рассматриваем kotlin в качестве альтернативы java 21 на бекенде.

зачем брать это говно если есть c# ?
Аноним 15/04/25 Втр 18:12:08 3431623 405
Выкатываюсь из котлина и андройда.
Было весело, но я больше могу, такой лютой дрочи с грэдлом, кодогенерацией, асинхронщиной я больше не вывезу. Всем спасибо за ответы и общение, было весело.
Передаю привет мамаше разраба Coil'а. Либа дерьмище, не работает вообще. Сделал тестовое с этой либой, у меня всё работало, а у лида всё отшибло и в итоге сказали "мы вам перезвоним" 👍
Аноним 15/04/25 Втр 19:17:08 3431661 406
>>3431623
Не сдавайся. Если уже дошёл до собеседований значит уже прошёл большой путь. Насчёт сторонних либ это везде так. Лучше брать что-то "старое", зато проверенное временем, чем новое, но забагованое.
Аноним 15/04/25 Втр 20:47:46 3431741 407
>>3431661
О каких собесах идёт речь, my dude? ТЗшку кидают до собесов, а там тебя уже нахер шлют.
Я такую охеренную модульную архитектуру там расписал, даже расписал почему, но из-за РКН (забанили APIшку к тестовому заданию, там какой-то западный сервис был) и Coil'а всё пошло под откос. Конечно, я не буду отчаиваться слишком сильно. всё равно кидаюсь резюме в конторы, где нужен android, но перекатываться 100% буду. Я уже слишком стар для фронтенда, хочется писать на сишке/гошке, не думать про всякие новые фишечки в языке и просто писать код.
Аноним 15/04/25 Втр 21:57:25 3431812 408
Какой статус у котлина? Есть будущее? Есть какие-то движухи вне андроида?
Аноним 15/04/25 Втр 22:00:55 3431815 409
>>3431812
мейн язык как всегда java, котлин лишь на уровне знания синтаксиса требуют обычно.
У котлина вне андройда наверное нет, чем да
Аноним 19/04/25 Суб 10:33:15 3434721 410
>>3431812
нету, после начала войны с котлина ушли ключевые разработчики.

мы решили от JVM стека отказываться в пользу c#
Аноним 19/04/25 Суб 13:26:58 3434888 411
>>3434721
Смелое, но тупое решение, просто взять и перелопатить весь стек с миллионном человеко-часов кода. Если ты не фантазер, то беги от таких тимлидов, после завтра наденете чулки и будете бэкдора писать на расте, как писали три года на гошечке, через жонглирование прокси серверов.
Аноним 19/04/25 Суб 15:02:33 3434962 412
>>3434888
Двачую.

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

Вариант с тем, чтобы фичу прикрутить сбоку выглядит максимально ненадежно. Проект сложный, автор любитель использовать наборы примитивов вместо классов, что приводит к интересным последствиям когда функции ожидают на вход набор чисел и строк с названиями "dd2", "s", "hc", "range". Шансы не накосячить крайне малы.

При этом это ещё лучшее решение, что есть в опенсоурсе. Остальные ещё хуже. Как не сложно догадаться область связана с навукой и код писали учёные, а не разработчики. К слову код выполняет задачу быстро, дерзко, мощно, каждый бит оптимизирован (написано на расте), есть даже документация публичного апи, но кодовая база это пиздец.
Аноним 19/04/25 Суб 20:03:36 3435223 413
>>3434888
>просто взять и перелопатить

Зачем? У нас уже много лет параллельно разработка осуществляется и на джаве, и на с#.

Текущие проекты на java мы так же поддерживаем, никто их бросаться переписывать не будет.

Мы просто сели и подумали как-то, что дотнет получше будет, и новые проекты на нём пишем.
Аноним 19/04/25 Суб 21:21:30 3435277 414
>>3435223
>и новые проекты на нём пишем.
Обычно новые проекты пишут на Расте, гыгыгы
Аноним 19/04/25 Суб 21:22:22 3435278 415
>>3435223
За туже зарплату ипаться с двумя языками и совершенно разными экосистемами. Умно. беги оттуда

Котлин хотя бы прокси язык и сахаро-синтаксически, в какой-то мере, те же шарпы для джавы, даже современнее и приятнее (это признают и шарписты).

Я говорю, наверните еще раст и тайпскрипт, когда-нибудь бизнес научиться гнать вас в шею. Сишарп/дотнет, конечно, норм теха, но она никак не помогает иметь компетентность в профессии.
Аноним 19/04/25 Суб 23:10:25 3435325 416
>>3435277
Без рофлов, почему нет? Наконец-то сделали нормальный С++ без боязни отстрелить себе писос одним неловким движением?

Производительность ебет все остальные языки. Синтаксис конечно не котлин, но я на нем пишу без крови из глаз в отличии от плюсов. ООП присутствует пусть и в немного непривычном виде. "Учиться" на нем писать не нужно, он буквально самочевиден, а в тех местах где нет, то статический анализатор в pedantic режиме объяснит почему не прав.

Единственный минус нет поддержки работы с cuda, но она экслюзивно только у плюсов сегодня есть.
Аноним 20/04/25 Вск 07:30:14 3435401 417
>>3435278
> те же шарпы для джавы, даже современнее и приятнее

судя по практике нет. В котлине больше с градлом ебёшься, чем код пишешь. C# просто работает.
Аноним 20/04/25 Вск 08:31:47 3435413 418
>>3435401
К счастью, сишарп остался в провинциальных галерках, заводах и одном банке
Аноним 20/04/25 Вск 10:30:51 3435472 419
>>3435413
А Коклин где? Кроме Андроида, где его пропихивает без смазки Гугля
Аноним 20/04/25 Вск 11:05:36 3435520 420
>>3435401
Градл ппц гибкий, в сторонних языках мне приходилось писать скрипты (нехер осваивать гредл методом тыка/SO/гпт и тогда все заработает другими красками).
Аноним 20/04/25 Вск 11:14:45 3435530 421
>>3435472
Везде где джава. Котлин есть джава.
Аноним 20/04/25 Вск 11:20:58 3435537 422
>>3435530
Ну и зачем учить Жаву поверх Жавы?
Аноним 20/04/25 Вск 11:32:04 3435559 423
>>3435520
> Градл ппц гибкий, в сторонних языках мне приходилось писать скрипты
А с гредлом пишешь грэдл плагины. Плюс только в том, что можно писать на котлине, а не на стопоннем недоязыке типа симейка.
Аноним 20/04/25 Вск 12:15:56 3435603 424
>>3435520
>осваивать гредл

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

С каждым следующим проектом осваиваешь градл, иногда часа по два...

В дотнете я просто делаю dotnet build и всё
Аноним 20/04/25 Вск 12:23:32 3435615 425
>>3435520
>нехер осваивать гредл методом тыка/SO/гпт
Ну, на самом деле что у градла что у мувена одна проблема - отсутствие документации. На сайте очень кривенькие гайды и какие-то обрывки сознания. Т.е. ты буквально пытаешься со слезами на глазах и сжимая от бессильной злобы зубы, написать рабочий помник или градл скрипт, который наконец соберет тебе проект так как нужно
Аноним 20/04/25 Вск 16:26:28 3435793 426
>>3435537
Чтобы наконец-то перестать ставить точку запятой.
Аноним 20/04/25 Вск 16:55:35 3435815 427
>>3435793
Для этого есть Питон
Аноним 20/04/25 Вск 18:30:12 3435891 428
16714719986981.png 233Кб, 750x422
750x422
>>3435815
Смотря сколько тебе лет.
Аноним 22/04/25 Втр 08:47:12 3437165 429
154666928915624[...].jpg 40Кб, 650x368
650x368
изображение.png 137Кб, 1498x1102
1498x1102
>>3435615
Знаешь, что общего у AR-15 и градла?

кнопка-самопочиняйка
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов