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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 47 7 21
Kotlin #4 /kotlin/ Аноним 16/08/25 Суб 11:30:17 3521415 1
image.png 99Кб, 1500x720
1500x720
image.png 936Кб, 1280x640
1280x640
image.png 590Кб, 1920x2280
1920x2280
image.png 590Кб, 764x1273
764x1273
Вся разработка на котлин, кроме андроид и 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

Предыдущий тред: >>3247263 (OP)
Аноним 16/08/25 Суб 14:18:22 3521500 2
Аноним 16/08/25 Суб 14:37:55 3521514 3
Аноним 25/08/25 Пнд 10:00:44 3526941 4
>>3521415 (OP)
fun fail1(message: String): Nothing {
throw IllegalArgumentException(message)
}

Такого рода функции для чего-то нужны? Они должны присутствовать в программе на котлине?
Аноним 25/08/25 Пнд 11:40:54 3527037 5
>>3526941
> Такого рода функции для чего-то нужны?
Чтобы бросить исключение. Nothing указывает на то, что ожидается, что функция завершиться раньше чем будет выполнена. Например из-за throw exception.
> Они должны присутствовать в программе на котлине?
Если у тебя есть логика, которой такое нужно, то да. В моей 5 летней практики пока ни разу не пригодилось.
Аноним 25/08/25 Пнд 12:32:22 3527073 6
>>3527037
>пока ни разу не пригодилось
просто я раньше писал что-то подобное, но делал проще если встречается что-то неправильное то пишу сообщение во второй канал
write(2, message, strlen(message));
exit(2);
Аноним 25/08/25 Пнд 14:46:23 3527237 7
>>3527073
Не уверен, что ты правильно понял значение функции возвращающей Nothing. В ней не предполагается никакого альтернативного выполнения кроме как ошибки. То есть это не то, что в функции вычисляющей 2+2 произошла ошибка. Это скорее то, что "нам нужно закрыть все ресурсы перед тем как бросить исключение и мы вызываем функцию закрывающую ресурсы и бросаем внутри неё исключение". Вот такая функция должна возвращать Nothing.
Аноним 09/09/25 Втр 17:38:51 3537648 8
РЕШИЛ НАПИСАТЬ ПРИЛОЖЕНИЕ НА KMP
@
ПИШЕШЬ И ДУМАЕШЬ КАКОЕ НЕУДОБНОЕ ГУМНО
@
ГОВОРИШЬ ОБ ЭТОМ КОЛЛЕГЕ
@
КОЛЛЕГА НЕ ПОНИМАЕТ ПОЛОВИНУ ТОГО, ЧТО ТЫ ЕМУ РАССКАЗЫВАЕШЬ
@
"А ТЫ ЧТО НЕ НА МАКЕ СИДИШЬ? ТОГДА ПОНЯТНО У НИХ ПЛАГИН KMP ТОЛЬКО ДЛЯ МАКОСИ"
@
ЧЕКАЕШЬ ЭТУ ИНФОРМАЦИЮ
@
ОХУЕВАЕШЬ ОТ ТОГО, ЧТО ЭТО ПРАВДА
Аноним 09/09/25 Втр 21:10:01 3537815 9
>>3521415 (OP)
Жаль, что за пределами Андроида Котлин никому не интересен.
Аноним 09/09/25 Втр 23:24:45 3537902 10
>>3537815
У нас бэк на нем написан. Знакомый на KMP запилил iOS приложение
Аноним 10/09/25 Срд 03:59:58 3537939 11
>>3537815
Он и на Андроиде никому не интересен, кроме Гугли. Этакий Раст но без педиков но с русофобами.
Аноним 10/09/25 Срд 07:54:28 3537976 12
>>3537815
Хз о чем ты, сейчас в 70% джава бэкенд вакансий хотят котлин или желание на него перейти
Аноним 10/09/25 Срд 09:29:55 3538036 13
>>3537976
А че не на груви или скалу или кложур? Конец все равно один
Аноним 10/09/25 Срд 11:23:51 3538143 14
>>3538036
наверное, потому что это самый удобный и популярный jvm язык после самой джавы
Аноним 10/09/25 Срд 11:32:20 3538158 15
>>3537815
Как же хорошо, что я выполз из этого мира джава говна.
Котлин слишком рано завендерлочился, еще показательно нагнул ру комьюнити. Тут даже самые ЧСВэшные смогли прочувствовать, что такое вендерлок.

Говно без души, натырили сахара, пытались в 1,5 студента попилить гига рынки, чудом скукожились до андроида, так же с максимализмом пытались попилить кроссмобильную разработку, не сделав для этого ничего (в отличие от команды дарта или js). Хз что там сейчас, но когда я варился в жабе, по ощущениям котлин практически не развивался.

Вот скажи анон, запилили они свой компилятор 2.0 и что пошла активная разработка?
Аноним 10/09/25 Срд 12:57:30 3538270 16
>>3538158
Да запилили. На KMP переписали приложения Duolingo, McDonald's, и ещё несколько брендов. В целом всё хорошо, только всё что касается KMP помечено как экспериментальный апи и программировать под него то ещё удовольствие. Зато в отличии от флаттера действительно можно один раз написать код на котлине и он будет работать под все платформы. По крайней мере если ты готов использовать экспериментальный апи.
Аноним 10/09/25 Срд 16:08:55 3538455 17
>>3538270
Если честно, не особо интересует что там на мобилках. Сейчас андроид есть, завтра его нет, туда же сразу улетит и котлин.

Я тот кто создавал первые треды по котлину (еще с тем долбо-котом и теребил жабистов в треде). Тоже думал что у яп есть будущее, но потом как вылез из жаба мирка, сразу все стало на свои места.
поныл, забейте
Аноним 10/09/25 Срд 16:10:38 3538458 18
>>3538455
А что там вне жаба мирка? Веб на жс. Микроконтроллеры на Си/расте. Да и всё. Ну, ещё питон в мле.
Аноним 10/09/25 Срд 17:27:55 3538524 19
>>3538458
Шарпунь + жс. Еще я с головой влез в геймдев (в свободное время). Хоть и начинал с юнити, но сейчас годот ковыряю.
Не ожидал что будет так нравится.
Аноним 10/09/25 Срд 17:30:33 3538527 20
>>3538524
> Шарпунь + жс.
Шарпы ещё живы? Хотя и винда ещё жива, чего им умирать.
> Еще я с головой влез в геймдев (в свободное время)
Ох, желаю удачи. Я когда-то пробовал и понял, что геймдев это на 80 % рисование артов и анимаций.
Аноним 10/09/25 Срд 17:53:53 3538547 21
>>3538527
>Шарпы ещё живы? Хотя и винда ещё жива, чего им умирать.
Уже поднадоела эта тема, неткор как лет 10 существует, но все равно находятся люди не в теме. Современный дотнет очень хорошо показывают себя в бэкенде на линуксах, да и отполировали его норм так.
Но, наверное да, все это может не в СНГ.

>что геймдев это на 80 % рисование артов и анимаций.
Смотря что, можно играться с механиками. Да и само 3D моделирование, мне тоже интересно, я на моделинге вообще релаксирую (что не сказать про глаза).
Аноним 10/09/25 Срд 17:59:54 3538553 22
>>3538547
> Но, наверное да, все это может не в СНГ.
Я работаю на американскую компанию. У нас продуктов около десяти и ни один из них не написан на шарпе. В бэкенде или джава, или котлин, или го. При том, что каждая команда принимает самостоятельно решение на чём писать.
> Смотря что, можно играться с механиками. Да и само 3D моделирование, мне тоже интересно, я на моделинге вообще релаксирую (что не сказать про глаза).
Это хорошо.
10/09/25 Срд 18:38:34 3538596 23
>>3538553
Действительно, твоя компания в Америке единственная.
Аноним 10/09/25 Срд 18:47:52 3538601 24
>>3538596
Я такого не говорил. Это ты придумал
Аноним 10/09/25 Срд 19:35:00 3538642 25
image.png 13Кб, 716x121
716x121
>>3538601
Тогда к чему это? Есть области, где есть джава, где шарп, го, они могут пересекаться, а могут нет. У нас нет джавы, но это вообще ни о чем не говорит.
Средний джавист вообще ходячий мем и может кроме жабы ничего в жизни не видеть. И это ЧСВ разогнано абсолютно искусственно, поверь. Так что к чему ты вообще высрал про свою работу? Что это должно было показать?

Вот джава может похвастаться, что используется в истребителях F35?
https://www.reddit.com/r/dotnet/comments/1g5lmdb/does_anyone_use_netc_in_any_mission_critical/

Так что вылезай из пузыря и посмотри что в мире происходит (если бы джависты это делали чаще, быть может спринг не был бы таким говном)
Аноним 10/09/25 Срд 19:36:08 3538643 26
>>3538642
Чел, остынь и открой форточку
Аноним 10/09/25 Срд 19:42:24 3538648 27
>>3538643
Сам был таким жаба-снобом, все по факту.
Аноним 15/09/25 Пнд 00:22:31 3541208 28
Аноним 15/09/25 Пнд 06:06:21 3541246 29
>>3538642
Самый крутой физический движок -bepu- на шарпе сделан.
мимо
Аноним 15/09/25 Пнд 10:30:02 3541305 30
>>3541208
Китайцы просто взял синтаксис котлина и заменил fun на func?
Аноним 15/09/25 Пнд 12:08:03 3541432 31
>>3541305
Взяли котлин/свифт синтаксис поверх го рантайма (вытесняющих горутин).

Кстати, в 2015 году некоторые аноны просили сделать "компатибилити" с го и там даже кто-то на хабре написал "возможно" ага
Аноним 15/09/25 Пнд 15:31:32 3541632 32
>>3541432
А смысл? Котлин вроде умеет компилироваться в бинарник или там нет поддержки корутин? Но опять же, можно взять graalvm + котлин с корутинами и получится +- го по производительности + поддержка ООП и всех фич котлина.
Аноним 15/09/25 Пнд 16:49:54 3541751 33
>>3541632
Проблема цветных функций (в го ее нет, асинхронность под капотом) и производительность (без всяких JIT прогревов и VM говна, кросскомиляция).

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

Тоже самое ко всяким graalvm - как всегда будет "можно, но..."
Аноним 28/09/25 Вск 18:06:54 3552107 34
>>3538158
Вот кстати да. Выход Groovy 5 и то согрел душу больше чем выход новой версии коклина
Аноним 28/09/25 Вск 19:30:43 3552172 35
Screenshot2025-[...].jpg 334Кб, 1080x2400
1080x2400
Кто-нибудь пробовал вставить код ассемблера в проект на котлине? Я новичёк, не смог с нейросеткой.
Аноним 28/09/25 Вск 21:45:23 3552234 36
Аноним 28/09/25 Вск 21:53:56 3552237 37
>>3552172
На ассемблере компилится нативная динамическая библиотека с расширением .so и подключается через JNI.
Аноним 28/09/25 Вск 22:31:28 3552266 38
>>3552172
лол, тут ассемблер x86, как оно на arm будет работать?
Аноним 28/09/25 Вск 22:38:05 3552273 39
>>3552172

Свой файл можешь скомпилировать

nasm -f elf64 -o libtest.o test.asm
ld -shared -o libtest.so libtest.o

Но вообще, если это JVM, гугли "JNI tutorial". Боюсь, там будет сложновато для новичка.
Аноним 29/09/25 Пнд 14:23:36 3552688 40
>>3552234
Нет, ожидаю быстродействие х3
Аноним 29/09/25 Пнд 14:26:23 3552692 41
Нахуя вы отвечаете этому долбоёбу с ассемблером? Он не в первый раз уже им срёт, то в шарпе, то в JS, то ещё где-то.
Аноним 29/09/25 Пнд 14:27:40 3552695 42
>>3552266
>как оно на arm
пока пытался билдить на пк. java разве не создавался ли для запуска на любой платформе? Для этого же и нужны эти виртуальные машины.
Аноним 29/09/25 Пнд 14:29:02 3552698 43
>>3552692
Интересно, что я не один интересуюсь быстродействием.
Аноним 29/09/25 Пнд 16:04:18 3552869 44
image.png 78Кб, 691x468
691x468
>>3552695
>java разве не создавался ли для запуска на любой платформе
Раз у тебя jvm, гугли JNI, не еби мозги.

Еще у Kotlin есть native builds.
Аноним 29/09/25 Пнд 18:29:00 3553059 45
>>3552695
> java разве не создавался ли для запуска на любой платформе

java да, ассемблер нет

>>3552692
бля, реально? а покажите ещё посты этого шиза, я не верю просто.
Аноним 29/09/25 Пнд 20:07:28 3553128 46
Аноним 03/10/25 Птн 03:57:41 3555711 47
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов