
Диоген
10.09.2018
16:01:14
Ну, вот как в расте есть хуитка
enum Result<T, E> {
Ok(T),
Err(E),
}
И то адекватнее смотрится

Денис
10.09.2018
16:03:19
either))
Очевидно, что в джавовой библиотеке (особенно 15-20 лет назад) такого нет и не было, камон.

Google

Диоген
10.09.2018
16:04:52

Денис
10.09.2018
16:05:09
Ладно, я умываю руки

Диоген
10.09.2018
16:05:36
У тебя аргумент странный просто.
Мол, раз дизайнеры джавы обосрались 20 лет назад, то мне как программисту не зазорно обосраться сейчас.

Anton
10.09.2018
16:07:22

Диоген
10.09.2018
16:07:53
Но на джаве тоже нормально писать можно в принципе.

Денис
10.09.2018
16:09:44
1) Они не обосрались, это относительно логичное и последовательное решение в рамках той концепции языка, которая имела место быть тогда.
Говорить "да вот почему оно всё не функциональное" - немножко странное, когда даже эта ваша скала ещё в тот момент не родилась (я молчу о том, чтоб быть юзабельной)
2) 20 говнокодеров, которые пишут в одном и том же стиле, лучше, чем 5 реальных гениев-рокзвёзд, которые пытаются в общую кодовую базу коммитить каждый в своём исконно правильном стиле.

Evgeniy
10.09.2018
16:10:28

Диоген
10.09.2018
16:14:16
1) Они не обосрались, это относительно логичное и последовательное решение в рамках той концепции языка, которая имела место быть тогда.
Говорить "да вот почему оно всё не функциональное" - немножко странное, когда даже эта ваша скала ещё в тот момент не родилась (я молчу о том, чтоб быть юзабельной)
2) 20 говнокодеров, которые пишут в одном и том же стиле, лучше, чем 5 реальных гениев-рокзвёзд, которые пытаются в общую кодовую базу коммитить каждый в своём исконно правильном стиле.
Я не хочу спорить, но не понимаю, зачем их оправдывать. Конечно, они не Павлы муаддибы и не могли увидеть будущее.
Но то что тогда, допустим, нулл не казался хуитой, не значит, что он ей не является.

Mika
10.09.2018
16:14:25

Evgeniy
10.09.2018
16:14:50

Mika
10.09.2018
16:16:37

Google

Митко Соловец?
10.09.2018
16:17:07

Mika
10.09.2018
16:17:29

Митко Соловец?
10.09.2018
16:17:32
небось и код без багов пишешь

Диоген
10.09.2018
16:17:36

Денис
10.09.2018
16:17:56
Я не хочу спорить, но не понимаю, зачем их оправдывать. Конечно, они не Павлы муаддибы и не могли увидеть будущее.
Но то что тогда, допустим, нулл не казался хуитой, не значит, что он ей не является.
У человечества в каждый момент времени в принципе довольно ограниченные знания и представления о мире, кек.
С учётом вполне очевидных целей и задач, которые ставили Sun, дизайня и разрабатывая язык (сделать ШИРОКО используемый general-purpose ЯП, который будет исполняться на разных платформах), странно ожидать от него того, что на момент разработки очевидно противоречит этой цели

Диоген
10.09.2018
16:19:58
Не понимаю твою точку зрения

Mika
10.09.2018
16:20:20
Java язык очень хороший, качественный байт код
Если бы было все так фигово - Oracle бы не стала делать SPARC M7/M8 с Software in Silicon и все это улучшать
также как и свои базы данных и прочий стек
с их бюджетами они могли бы все переписать - но раз они делают на Java - то видно это все хорошо ;)
ну и Android как бы тоже намекает

Диоген
10.09.2018
16:21:22
Я говорю, что бриться огнем хуйня, ты говоришь а как раньше было бриться, если железо обрабатывать ещё не умели

Денис
10.09.2018
16:22:45
Не понимаю твою точку зрения
1) Ну ты сейчас приходишь и говоришь, условно "ваш самосвал говно, потому что он не гоночный болид". Очень утрирую, да.
2) Утверждать, что ФП прям строго стопроцентно превосходит ООП - тоже неоднозначное решение, да, потому что метрики, доказывающие это, надо, во-первых, выработать, во-вторых, измерить.


Диоген
10.09.2018
16:22:48
Зачем бриться огнём сейчас, ссылаясь на то, что так делали наши деды
1) Ну ты сейчас приходишь и говоришь, условно "ваш самосвал говно, потому что он не гоночный болид". Очень утрирую, да.
2) Утверждать, что ФП прям строго стопроцентно превосходит ООП - тоже неоднозначное решение, да, потому что метрики, доказывающие это, надо, во-первых, выработать, во-вторых, измерить.
Про ФП я ни слова не говорил
И джава не то, чтобы прям 100% ООП, ты это и сам понимаешь
Вот Раст не ФП, а нуллов там нет, например. И эксепшн хэндлинга тоже
И свой маленький код тоже можно дизайнить так, чтобы у тебя логика не была завязана на нулы и эксепшны, вот и весь мой поинт, собственно

Alexander
10.09.2018
16:28:17
Руст не нужен

Денис
10.09.2018
16:28:29
Вон в Го тоже не было эксепшнов, а потом начали дизайнить Го 2, кек
Раст сюда не очень понимаю, каким боком (Го, справедливости ради, тоже, но в меньшей степени)

Google

Денис
10.09.2018
16:29:27

Диоген
10.09.2018
16:29:31
Раст яп, джява яп
Действительно, каким боком

Денис
10.09.2018
16:29:53
Бля, ну какой-нибудь диалект ассемблера тоже ЯП, брейнфак тоже ЯП

Alexander
10.09.2018
16:30:18
1С тоже! (кого я обманываю)

Диоген
10.09.2018
16:30:24

Artjom
10.09.2018
16:30:37
1ц это за гранью добра и зла
думаю не стоит упомянать всуе

Митко Соловец?
10.09.2018
16:31:26

Денис
10.09.2018
16:31:29

Митко Соловец?
10.09.2018
16:31:36
пока я вижу только разжигание

Диоген
10.09.2018
16:33:08

Денис
10.09.2018
16:35:03
Это из доки Раста, кстати

Alexander
10.09.2018
16:35:12
Эксепшн драйвен девелопмент - это когда БЛ построена на try-catch. И это очевидно хуита
Не делайте так и все будет норм
БЛ - бизнес-логика

Диоген
10.09.2018
16:36:02

Alexander
10.09.2018
16:36:11

Денис
10.09.2018
16:36:37
>бизнес-логика построена на try-catch
>парсить инт
Научу читать, дорого.

Google

Alexander
10.09.2018
16:36:49
Вы прямо сильно путаете что такое написание бизнес-логики и обработка ошибок

Artjom
10.09.2018
16:36:52
Я тоже не люблю чеккед эксепшены, но создатели языка в тот момент подумали что так будет норм

Денис
10.09.2018
16:37:23
Да мы уже даже о чекд не говорим

Artjom
10.09.2018
16:37:36
блин :(
слишком поздна ворвался в тред

Диоген
10.09.2018
16:38:32

Денис
10.09.2018
16:38:56
А может у вас?
Это я откровенно набрасываю, но такое замечание без развёрнутой аргументации вообще всерьёз воспринимать нельзя изначально, так что я подожду.

Диоген
10.09.2018
16:39:57
На вход приходит строка. Строку надо распарсить в число. Строка не обязана быть числом.

Admin
ERROR: S client not available

Диоген
10.09.2018
16:40:17
Ошибка то в чём?

Денис
10.09.2018
16:40:58
Ошибка в том, что ты вызываешь функцию с названием, которое буквально значит "прочитать/разобрать число", и на входе нет числа.

Andrey
10.09.2018
16:41:28

Artjom
10.09.2018
16:41:55
а как их готовить ?

Диоген
10.09.2018
16:42:05

Денис
10.09.2018
16:42:22
Поправочка, метод.

Andrey
10.09.2018
16:43:00

Artjom
10.09.2018
16:43:28
Особенно мне нравятся чеккед эксепшены когда в 7ой джаве в try catch finally и в блоке файнали когда con.close тебе нужно это обернуть в эксепшен это зло

Митко Соловец?
10.09.2018
16:43:29

Artjom
10.09.2018
16:43:46
Чекед - для того чтобы тупой программист не забыл что нужно ошибки обработать ? :)

Google

Диоген
10.09.2018
16:43:57

Andrey
10.09.2018
16:44:08

Митко Соловец?
10.09.2018
16:44:32
поймал исключение - пробросил через рантайм, хандлер настроен на определенный тип исключения

Денис
10.09.2018
16:45:31
Там есть исключение, Дима, ты шо!

Диоген
10.09.2018
16:46:06
Диоген что не так?
Очевидно, что у тебя метод с двумя ретурнами. И два способа обработки этих ретурнов.
Один ретурн идёт в блок катч, другой ретурн присваивается переменной

Artjom
10.09.2018
16:46:15

Митко Соловец?
10.09.2018
16:46:39
я не за чекед эксепшены, но люди научились это обходить
оборачивай в рантайм и все

Денис
10.09.2018
16:47:24
Потому что то пользователь мудак, то соединение плохое

Митко Соловец?
10.09.2018
16:47:34
очевидно, как можно продолжить работать, когда ты не получил нужную строку

Alexander
10.09.2018
16:47:45
Видимо товарищ не видел что такое настоящее try-catch driven development. Когда у нас на перехвате ошибок определенного типа строится флоу на несколько ветвлений

Митко Соловец?
10.09.2018
16:47:57
у меня никакого трай кэтч девелопмента нет
просто упадет все

Диоген
10.09.2018
16:49:13

Митко Соловец?
10.09.2018
16:50:44
какую проблему?