Roman
с другой стороны эксепшены дешевле, когда они не случаются
ты уверен что для того чтоб ускорить exception handling не постраиваются никакие спец. структуры под обложкой абстракции которые жрут лишную память и CPU time на построение и обновление?? Я вот очень неуверен! 1 stack allocation + 1 condition относительно должно быть в любом случае куда более дешевле и быстрее
Anonymous
Я пришёл с Free Pascal'я на Go. На первом исключения так адски тормозили, что я теперь забыл их как страшный сон 😄
Roman
кстати насчёт exceptions: в Go очень спасает defer, в C++ можно выстрелить себе в ногу бросив exception который просто перепрыгнет важные statement'ы (e.g. .close()), я уже такого недебагельного дерьма с exception'ами навидался что порой тошнить начинает
Mike
ну плеваться экспешнами направо и налево — это вроде джавовская фишка, не обязательно принятые в каком-то языке паттерны бездумно переносить в другой
Roman
ну плеваться экспешнами направо и налево — это вроде джавовская фишка, не обязательно принятые в каком-то языке паттерны бездумно переносить в другой
exceptions в C++ ежедневная практика, C-style error handling в C++ редко встречается (просто неудобно, если бы было multi return value как в Go то другое дело)
Roman
Для этого в c++ придумали raii
согласен, однако бывали случаи когда деструктор не был правильно прописан и приводил к катастрофическим последствиям, в принципе и в Go такое возможно если руки корявые, но тем не менее return error value я предпочту exception'ан, они просто очевиднее и проще, но это лишь мой личный взгляд на мир
Mikalai
Просто надо использовать инструменты по назначению
Mikalai
А то уже отдельную религию выстроили 😁
Roman
да я тоже так считаю
Daniel
прям невыполнимая
Roman
это очень сложная задача
и в этом тоже есть правда
nvkv
Привыкли руки к топорам!
One
Привыкли руки к топорам!
А как же хвосты тяпками рубить? =)
Roman
А как же хвосты тяпками рубить? =)
а зачем хвосты рубить если можно грибы собирать?))
Anonymous
Привыкли руки к топорам!
Привыкли руки к костылям!
Anonymous
А заднее место к велосипедам.
Мерль
🤔
Mike
удаляй
Oleg
🤔
Бан:D
Oleg
Он запарил
Mike
он заспамил все чатики
Daniel
и бань
Oleg
всюду спамит
Мерль
@onokonem в 44 выпуске GS ты говорил, что у вас проблема с СУБД для записи результатов метрик. И что в итоге вы перехали на касссандру, но всё равно не довольны. А в сторону clickhouse вы не смотрели?
Мерль
Короче, подобные вещи лучше обговаривать заранее.
🏳️ Phil
бань его. он все чаты заспамил
Daniel
ну и потом как-то не справились посмотреть
Мерль
Просто я смотрю на то, что они обущают - и получается конфетка, если хоть в половину правда
Yehor
плохой человек
Daniel
ну вот надо как-то взять себя в руки
Daniel
и померять
Мерль
SQL, полмиллиона операций в секунду на одной ноде, джойны, вторичные индексы...
Мерль
cross-datacenter
Мерль
В общем какая-то магия
Slava
Магии не бывает :)
Daniel
бывает
Daniel
но она вся такая, стремная
Daniel
например, когда в первый раз fsync на базе отключаешь - чувствуешь магию.
Daniel
а потом, когда база упадет - опять чувствуешь
Roman
кто-нить с докером работает?
engelbart
кто-нить с докером работает?
Покажит кто не работает
engelbart
в 2017 то
An7on
те у кого много монолитного дерьма на php мб
An7on
коих 70% рынка
An7on
в прямом, всякие crm на самописных фреймворках и т.п
Roman
в прямом, всякие crm на самописных фреймворках и т.п
мы Docker для изоляции системных модулей используем, т.е. для повышения безопасности и контролируемости модулей, не думаю что webdev единственная аудитория Докера
Aleksey
Чят, а в го нет нативного loop? Понимаю, что звучит странно, но мне лексически не нравится func main() { for { <code> }}
Aleksey
Мне кажется... Странным и костыльным использование "while true"-подобных конструкций. Даже loop: <code> goto loop Лексически лучше
Aleksey
Я наркоман?
nvkv
Да
An7on
А goto замедляет как-то этот момент?
An7on
по производительности
An7on
лексически мне тоже больше так нравится
Aleksey
А goto замедляет как-то этот момент?
Вангую, что for {} это сахар для готу
Mikalai
Вангую, что for {} это сахар для готу
Ну стоит посмотреть в ассемблерный листинг и все понять :)
Мерль
Магии не бывает :)
Любая достаточно развитая технология неотличима от магии, дадад
An7on
ну мб тут кто-то уже посмотрел)
Mikalai
В x86 циклы вроде реализуются всегда через jmp
Mikalai
Так что все циклы это goto под капотом 😁
Daniel
А goto замедляет как-то этот момент?
какой такой момент?! вобще-то, писать на идеоматически. знаете такое слово? это когда при первом взгляде на конструкцию ты понимаешь, для чего она предназначена for {} - идеоматический, это очевидно бесконечный цикл. конструкция с меткой и goto - не идеоматическая, ее надо до конца дочитать, чтобы понять, что она делает
An7on
если цикл в экран помещается, то почему-бы нет
Daniel
из общих соображений
An7on
про момент, это я про разницу в производительности между goto loop и for
Daniel
нет разницы
An7on
с goto даже можно по коду нужный цикл найти
An7on
хотя комменты, конечно, никто не отменял
Mikalai
🙈
Daniel
но
An7on
(я использую for, просто задумался)
Mikalai
Опять вы гвозди зубилом предлагаете забивать
Daniel
из двух способов, быстрого и идеоматического, надо выбирать идеоматический, пока профайлер явно тебе не укажет на это место как на узкое
Aleksey
У меня кейс в том, что весь main – лупа. Это так редко? Или всем норм вес код в for заворачивать?
nvkv
если цикл в экран помещается, то почему-бы нет
слушайте, люди старались, делали язык для тупых, а вы хотите из него обратно сделать язык для умных
nvkv
не надо так