
Alexander
01.04.2018
05:27:39
ХП на месте

Greck2908
01.04.2018
05:27:58

Alexander
01.04.2018
05:28:03
Это типа пугалка на 1 апреля?)

Google

Alexander
01.04.2018
05:28:32
Ну и парадигмы программирования обсуждаем

Greck2908
01.04.2018
05:29:19
Я про сериал рассказывал
оо точно, у меня со вчерашнего вечера сериал остался, дискретная математика, там препод ништяк рассказывает, надо досмотреть, все я пока пошел позырю

VEG
01.04.2018
05:29:21

Alexander
01.04.2018
05:30:06
Исключительные ситуации пока не происходят — есть не просят.
Серьёзно? Т. е. по твоему произошла исключительная ситуация и стек отматывается сам собой как по волшебству не требуя, чтобы до этого была дополнительно служебная информация. Скажи ещё, что
new char[10];
выделит 10 байт в ОЗУ. И то что говнокод будет выполняться медленее, чем такой же код с красивым интерфейсом

Alexander
01.04.2018
05:30:13

VEG
01.04.2018
05:30:17
Скажем, валидатор пользовательского ввода не должен бросать исключительные ситуации.

Alexander
01.04.2018
05:30:34
В идеале нужно обрабатывать все исключения

VEG
01.04.2018
05:31:06
Это да. Мысль была в том, что исключения должны применяться только к ситуациям, которые критичны и которые случаются редко.
Название как бы говорит само за себя.
И то что оно имеет какие-то накладные расходы на раскрутку стека — не важно.
Зато корректно уничтожаются все объекты и т.д. в процессе.

Alexander
01.04.2018
05:32:24
Ну смотри

VEG
01.04.2018
05:32:25
Пока ищется обработчик исключения (ну или std::terminate в конце, если обработчика нет).

Google

VEG
01.04.2018
05:33:14
То есть если у тебя в коде исключения могут случаться сотнями или тысячами в секунду — ты неправильно используешь исключения.

Alexander
01.04.2018
05:34:14
В PHP моем любимом, к примеру, можно алгоритм реализовать так, что ловить исключения придется только в одном месте, а кидать "throw" я смогу где угодно.
И все они будут попадать в try...catch
При чем, исключительные ситуации могу создавать сам

Vitaliy Nameless
01.04.2018
05:36:23

Alexander
01.04.2018
05:36:35
Не обязательно, фаталки

VEG
01.04.2018
05:36:37
Речь шла про накладные расходы на отлов исключений в C++ по сравнению с голой сишечкой с ручной обработкой каких-нибудь кодов возврата =)
К слову, в C++ даже в стандартной либе не везде исключения бросаются.

Alexander
01.04.2018
05:37:05

quiz
01.04.2018
05:37:06
И что?
-95 hp (Alexanderes Teterevlyov)

VEG
01.04.2018
05:37:10
Например, std::filesystem возвращает error_code
http://en.cppreference.com/w/cpp/header/filesystem
Типа недостаточно исключительная ситуация чтобы генерить исключение =)

Alexander
01.04.2018
05:37:40
Ты считаешь, что расходы на отлов исключений лишние?!

VEG
01.04.2018
05:37:57
Зависит от ситуации.
Если ситуация действительно исключительная (а не рядовая) — то исключения к месту.
И на накладные расходы пофиг, исключительная ситуация на то и исключительная, что редко случается.

Alexander
01.04.2018
05:38:37

VEG
01.04.2018
05:38:41
Если же она рядовая — такой код не должен опираться на исключения.

Alexander
01.04.2018
05:38:43
Или я тебя не понял?

Google

Alexander
01.04.2018
05:38:59

quiz
01.04.2018
05:38:59

Vitaliy Nameless
01.04.2018
05:39:27
ну вообще исключения иногда единственная тулза, позволяющая корректно прокинуть информацию наверх через все слои. и некоторые юзают их в рядовых ситуациях для этого. но накладные расходы высоки.

VEG
01.04.2018
05:39:54
Посмотри плиз на что я начал отвечать. Там кто-то писал что плюсы медленные по сравнению с сишечкой, и в пример привёл исключения, мол они не бесплатны.

Alexander
01.04.2018
05:40:00
Зачем рядовую ситуацию в исключения вносить? Моя твоя не понимать.

VEG
01.04.2018
05:40:09
Я ни в коем случае не выступаю против исключений.
Просто говорю что их надо использовать правильно, и на накладные расходы от исключений тогда будет пофиг.

Alexander
01.04.2018
05:40:50
/hp

quiz
01.04.2018
05:40:58
/hp
Alexanderes Teterevlyov: 49 hp

Alexander
01.04.2018
05:41:07
Не меняется)

VEG
01.04.2018
05:41:31
Хотя в расте там весьма любопытную штуку придумали для замены исключений.
Жалко что никак времени не найду изучить раст нормально, но из того что видел — много понравилось =)

Alexander
01.04.2018
05:42:01

Vitaliy Nameless
01.04.2018
05:42:03
/hp

quiz
01.04.2018
05:42:03

Vitaliy Nameless
01.04.2018
05:42:28
/hp

quiz
01.04.2018
05:42:28

Vitaliy Nameless
01.04.2018
05:42:31
но почему?

Google

Alexander
01.04.2018
05:42:54
В свободное от работы время)

VEG
01.04.2018
05:43:54
Жалко только что стандартный рантайм великоват по сравнению с сишными.
Я прусь по компактным исполняемым файлам.
И 100-150 килобайт на hello world чуть огорчает.

Alexander
01.04.2018
05:44:26
Меня восхитило, к примеру, как с помощью него грамотно и просто многопоточность реализуется
Или как он защищает связывания

VEG
01.04.2018
05:45:53
Я то иногда на сишечке упарываюсь и вообще без рантайма пишу, всё руками, чтобы исполняемый файл был малюсенький. По идее на расте тоже можно рантайм отключить, интересно только насколько он удобен будет в таком случае по сравнению с сишечкой.

Alexander
01.04.2018
05:46:00
Для "Hello world" тебе уже требуется целая библиотека

VEG
01.04.2018
05:46:14
Ну так я ж с сишечкой сравниваю.
Она ж тоже как бы компилируемая =)

Alexander
01.04.2018
05:46:22
Которую программа обязана в себя включать

VEG
01.04.2018
05:46:26
Я всё отлично понимаю почему да как.

Alexander
01.04.2018
05:47:20

VEG
01.04.2018
05:47:54
Под рантаймом я понимаю runtime library, конечно же.

Alexander
01.04.2018
05:48:05
Они, как минимум, разные. Ты еще с асмом сравни)

VEG
01.04.2018
05:48:39
Асм у меня любимчик на особом месте =)
Для особых проектов.

Alexander
01.04.2018
05:49:18

Google

quiz
01.04.2018
05:49:18

VEG
01.04.2018
05:49:41
Не
Патчи для игр иногда делаю.
http://veg.by/ru/projects/nfs3/

Alexander
01.04.2018
05:50:07
)

VEG
01.04.2018
05:50:34
Ну да, вот для проекта по ссылке выше почти 30 тысяч строк кода на асме настрочил.

Alexander
01.04.2018
05:50:55
Пиздец
А мсье знает толк в извращениях)

VEG
01.04.2018
05:51:36
Нраица.
Сложно остановиться было =)

Alexander
01.04.2018
05:52:29

VEG
01.04.2018
05:52:47
Ну как бы это в какой-то степени менее хардкорно чем колибри ос.
В том плане что этим патчем реально люди пользуются =)

Alexander
01.04.2018
05:53:22

quiz
01.04.2018
05:53:26

Alexander
01.04.2018
05:54:04
Я, черт возьми, сам себе колибри поставил на древний ноут

VEG
01.04.2018
05:54:05
Не хотелось бы спорить, но как я вижу этот проект — он исключительно академичен и не имеет практического применения.
А письма с благодарностями за свой патч я до сих пор получаю.

Alexander
01.04.2018
05:54:43

VEG
01.04.2018
05:55:26
Сегодня утром вот ещё одно получил.

Alexander
01.04.2018
05:55:26
Через шесть минут у меня магаз откроется, за сигами схожу только)