@kotlin_lang

Страница 103 из 982
Михаил
15.04.2017
13:34:11
не стейбл ставить вообще страшно)

kapt { generateStubs true }

Alexey
15.04.2017
13:35:24
Михаил
15.04.2017
13:35:25
есть такое в гредле?

Google
Alexey
15.04.2017
13:35:30
опа ! переключил на 1.1.1 все собралось

Михаил
15.04.2017
13:36:02
попробуй еще kapt явно подключить

Alexey
15.04.2017
13:36:19
придется на 1.1.1 посидеть, ибо на 1.1.2-eap-69 не может сгенерить фабрики даггеровские

Михаил
15.04.2017
13:36:38
apply plugin: 'kotlin-kapt'

Alexey
15.04.2017
13:37:17
apply plugin: 'kotlin-kapt'
а для этого надо classpath какой-то?

Михаил
15.04.2017
13:37:22
нет

Alexey
15.04.2017
13:40:58
apply plugin: 'kotlin-kapt'
о, так заработало на 1.1.2-eap-69

вообщем, на 1.1.2-eap-69 работает только с apply plugin: 'kotlin-kapt' на 1.1.1 работает и без kotlin-kapt

Igor
15.04.2017
21:06:16
Кто-нибудь делал свой value-type point/size? Есть в этом какой-нибудь профит (типа меньше GC, конвер. через интринзики)? https://i.gyazo.com/1415742a2afc862e659799811ede73d6.png

Sasha
16.04.2017
04:17:38
3.5 релизнулся https://docs.gradle.org/current/release-notes.html Gradle Script Kotlin v0.8.0, included in Gradle 3.5, greatly improves the user experience and parity with Groovy build scripts.

Igor
16.04.2017
15:42:49
В Kotlin (или Java 1.6`) есть что-то типа `Option/Either/Result?

Руслан
16.04.2017
15:43:23
guava/funktionale

Igor
16.04.2017
15:44:18
guava/funktionale
Неееет, я хочу добавить это в свою либу и нужно без зависимостей. Вроде бы простецкие классы, почему бы не добавить хоть что-то.

Google
Руслан
16.04.2017
15:44:57
Чтобы потом как в джаве посыпать голову пеплом?

Optional.get()

Boris
16.04.2017
15:45:45
Igor
16.04.2017
15:45:59
Чтобы потом как в джаве посыпать голову пеплом?
Да не знаю, все вроде пока довольны. А get просто не надо вызывать (это же атипаттерн) и все будет OK.

Boris
16.04.2017
15:46:17
Вроде с опшнлом в 8 джаве вполне можно жить

Optional.get()
А гет добавили потому что иногда бывают довольно дурацкие ситуации особенно в стиле джава когда этот метод просто необходим

Руслан
16.04.2017
15:48:34
https://bugs.openjdk.java.net/browse/JDK-8160606 http://openjdk.java.net/jeps/277

А чего тогда депрекейтят?

Boris
16.04.2017
15:50:13
Так ведь не задепрекейтили ?

Но оно конечно во всех ситуациях лучше без него обойтись

Руслан
16.04.2017
15:51:54
Так ведь не задепрекейтили ?
Так я не сказал что уже задепрейтили, но видимо задепрейтят.

Плохой API, причем достаточно свежий

Ну и в котлине он отлично заменяется системой типов

Boris
16.04.2017
15:54:00
А в скале живут с этим гетом и в ус не дуют

Руслан
16.04.2017
15:54:17
А в джаве с налами живут :)

Boris
16.04.2017
15:56:24
Скорее дело в том, что в джаве все так и норовят написать что то такое if(foo.isPresent) foo.get() причём я сам несколько раз такое видел

А в скале никому и в голову не придёт ?

Руслан
16.04.2017
15:57:21
Нормальный код же, у нас так и писали на проекте)

Года три назад

А в скале никому и в голову не придёт ?
Так в скале и лямбды получше, и в целом функционально пишут

Google
Boris
16.04.2017
16:03:01
Так и я о том

Илья
16.04.2017
16:11:15
какой веб-фреймворк под посоветуете для прожженного шарписта чтобы прямо так затянуло в джаву? ? ?

Илья
16.04.2017
16:12:46
Play 2.0 ?
он же вроде больше для скалы?

я просто хочу сначала так сказать основу освоить - java, т.к. она пока что все еще и востребованней все таки чем всякие скалы и котлины

ViTO
16.04.2017
16:14:11
насчет Optional и Kotlin недавно был спор с коллегой, он утверждал что зря его не ввели прямо в язык, и что в этом случае val obj = someObj?.property1?.property2 у оbj тип должен быть Property2Type??? (property2 - nullable) в общем мы довольно долго спорили я хотел выложить спор сюда и узнать ваше мнение, и какие-нибудь аргументы правда там действительно много текста - строк 150-200

ViTO
16.04.2017
16:17:43
https://pastebin.com/unsr7Bbf

если кто-то осилит укажите на мои ошибки какие, ну и если есть дополнительные доводы/аргументы за одну из сторон буду признателен

Андрей
16.04.2017
16:21:00
А чего тогда депрекейтят?
Ну тогда до кучи еще и эту ссылку надо было бросить https://bugs.openjdk.java.net/browse/JDK-8140281 . Деприкейтят, потому что хотят заменить на Optional.getWhenPresent(), Optional.getOrThrow(), Optional. uncheckedGet()

Руслан
16.04.2017
16:28:05
он же вроде больше для скалы?
не, плей 2 и котлин/джава не ок. Спринг бери, че)

Boris
16.04.2017
16:28:56
да, просто тотально везде спринг-стек сейчас используют

плюс-минус

Optional.getOrThrow() это же вроде orElseThrow

Руслан
16.04.2017
16:31:27
https://pastebin.com/unsr7Bbf
Optional<Optional<T>> == Optional<T> в большинстве случаев, ведь так?

А в противном случае есть всякие элвисы, let, takeIf

А вообще твой коллега тот еще Д'Артаньян, так что противно читать

ViTO
16.04.2017
16:36:16
ну на самом деле он довольно-таки опытный он часто приводит четкие доводы и аргументы, можно сказать упарывается по Haskell и фп а этот спор был пятницу - такой небольшой срач можно сказать

Google
ViTO
16.04.2017
16:37:40
Optional<Optional<T>> == Optional<T> ну вот при этом приравнивании теряется информация для приведенного примера список с опшионал элементами и методом getFirst в случае с пустым Optional<T> неясно, то ли это первый элемент, то ли элементов нет в списке

Руслан
16.04.2017
16:42:20
> ну вот при этом приравнивании теряется информация да, но чаще всего она и не нужна, в противном случае в котлине есть takeIf, elvis, etc

ViTO
16.04.2017
16:44:23
насчет тона коллеги возможно я его достал уже c Kotlin'ом, и получилось как в этой статье https://transitiontech.ca/random/RIIR

Илья
16.04.2017
16:44:24
не, плей 2 и котлин/джава не ок. Спринг бери, че)
а если из этих что-то? https://tproger.ru/digest/java-web-frameworks/

какой-нибудь vaadin

Admin
ERROR: S client not available

Руслан
16.04.2017
16:44:39
> в случае с пустым Optional<T> неясно, то ли это первый элемент, то ли элементов нет в списке ну да, в этом случае придется сначала проверить на empty

Илья
16.04.2017
16:44:56
или jsf

Руслан
16.04.2017
16:44:57
какой-нибудь vaadin
не надо жизнь ломать вот так сразу

Руслан
16.04.2017
16:46:03
или jsf
jsf можно и со спрингом юзать, это такой темплейт энджин

ViTO
16.04.2017
16:46:44
Какая у тебя информация там теряется? Это же типичная MayBe монада из того же хаскеля.
как писал выше в случае с пустым Optional<T> неясно, то ли это первый элемент, то ли элементов нет в списке

Руслан
16.04.2017
16:46:58
понял)))
более-менее популярный сегодня и адекватный это spring-boot

Илья
16.04.2017
16:47:43
более-менее популярный сегодня и адекватный это spring-boot
это что какое-то ответвление обычного спринга?

ViTO
16.04.2017
16:48:24
А зачем тебе? Да и не бывает такого, есть же метод flatMap
ну если эти случаи нужно по разному обработать например в Kotlin нет flatMap как я понимаю

в Swift да

Руслан
16.04.2017
16:50:46
это что какое-то ответвление обычного спринга?
конфигурационная нашлепка поверх

ViTO
16.04.2017
16:50:48
жаль что в Kotlin T? не значит Optional<T> как в Swift

Google
ViTO
16.04.2017
16:51:37
и уже не будет так судя по всему

Руслан
16.04.2017
16:52:03
я так и не понял зачем

ViTO
16.04.2017
16:52:29
https://discuss.kotlinlang.org/t/value-types-and-null-handling/1471/3

Igor
16.04.2017
16:53:14
Да хрен с Option, меня лично больше Either интересует

Руслан
16.04.2017
16:53:37
В чем проблема то :)

Igor
16.04.2017
16:54:03
Возьми реализацию из funKtionale
Да говорю, у меня библиотека. Не могу я пихать в нее зависимости на левые либы.

Андрей
16.04.2017
16:54:42
А свой Either написать? Он же не сложный

Igor
16.04.2017
16:55:39
А свой Either написать? Он же не сложный
Не канает если будет больше одной библиотеки, придется ссылаться на какую-то третью. А на Kotln StdLib есть ссылка отовсюду. И вот именно что он "несложный", не должна либа распухнуть от нее (в отличие от тех же коррутин).

Руслан
16.04.2017
16:57:13
Мне кажется у тебя два пути: 1. скопировать себе either откуда-то 2. сделать либу которая как functionale, только чистый either и ходить пиарить её, а также втащить себе

Viktor
16.04.2017
16:58:38
а что плохого в Optional.get()? дайте линк почитать

Руслан
16.04.2017
16:59:27
https://bugs.openjdk.java.net/browse/JDK-8140281

Igor
16.04.2017
17:04:18
на хаскель
Нет, не надо (до сих пор не представляю как писать на нем промышленное ПО). Но после F#, я крендец как жалею что на JVM нет живого OcaML ?

Страница 103 из 982