
Vladislav
05.11.2016
00:19:31
бесполезный факт: в код на c++ можно безболезненно вставлять url'ы (но максимум по разу на функцию)
https://ideone.com/FEPoC3

Олег
05.11.2016
00:47:58
Кстати, как тут относятся к goto юзерам?

Vladislav
05.11.2016
00:48:52

ovf
05.11.2016
00:49:33
круто! можно больше одного на функцию, но протоколы должны быть разными.

Google

Vladislav
05.11.2016
00:49:59

Dumitru
05.11.2016
00:50:12

Andrey
05.11.2016
00:50:32
что гораздо удобнее показанного

Alt
05.11.2016
00:51:07
Че за диструбутив

Andrey
05.11.2016
00:51:27
const char* s1 = R"foo(
Hello
World
)foo";
//same as
const char* s2 = "\nHello\nWorld\n";
http://en.cppreference.com/w/cpp/language/string_literal

ovf
05.11.2016
00:51:43
а это из ioccc или original research?

Sergey
05.11.2016
00:53:40
goto case 10:

ovf
05.11.2016
00:53:48
вот почему-то триграфы можно включать-отключать, а этот ужас -- нет. или они думают, что у меня в программе не бывает последовательности букв R", которая что-то значит?

Andrey
05.11.2016
00:56:00
тоесть ты R макросы какие-то вешать любишь?

Vladislav
05.11.2016
00:56:48

Google

ovf
05.11.2016
00:57:24
люблю, и остальные буквы как макросы определять тоже

Andrey
05.11.2016
00:57:29
вешай хотя бы что-нибудь более говорящее

Square
05.11.2016
00:58:00

ovf
05.11.2016
00:58:03

Andrey
05.11.2016
00:58:28
нет, что-нибудь типо unicode_literal

Square
05.11.2016
00:58:40
стараюсь всегда до мининимума свести
ибо каждыйраз такое читать - надоедает

Andrey
05.11.2016
01:01:07
мне очень часто приходится поддерживать легаси код
и вот что я вам скажу
от этих макросов кипит чайник :)
каждый добавил что-то от себя, проекту 10 лет :)
так что знайте, когда вы пишите очередной вырвижопный макрос, где-то грустит маленький котёнок
особенно классно когда макрос в макросе

ovf
05.11.2016
01:03:02
ну вообще же в скажем оопе бывают там всякие разграничения труда. типа, системный архитектор рисует всякую хрень в uml и больше никто не может придумывать иерархии типов. макросы тоже, конечно, нельзя давать кому попало писать. только профессионалам

Andrey
05.11.2016
01:03:43
ну, это не в оопе

ovf
05.11.2016
01:03:45
если каждому разработчику разрешать придумывать макросы, то я совершенно согласен, хана тому коду

Google

Andrey
05.11.2016
01:03:47
а в идеальном мире

Square
05.11.2016
01:04:09
Особенно секцию с http парсером

Andrey
05.11.2016
01:04:27
там сишечка, чего хотеть

Sergey
05.11.2016
01:04:36

Square
05.11.2016
01:04:37
Там ansi c и колбэки на макросах )

Sergey
05.11.2016
01:04:46
все на макросах там

ovf
05.11.2016
01:04:58
а если один очень умный человек придумал набор макросов, абстрагирующих предметную область, и все их используют -- то очень круто

Andrey
05.11.2016
01:05:19
хех, в ядре linux их тоже очень много
но это ничего не значит

Vladislav
05.11.2016
01:05:33
это костыли для недостаточно экспрессивной сишечки, которые зачем-то перетянули в новый язык

ovf
05.11.2016
01:06:38
ну во-первых лисповые макросы это скорее staged compilation, во-вторых, может, потому и не пишут особо на лиспах, что все макросы рисуют. :-)

Sergey
05.11.2016
01:06:52
да, dsl - это хорошо

Andrey
05.11.2016
01:06:53
вот и я о том же. Надо хотя бы очень умеренно их использовать. При наличии других средств

Sergey
05.11.2016
01:07:12
но крестовые макросы не могут в дсл

Admin
ERROR: S client not available

Sergey
05.11.2016
01:07:23
они вообще ни во что не могут

ovf
05.11.2016
01:07:26
про c++ ничего не знаю, в си макросистема отличная и очень полезная
т.е. скажем так, проблемы с экспрессивностью у c++ не от макросистемы

Google

Sergey
05.11.2016
01:08:04
только Андреям Богрянцевам кипятить мозг

Vladislav
05.11.2016
01:08:15

ovf
05.11.2016
01:09:31
ну я не согласен с этой импликацией
благодаря этому свойству я могу писать макросы, не имеющие по частям синтаксического смысла

Andrey
05.11.2016
01:10:29
я слышал, кстати, что в C99, вводят исключения (пичалька)
лучше бы деструкторы запили

ovf
05.11.2016
01:11:10
запить, это, в целом, идея

Sergey
05.11.2016
01:11:12
што?
какие исключения?

Vladislav
05.11.2016
01:11:35

Sergey
05.11.2016
01:11:41
setjmp
longjump
никаких исключений

Andrey
05.11.2016
01:12:26

ovf
05.11.2016
01:12:52
вводят в c99? :-) ретроактивно?

Sergey
05.11.2016
01:13:32
весь гну код в этом. исключения без деструкторов - это лол
контроллеры вообще обычно без ревью пишут. очень по разному бывает, нообычно без
так что никого не выгонят
да и за что выгонять?

Andrey
05.11.2016
01:16:14
за то что твой код не поддерживаемый

Google

ovf
05.11.2016
01:16:29
кстати, за всю мою жизнь по-моему *jmp я использовал один раз, для написания корутин. через пару часов выкинул и заменил на ассемблерные вставки собственного сочинения (т.к. у этих *jmp гигантский оверхед)

Andrey
05.11.2016
01:16:37
и что рядом с тобой коллеги, которые должны понимать, что ты колбасишь и действуешь ты в команде

Sergey
05.11.2016
01:16:37
ну дак это же макросом обернули, не переживай