
Михаил
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

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

Alexey
15.04.2017
13:40:58
вообщем,
на 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

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
какой веб-фреймворк под посоветуете для прожженного шарписта чтобы прямо так затянуло в джаву? ? ?

Igor
16.04.2017
16:12:09

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

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

Igor
16.04.2017
16:15:06

Илья
16.04.2017
16:15:08

Igor
16.04.2017
16:16:23

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

Boris
16.04.2017
16:28:56
да, просто тотально везде спринг-стек сейчас используют
плюс-минус
Optional.getOrThrow() это же вроде orElseThrow

Руслан
16.04.2017
16:31:27
А в противном случае есть всякие элвисы, 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
какой-нибудь 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

Илья
16.04.2017
16:45:26

Igor
16.04.2017
16:46:00

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

ViTO
16.04.2017
16:46:44

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

Igor
16.04.2017
16:47:21

Илья
16.04.2017
16:47:43

ViTO
16.04.2017
16:48:24
в 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

Андрей
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
16:59:39

Руслан
16.04.2017
16:59:54

Андрей
16.04.2017
17:03:38

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