@jvmchat

Страница 2790 из 2890
Диоген
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
Очевидно, что в джавовой библиотеке (особенно 15-20 лет назад) такого нет и не было, камон.
Ну так це не мои проблемы. Задизайнили говноязык, на нем написали тонну говнокода и теперь они этот говнодизайн переносят из версии в версию.

Денис
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 реальных гениев-рокзвёзд, которые пытаются в общую кодовую базу коммитить каждый в своём исконно правильном стиле.

Mika
10.09.2018
16:14:25
Да перестань страдать: пэхэпэ, дотНэт ждут тебя
.net обижать не стоит, я на нем такие трюки делаю что многие позавидуют :3

Mika
10.09.2018
16:16:37
Мол, раз дизайнеры джавы обосрались 20 лет назад, то мне как программисту не зазорно обосраться сейчас.
Как бы за такие высказывания не пришел Гослинг и не дал комментатору 2 чая :D

Google
Mika
10.09.2018
16:17:29
а ты смелый челик
или безумный :D

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

Денис
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
Зачем бриться огнём сейчас, ссылаясь на то, что так делали наши деды

И джава не то, чтобы прям 100% ООП, ты это и сам понимаешь

Вот Раст не ФП, а нуллов там нет, например. И эксепшн хэндлинга тоже

И свой маленький код тоже можно дизайнить так, чтобы у тебя логика не была завязана на нулы и эксепшны, вот и весь мой поинт, собственно

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

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

Google
Денис
10.09.2018
16:29:27
И свой маленький код тоже можно дизайнить так, чтобы у тебя логика не была завязана на нулы и эксепшны, вот и весь мой поинт, собственно
Можно я честно скажу, что вот такие конструкции с Result<T, E> выглядят в коде и обрабатываются даже более уёбищно, чем эксепшны (анчекд)?

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

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

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

Artjom
10.09.2018
16:30:37
1ц это за гранью добра и зла

думаю не стоит упомянать всуе

Митко Соловец?
10.09.2018
16:31:26
Раст яп, джява яп Действительно, каким боком
ты вообще какую мысль донести до нас хочешь?

Денис
10.09.2018
16:31:29
Ты щас наллы начнёшь защищать такими темпами
Ну, ты когда-нибудь видел, например, типичный код на Го, который выглядит как спагетти из if err != nil-условий, ЗАТО БЕЗ ЭКСЕПШОНОВ?

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

Денис
10.09.2018
16:35:03
Вот Раст не ФП, а нуллов там нет, например. И эксепшн хэндлинга тоже
>Rust’s design has taken inspiration from many existing languages and techniques, and one significant influence is functional programming.

Это из доки Раста, кстати

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

Не делайте так и все будет норм

БЛ - бизнес-логика

Диоген
10.09.2018
16:36:02
Эксепшн драйвен девелопмент - это когда БЛ построена на try-catch. И это очевидно хуита
Тебе придётся так делать, когда ты парсишь инт, например, лол

Денис
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
Ошибка в том, что ты вызываешь функцию с названием, которое буквально значит "прочитать/разобрать число", и на входе нет числа.

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
На вход приходит строка. Строку надо распарсить в число. Строка не обязана быть числом.
Long id; try { id = Long.valueOf(s); } catch (NumberFormatException e) { throw new ValidationException("Bad number format."); }

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

Google
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:49:13
у меня никакого трай кэтч девелопмента нет
Ты, походу, тупа не просек фишечьку, ты своим ретроу в рантайм проблему не решаешь никак

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

Страница 2790 из 2890