1.1, Crazy Alex (ok), 00:06, 27/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –11 +/– |
Какая-то совершенно бессмысленная штука. Зачем нужна (почему не взять сразу нормальный компилятор) - непонятно, зато фактически обещают всё постоянно ломать и исключают возможность нормального использования как shared lib, от которой зависит софт в дистрибутиве.
Хотя, к моему удивлению, они в кои-то веки плюс-минус поддержали исключения. Надо же, окстились слегка.
| |
|
2.3, skybon (ok), 00:24, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Самое весёлое, что с std::variant<T, E> и std::expected на горизонте исключения больше не нужны для современной обработки ошибок.
| |
|
3.7, Crazy Alex (ok), 02:44, 27/09/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Какая милая наивность. expected иногда хорошо подходит, но никоим образом не делает исключения ненужными (не говоря о том, Что оно само на исключениях основано). Во многих случаях оно излишне или прямо мешает, путая основной code path с разного рода реакциями на экзотику.
Александреску это, разумеется, понимал и явно упоминал, что это просто удобное средство для многих случаев.
Ну, или вам в C/go, это там любят всё явно на каждый чих проверять.
| |
|
4.8, angra (ok), 03:12, 27/09/2017 [^] [^^] [^^^] [ответить]
| +15 +/– |
> Ну, или вам в C/go, это там любят всё явно на каждый чих проверять.
Вот лохи то, не то что реальные пацаны, программы которых просто падают с абсолютно одинаковым unhandled exception по совершенно разным причинам. Ведь пользователь ни в коем случае не должен узнать, что именно пошло не так. А то еще загуглит решение или сам решит проблему. Нет, пользователь программы должен страдать.
| |
|
5.18, Анинимим (?), 10:06, 27/09/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
То ли дело error codes --- пусть пользователь даже не знает, что программа игнорит критическую ошибку, пока не станет слишком поздно
| |
|
6.27, Crazy Alex (ok), 11:12, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это как раз с expected решается (не проверишь, а там ошибка - получишь старый добрый exception), но код уж больно замусоренный когда проверка на ошибки перемешана с основной логикой.
| |
|
5.24, Crazy Alex (ok), 11:05, 27/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
Во-первых, ты передёргиваешь, и сам это понимаешь. Отложить обработку исключений в конец функции - совсем не то же самое, что один try-catch на всё про всё. Ну а чтобы вообще unhandled exception получить - такое я в плюсах очень редко вижу в отличие от питона того же.
Во-вторых, часто пользователю и правда абсолютно побоку, что именно пошло не так. Главное - этом должно быть вывалено достаточно инфы чтобы осмысленно репортить проблему.
А вот с проверкой на каждой строке код становится весьма неудобно читать - слишком отвлекается внимание от основной логики. Что уменьшению количества ошибок никак не способствует. Плюс это много медленнее, чем исключения (если исключения достаточно редки, конечно).
| |
5.28, А (??), 11:16, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Код ошибки: Опаньки что-то пошло не так
ГуглХроме стайл
Когда же доктора научатся вместо истории болезни такие коды ошибок использовать?
| |
|
4.10, Vkni (ok), 04:58, 27/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Во многих случаях оно излишне или прямо мешает, путая основной code path с разного рода реакциями на экзотику.
Для такого сценария как раз почти подходит variant. Но я сомневаюсь, что в нём сделали bind.
| |
|
3.9, Vkni (ok), 04:52, 27/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
std::variant - это довольно дeбильная штука, т.к. если T и E - это один тип, то получается карачун.
| |
|
2.12, Sabakwaka (ok), 05:31, 27/09/2017 [^] [^^] [^^^] [ответить]
| +8 +/– |
>> Какая-то совершенно бессмысленная штука.
Но у тебя против неё есть волшебная сила — идти мимо.
| |
|
3.25, Crazy Alex (ok), 11:07, 27/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
А то! У гугла вообще много странного, которое, вероятно, не с пустого места родилось, но либо нормально себя чувствует именно в их экосистеме либо вообще дохнет со времененм по ненужности. Одно GWT вспомнить.
| |
|
|
|
|
3.17, RaizerHall (?), 09:56, 27/09/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
Едрить коптить. То его все задрачивали, а теперь оказывается все от него бегут. Что произошло?
| |
|
4.20, Аноним (-), 10:19, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
вышли стильно молодежные стандарты? с более понятными доками и прочим?
| |
4.23, Аноним (-), 10:33, 27/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Что произошло?
Джун сэкстраполировал свою неосиляторскую шаражку на весь мир.
| |
|
|
|
|
4.39, burjui (ok), 12:24, 28/09/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
пупоразрывающий хохот, сопровождаемый руколомными аплодисментами, Петросян вскочил со своего места в зале и пустился в пляс
| |
|
|
2.13, Аноним (-), 07:56, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Когда-то было скучно и я писал многопоточный процесс-сервер на boost. С тех пор я не то, чтобы boost не люблю, но неприязнь ко всем плюсам. Там была ошибка передачи данных в какой-то конструктор, у которого была нехилая перегрузка. Сообщение об ошибке настолько непонятным, что даже Гугл еле помог. Точнее, он помог найти описание ошибки на форумах, где говорилось, что её текст Вам ничем не поможет, а на самом деле в конструктор просто передавался неверный аргумент или что-то в этом духе.
| |
|
3.16, Аноним (-), 09:42, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ты просто не умеешь в многопоточность. Ни в одном языке против неё не существует серебрянной пули.
| |
|
4.19, анон (?), 10:09, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
сообщения об ошибках компиляции в плюсах известная слабость. Про это и деды писали, то ли меейрс то ли этот, как его, забыл какого-то пенсионера из собеса для всяких александреску. В советах про эффектив стл вроде пару советов было - как читать ошибки размером со страницу текста. При этом сишечка, что характерно, за все эти десятилетия до такого не дошла. В дом престарелых не собирается.
| |
|
|
|
1.21, Аноним (-), 10:26, 27/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>предоставляет альтернативные реализации штатных возможностей стандартов C++14 и C++17, адаптированные для использования в коде на C++11
ой, а можно тоже самое, только с c++11 и c++03?
| |
|
2.34, Аноним (-), 14:13, 27/09/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>предоставляет альтернативные реализации штатных возможностей стандартов C++14 и C++17, адаптированные для использования в коде на C++11
> ой, а можно тоже самое, только с c++11 и c++03?
Boost.
| |
|
|
2.26, Crazy Alex (ok), 11:10, 27/09/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
И исключений. Тем не менее дошли. А куда деваться - текущие плюсы без всего этого становятся совершенно бессмысленными - это стало слишком важной частью языка.
| |
|
3.35, Аноним (-), 14:45, 27/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
Скорее "выработалась методика правильного использования эксепшенов"
| |
|
4.36, Crazy Alex (ok), 17:41, 27/09/2017 [^] [^^] [^^^] [ответить]
| +/– |
Она сто лет как выработалась - с момента ухода от checked exceptions. Но гугл зависел (и зависит), от старого кода, где эксепшны не живут. Но сейчас ежу ясно, что плюсовая библиотека общего пользования без эксепшнов и прочих удобных и полезных плюшек просто не взлетит. Тем более, если они претендуют на использование современного тсиля плюсов и реализацию фишек новых стандартов.
| |
|
|
|
1.30, Аноним (-), 12:08, 27/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> container - библиотека с дополнительными контейнерами в стиле STL;
> в стиле STL;
Ничем не учатся...
| |
1.32, dq0s4y71 (ok), 12:30, 27/09/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Очередная реализация strings для С++? Пора уже, а то давненько что-то не было...
| |
|