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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 7 4 5
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.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов