
Stanislav
02.11.2016
12:32:04
я делаю вывод, что Optional не нужен. Он особо ни от чего не защищает, а @Nullable удобнее в ипользовании
а вообще глобальный вывод, что T? > @Nullable > Optinal

Victor
02.11.2016
12:32:35
А что есть T? в котлине? Расстановка проверок на null всюду и везде?

Stanislav
02.11.2016
12:33:24

Google

Pavel ?
02.11.2016
12:35:05

Oleksandr
02.11.2016
12:36:09

Pavel ?
02.11.2016
12:36:27
а ты говоришь что ты понял все хорошо)
ты передаешь в тип кот может быть нуль нуль) ессесно будет нуль)
если не использовать генерики то котлин не нуль тип закомпилиирует как примитив

Oleksandr
02.11.2016
12:37:45
и теперь надо все аргументы с ? писать?

Pavel ?
02.11.2016
12:37:48
и из явы ты нуль в примитив не передашь

Oleksandr
02.11.2016
12:38:25
а если def foo(t : T)
как я понимаю, либо я все пишу с ?, либо могу словить нпе

Виталий
02.11.2016
12:40:57
? пишешь если разрешаешь null

Pavel ?
02.11.2016
12:41:01
тут как бы если писать апи на котлине с использованием не нуль типов, то по хорошему надо перед этим сделать или нуль чек лэер ну или котлин автоматом чекать будет

Oleksandr
02.11.2016
12:42:09
итого, снова человеческий фактор, и среб пули нет
ессно не надо писать с наллами, это зло

Google

Oleksandr
02.11.2016
12:42:47
после каждого налла в паблик апи умирает котенок

Pavel ?
02.11.2016
12:43:09
ну этот вариант из всех самый лучший, потому как даже не используя не нуль типы, котлин будет на нуль чекать автоматом

Oleksandr
02.11.2016
12:44:19
это то же самое, что подозрительный аргумент аннотировать, засунуть спецметодом в опшн или проверить руками

Pavel ?
02.11.2016
12:44:20
тобишь везде где T? будет T?.foo()
иначе не закомпилируется
и нарваться на NPE шансов гораздо меньше)

Oleksandr
02.11.2016
12:46:13
ровно столько же, сколько у аналогов

Pavel ?
02.11.2016
12:46:46
пробовал опционали и самы, не то

Oleksandr
02.11.2016
12:47:00
ну, на вкус

Pavel ?
02.11.2016
12:47:13
видимо да)

Oleksandr
02.11.2016
12:47:30
я против котлина ничего не имею, просто не особо понимаю, чем он реально лучше дж8

Pavel ?
02.11.2016
12:48:39
ну скажем так, он лучше тем, что изначально язык колбасится по юз кейсам которые используются в продакшене на яве

Alexander
02.11.2016
12:48:55
Ребята, привет!
Я ищу сильного джависта с опытом в биллинге, мб есть у кого хорошие знакомые к кому могу обратиться?

Oleksandr
02.11.2016
12:49:31
слишком абстрактно)

Pavel ?
02.11.2016
12:49:53
все остальное можно нагуглить)
или почитать спеку языка)

Oleksandr
02.11.2016
12:50:42
если я хочу чего-то нового, я беру скалу
если не хочу рисковать, то дж8
котлин для какого кейса?
пока он выглядит, как куча сахара

Google

Pavel ?
02.11.2016
12:51:45
котлин когда дж заебала, а надо писать продакшен без хуйни)
как-то так)

Alexander
02.11.2016
13:07:00
вы опишите что надо в деталях))
Да, можно на "ты" :)
Помогаю сейчас коллеге, ищем в международную компанию в отдел биллинга сильного джависта (EE).
Ребята делают решение, на основе которого другие могут продавать хостинг, софт и т.п. Всё в облаке.
Компания крутая, белые, дмс, офис у м. Белорусская.
Если интересно, могу подобнее описать в личке, скинуть сайт, что бы тут не спамить оффтопом.

Stanislav
02.11.2016
13:09:28
когда хорошо заходят функциональные плюшки джавы, но надоела многословноность в функцианальных интерфейсах, иммутабилити и хочется без оберток на чекд эксепшенами

Oleksandr
02.11.2016
13:15:49
то есть как скалу без переизбытка ФП и колдунств?

Stanislav
02.11.2016
13:17:04
типа того
или как груви, от которого не тянет блевать
или как ML на jvm

Oleksandr
02.11.2016
13:17:59
ээ, мл-то к котлину каким боком?

Stanislav
02.11.2016
13:18:07
или как ML для тех, кто умеет только в джаву

Stanislav
02.11.2016
13:18:11
ну очень похож же

Oleksandr
02.11.2016
13:19:01
я знаком немного с окамлом, и вот он совсем не похож
про груви и речи нет, тормозное динамическое непоймито
в скале, признаю, надо понимать, куда плыть, чтобы не разбиться о скалы

Alexander
02.11.2016
13:21:25
Ребят, могу сказать со стороны рекрутмента - за последний год работал по 6 вакансиям скалы и ни одной котлина...

Oleksandr
02.11.2016
13:21:26
часть комьюнити её юзают как хаскель, на который есть работа, и это раздражает

Stanislav
02.11.2016
13:23:17

Alexander
02.11.2016
13:23:34
При чем скала в половине случаев под спарк для бигдаты

Google

Stanislav
02.11.2016
13:23:52
да )

Alexander
02.11.2016
13:24:00
А, ща почитаю

Stanislav
02.11.2016
13:25:09
наврал, чуть больше. Версия 1.0 от 15 февраля

Alexander
02.11.2016
13:25:46
Ого, это от ребят из джетбрейна. Интересно

Pavel ?
02.11.2016
13:26:34
Да, можно на "ты" :)
Помогаю сейчас коллеге, ищем в международную компанию в отдел биллинга сильного джависта (EE).
Ребята делают решение, на основе которого другие могут продавать хостинг, софт и т.п. Всё в облаке.
Компания крутая, белые, дмс, офис у м. Белорусская.
Если интересно, могу подобнее описать в личке, скинуть сайт, что бы тут не спамить оффтопом.
Москва?)

Alexander
02.11.2016
13:27:07
Да, Москва. Могу сайт скинуть в личку, там хорошая презентация.

Victor
02.11.2016
13:27:43

Pavel ?
02.11.2016
13:28:08

Admin
ERROR: S client not available

Alexander
02.11.2016
13:31:04
Я правильно понял, что Котлин, это как скала, но компилится быстрее?

Stanislav
02.11.2016
13:31:16
не

Pavel ?
02.11.2016
13:31:38

Stanislav
02.11.2016
13:31:44
котлин, это что-то среднее между скалой и джавой

Oleksandr
02.11.2016
13:36:31

Alexey
02.11.2016
13:39:34
какие там сейчас реальные преимущества у котлина перед джава8
?

Ilya
02.11.2016
13:40:07

Alexey
02.11.2016
13:40:21
ну андроид понятно. там вообще недоджава
а для не мобильщиков?

Ilya
02.11.2016
13:41:04
Типа безопасное программирование с минимальным риском нпе

Google

Vitaliy
02.11.2016
13:41:08
Кстати, меня тоже nullable бесит в Котлине
Проблем от него только больше

Ilya
02.11.2016
13:41:35

Alexey
02.11.2016
13:41:35
ну optional в java8

Vitaliy
02.11.2016
13:41:36
Допустим, у тебя объявлен non-volative nullable field

Ilya
02.11.2016
13:41:52

Vitaliy
02.11.2016
13:41:54
Зачем каждый раз в методе требовать его проверять на null?

Alexey
02.11.2016
13:41:58
почме?
нормальная такая монадка

Vitaliy
02.11.2016
13:42:18
Один раз проверил — хватит, поле-то только для одного потока предназначено

Антон
02.11.2016
13:42:43

Ilya
02.11.2016
13:43:07
почме?
Имхо громоздкий синтаксис

Vitaliy
02.11.2016
13:43:11
Что самое вкусное, проверка работает в виде:
Utils.checkNotNull(mField, "mField");
Вопрос — что мешает сразу после этой проверки стать полю null?

Igor
02.11.2016
13:43:34
а что мешает стрелять себе по ногам?
вероятно, здравый смысл?

Alexey
02.11.2016
13:43:56
еще плюсы будут? implicit вроде как да?

Pavel ?
02.11.2016
13:45:39

Ilya
02.11.2016
13:45:50

Vitaliy
02.11.2016
13:46:56
Если в случае с обычным null мы вылетим там, где будем его использовать, в случае с котлином мы вылетим сразу же при передаче его в неправильное место и не будем по стектрейсу искать, как оно туда попало
Выходит, периодически эта их штука сбоит