Комментарии 22
В языке много интересного и полезного, но есть и странное: return из лямбды по умолчанию возвращает управление из объемлющей функции! Я вот реально удивился такому. Естественно, такую лямбду нельзя возвратить, она оказывается как-бы гвоздями прибита к объемлющей функции.
В качестве альтернативы можно использовать анонимные функции.
Return из лямбды возвращает управление из объемлющей функции только в случае если это inline лямбда, то есть по сути никакой лямбды и нет, а есть просто подстановка кода, внутри которого return как и должен возвращает управление из объемлющей функции. Из "полноценной лямбды" return на уровне функции сделать ожидаемо невозможно.
Деревья выражений есть?
Это с какого языка понятие?
Замыкание вкупе с when перекрывает все смелые фантазии, недоступные в других языках
Если я правильно понял, деревья выражений в шарпе используются как надстройка для работы linq? Если нет, поделитесь областью их применения.
Именно так. Как dsl язык запросов, транслируемый в SQL и контролируемый компилятором.
Прямого аналога в языке нету, есть костыльные решения через рефлексию и плагины компилятора. Если интересно https://habr.com/ru/articles/669694/
"Сделать задачу" - где это таких делателей делают? Косноязычие вперемешку с английскими словами - ужас.
Да и не понятно, почему С++ - несчастный. Скорее уж эти горе-программисты на всяких котлинах несчастные.
А есть подтверждение, что любят?
Я не люблю котлин. Джава зе бест
После года использования Котлина, джава - это просто боль (примитивный древний язык, который давно морально устарел - нет проверки nullability, многие операторы не являются expression, нет immutable коллекций, и тд и тп).
Это как заменить настоящие кубинские сигары, которые нещадно жгут лёгкие на новомодный вейп. Ну типа приятнее, жижи всякие имеются. Но оставаться настоящим важнее
Это если продолжать писать джаву, но на котлине. А если через боль и слезы начать писать прямо kotlin way код, это равноценно отказу от курения вообще и вернуться потом желания не возникает, если ты проходишь этот путь до конца.
Вы, чтобы быть настоящим суровым мужиком, переходите сразу на байткод - вот там будет 100% понимание кода! И оптимизировать можно будет))
Первый — как better Java.
Java - это особый мир, может и так, но тут я недоумеваю - где Java там и работа на дядю, а где на дядю - там тот язык на котором писать прикажут. Какая разница чего там better?
Но JetBrains и профессиональное сообщество прикладывают много усилий, чтобы Kotlin ассоциировался не только с мобильной разработкой.
Так и есть наверно, раз в статье написано. Но успехов они пока не достигли. В смутном сознании после не поставленного ковида, решил сравнить дюжину языков программирования, ибо и тут верить никому нельзя, лучше пусть глупый опыт, но свой. Так сравниваю 11, Котлин выпал - терпение лопнуло раньше чем IntelliJ Idea закончила чего-то там архиважное для хелловорлда индексировать.
Котлин натуральный то был, по докам нужно Идею поставить, темплетом приложения озаботиться, подождать… тут я всё и снёс. Тот же Swift (раз уж он и в статье к слову пришёлся) хоть и менее кросс-платформенный, только Эппл да Линукс и может быть никому не нужные форточки, но на Линукс работает изумительно.
Состояние Котлин напоминает мне двигавшийся по инерции C# времени раннего MAUI, когда тот был привязан к VS - вроде и интересно, а близко подходить не хочется. C# выправился, чего и Котлину желаю.
Почему разработчики любят Kotlin