
Igor
16.04.2017
19:16:38

Andrey
16.04.2017
19:17:19
Ладно, кортежи и пары не нужны.

Snow
16.04.2017
19:17:30

Oleksandr
16.04.2017
19:17:59

Google

Snow
16.04.2017
19:18:50
Списком? Для возврата 2 значений разного типа?
Ну не очень что то
Как синтаксический сахар хотя бы кортежи были бы норм

Andrey
16.04.2017
19:19:58

Oleksandr
16.04.2017
19:20:14
то есть речь про паттерн-матчинг ?

Snow
16.04.2017
19:20:16
Дто под каждый метод?

Andrey
16.04.2017
19:20:36

S
16.04.2017
19:20:55
Надо пользоваться библиотеками, где есть Tuple2 и до бесконечности

Snow
16.04.2017
19:21:06

Andrey
16.04.2017
19:21:27
Не врубаешься о чём я сейчас?
Нагенери себе таплов и используй.

Google

Oleksandr
16.04.2017
19:22:18
В частности да
в общем случае такую штуку реализовать непросто
есть http://www.vavr.io/, но он где-то как раз с патмата сдановится уродством

Snow
16.04.2017
19:22:36
Я говорю про язык. Чтобы сам язык умел кортежи и паттернматчинг
Почему в яве их не сделают?

Oleksandr
16.04.2017
19:23:19
потому что джава — консервативный динозавр, и может десятялетиями тянуть фичу

Andrey
16.04.2017
19:23:34

Anton
16.04.2017
19:23:37

S
16.04.2017
19:24:00
Нет, просто будут говорить, что нинужно, а потом как завезут, тогда скажут нужно

Oleksandr
16.04.2017
19:24:25
Number plusOne = Match(obj).of(
Case(instanceOf(Integer.class), i -> i + 1),
Case(instanceOf(Double.class), d -> d + 1),
Case($(), o -> { throw new NumberFormatException(); })
);
бгг
(из javaslang)

Andrey
16.04.2017
19:24:37

Snow
16.04.2017
19:25:02
А по чему делать паттерн матчинг как не по кортежам?

S
16.04.2017
19:25:12
По юнион тайпам

Snow
16.04.2017
19:25:12
По обьектам? По спискам?

S
16.04.2017
19:25:38
Ну хотя бы как в Groovy Truth
Паттерн матчинг для бедных

Oleksandr
16.04.2017
19:26:06
мб вместе с struct-ами добавят, самое оно

Andrey
16.04.2017
19:26:41

Snow
16.04.2017
19:27:38
Не. Я согласен по хед тейлу списка. Как в лиспе.
Но чтоб с этим было удобно работать

S
16.04.2017
19:28:04
Кортежи чтобы в рантайме делались. А дтошек всегда можно наклепать и Pair/Tuple что угогдно
Как допустим два стрима зазипать без туплов?

Google

Snow
16.04.2017
19:29:06
Нинужна сказали?

Andrey
16.04.2017
19:29:15

Snow
16.04.2017
19:29:33
Рекурсивный фп код на яве писать

Oleksandr
16.04.2017
19:29:43

Andrey
16.04.2017
19:30:19
Пиши на скале.

Митко Соловец?
16.04.2017
19:30:59

Snow
16.04.2017
19:31:37
Не все успешные стартаперы из дс

Митко Соловец?
16.04.2017
19:32:05
тогда зачем тебе пары и кортежи?

Snow
16.04.2017
19:32:12
Кому то надо и в говне ковыряться

Митко Соловец?
16.04.2017
19:32:14
лучше пробивай джаву 8 в прод!

Snow
16.04.2017
19:32:45
Были бы исхрдники я бы это сделал

Andrey
16.04.2017
19:32:48

Митко Соловец?
16.04.2017
19:32:59

Snow
16.04.2017
19:33:02
А пока аспекты и интерсепты
Да хмл конфиг

Митко Соловец?
16.04.2017
19:33:15
у тебя там гвоздями прибито?

Snow
16.04.2017
19:33:21
Да

Google

Snow
16.04.2017
19:35:04
Потому завод отдельно а для души хочется чего то светлого и красивого

Andrey
16.04.2017
19:35:56

Nikolay
16.04.2017
19:36:07
или кложуру

Митко Соловец?
16.04.2017
19:36:08
хаскелль

Snow
16.04.2017
19:36:17
Кложуру скорее

Admin
ERROR: S client not available

Andrey
16.04.2017
19:36:48
Давно людей не появлялось оттуда)

Snow
16.04.2017
19:36:55
Кложа хоть как то популярна

Andrey
16.04.2017
19:37:13
Хотя, возможно, они всё ещё в питоновских конфах обитают)

S
16.04.2017
19:38:05
У хаскеллистов своя конфа
Полумертвая правда

Aleksey
17.04.2017
03:47:18

Евгений
17.04.2017
03:59:56

Gregory
17.04.2017
06:37:14
Покажи пример, где тебе надо всё время dto клепать надо.
Я буду исходить из предположения, что следующие две гипотезы истина:
1. Exception driven development - дерьмо.
2. Null - дерьмо.
Пример:
Метод возвращает объект, но иногда может что-то пойти не так. Удобно, когда нам вернётся успешность выполнения метода (true / false), результат выполения (object), если true, и, например, какой-нибудь контекст ошибки, если false. Здесь бы мог оказаться полезным кортеж.
Для частного примера есть Optional.

Andrey
17.04.2017
06:46:07

Evgeny
17.04.2017
06:49:02
Я буду исходить из предположения, что следующие две гипотезы истина:
1. Exception driven development - дерьмо.
2. Null - дерьмо.
Пример:
Метод возвращает объект, но иногда может что-то пойти не так. Удобно, когда нам вернётся успешность выполнения метода (true / false), результат выполения (object), если true, и, например, какой-нибудь контекст ошибки, если false. Здесь бы мог оказаться полезным кортеж.
Try/Either из скалы спешит на помощь, мб в гуаве что-то подобное тоже есть?

Google

Gregory
17.04.2017
06:49:05
Я привёл пример, где кортеж удобен. Таких примеров, когда метод возвращает больше одного объекта, можно придумать сколько угодно.
При этом это должно быть не а-ля Object[], а в каждом случае что-то своё: (boolean, int, Object), (int, int, String), ...

Andrey
17.04.2017
06:50:12
Я привёл пример, где кортеж удобен. Таких примеров, когда метод возвращает больше одного объекта, можно придумать сколько угодно.
При этом это должно быть не а-ля Object[], а в каждом случае что-то своё: (boolean, int, Object), (int, int, String), ...
Да, только возврат больше одного значения в методе - это уже признак корявой архитектуры.

Берял
17.04.2017
06:50:24
Я привёл пример, где кортеж удобен. Таких примеров, когда метод возвращает больше одного объекта, можно придумать сколько угодно.
При этом это должно быть не а-ля Object[], а в каждом случае что-то своё: (boolean, int, Object), (int, int, String), ...
а как им пользоваться без паттерн-матчинга? как обычным дто? и почему-бы тогда не использовать дто? учитывая что дто будет нести больше информации о типах

Alexander
17.04.2017
06:50:50

Gregory
17.04.2017
06:51:18
Речь же была в добавлении такой функциональности на уровне языка.

Andrey
17.04.2017
06:51:32

Alexander
17.04.2017
06:52:03

Берял
17.04.2017
06:52:32

Gregory
17.04.2017
06:55:05
Если так посмотреть, то и Java 4, 5, 7, 8 - разные языки.

Nick
17.04.2017
06:58:02

Andrey
17.04.2017
06:58:23

Aleksander
17.04.2017
07:02:26
Ох, как-то я тоже начитался скалы. Потом нафигачил в коде Pair, Triple, а через 2 месяца влез в код, и как на той картинке захотелось ударить себя. Так я их и выпилил потом
Удобно, когда можно мапу из кортежей собирать и разбирать. А ещё удобно, когда можно объявить в кортеже имена переменных и обращаться не к pair.left() и right(). Но в джава этого нет

Берял
17.04.2017
07:08:09

Aleksander
17.04.2017
07:10:52
это называется класс, ну нахер вам кортежи для этого?
Мне не нужно. Я фанат джавы. Просто говорю, что удобно, многие методы в скале по работе с коллекциями, например zip, возвращают кортежи. Можно взять присвоить val (left, right) и обращаться к ним - мне показалось удобно.

Alexander
17.04.2017
07:11:04
Парадокс Блаба в чистом виде, что называется.

Берял
17.04.2017
07:11:08

Anton
17.04.2017
07:11:52
тут вот есть интересный бложек по данной теме