Size: a a a

Конференция C++ Russia

2020 October 07

AV

Alexey Veselovsky in Конференция C++ Russia
и если на внутренний говнокод ты еще можешь как-то влиять, то на внешний - никак
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ну и в любом случае - речь шла про отладчик. так вот - какой мы мелкой и правильной ваша программа не была бы, отладчик все равно понадобится. даже если ваша прога на расте
источник

AV

Alexey Veselovsky in Конференция C++ Russia
просто потому, что thirdparty либы внутри которых хз что происходит
источник

AV

Alexey Veselovsky in Конференция C++ Russia
так мне и в glibc лазить приходилось и в реализацию тех же санитайзеров, и в потроха opencv, protobuf, flatbuffers и много куда ещё. просто потому, что баги, в доках либо ничего нет, либо они устарели и так далее.
источник

YA

Yauheni Akhotnikau in Конференция C++ Russia
Alexey Veselovsky
ну и в любом случае - речь шла про отладчик. так вот - какой мы мелкой и правильной ваша программа не была бы, отладчик все равно понадобится. даже если ваша прога на расте
По моему опыту, в таких областях как хардкорная многопоточность, реальное время и нагруженные сетевые сервисы от отладчиков толку не просто мало, скорее один вред. Невозможно в отладчике пройтись по обработке одного проблемного соединения, когда эти соединения создаются и обрываются с темпом в 5K/sec (к примеру).

Что не исключает совсем других ситуаций, когда отладчик — это самый быстрый и дешевый способ разобраться с проблемой.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
отладчик часто используется не для того, чтобы разобраться с проблемой :-)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
отладчик часто используется вместо (отсутствующей или кривой) документации :-)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Yauheni Akhotnikau
По моему опыту, в таких областях как хардкорная многопоточность, реальное время и нагруженные сетевые сервисы от отладчиков толку не просто мало, скорее один вред. Невозможно в отладчике пройтись по обработке одного проблемного соединения, когда эти соединения создаются и обрываются с темпом в 5K/sec (к примеру).

Что не исключает совсем других ситуаций, когда отладчик — это самый быстрый и дешевый способ разобраться с проблемой.
эмм.. в отладчике не обязательно брейкпоинты использовать.
источник

YA

Yauheni Akhotnikau in Конференция C++ Russia
Alexey Veselovsky
отладчик часто используется вместо (отсутствующей или кривой) документации :-)
Исходные тексты лучшая альтернатива :)
Благо уже и не помню, когда чужие либы без исходников доводилось использовать.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Yauheni Akhotnikau
Исходные тексты лучшая альтернатива :)
Благо уже и не помню, когда чужие либы без исходников доводилось использовать.
они не вместо, а вместе хорошо работают :-) статический анализ кода не может заменить динамический анализ и наоборот.
источник

YA

Yauheni Akhotnikau in Конференция C++ Russia
Alexey Veselovsky
они не вместо, а вместе хорошо работают :-) статический анализ кода не может заменить динамический анализ и наоборот.
Я не про анализ, про то, что чтение чужих исходников зачастую полезнее, чем изучение корявой документации к ним же.

Опять же, когда чужие исходники доступны, туда можно и отладочные печати добавлять. Что позволяет разобраться с логикой и без отладчика (как раз под нагрузками, когда от отладчика толку мало).
источник

AV

Alexey Veselovsky in Конференция C++ Russia
чтение исходников - это и есть статический анализ кода :-)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
статический анализ кода нейросетью
источник

AV

Alexey Veselovsky in Конференция C++ Russia
а когда ты что-то запускаешь, особенно через отладчик - это уже динамический анализ кода нейросетью
источник

AT

Alexey Tkachenko in Конференция C++ Russia
отладка методом вдумчивого взгляда
источник

AV

Alexey Veselovsky in Конференция C++ Russia
статический анализ кода - дает много фолс позитивов :-) поэтому лучше сочетать таки :-)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
если использовать комбинацию, то это сильно сузит область поиска
источник

NK

ID:0 in Конференция C++ Russia
С++ часто используется в тех случаях, когда аппаратные ресурсы ограничены, и при этом нельзя решить их нехватку добавлением памяти или ядер. Особенно это касается embedded-разработки.

На C++ Russia 2020 Piter Михаил Беляев расскажет, как он решил такую проблему через отказ от SQLite и создание собственного embedded NoSQL хранилища.
В качестве основы был взят опыт работы Михаила с промышленными контроллерами ARIS.
Если вы занимаетесь embedded-разработкой, любите изучать нестандартные решения нетривиальных задач и просто интересуетесь устройством хранилищ СУБД, заглядывайте на огонек.

Больше докладов и билеты — на сайте конференции.
Перейти на сайт
источник

SP

Sergey Platonov in Конференция C++ Russia
Alexey Veselovsky
не, это специфика современных ОС и языков. если ты пишешь что-то типа:
#include <iostream>

int main() {std::cout << "hello world\n";}
то это уже приложение на сотни тысяч строк кода
у нас самая современная ОС!
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Sergey Platonov
у нас самая современная ОС!
Молодая ещё и тощая :-)
источник