Рантйам дело такое. Накладные расходы на него, безусловно, есть, но зато можно хорошо понимать поведение указателей, знать все особенности процессора и на лету снимать профиль нагрузки. JIT бывает очень хорош в удачных для него условиях.
Угум-с. Но если мы с одной стороны берём "правильную" кодовую базу на C++ (что бы это ни значило), то и с другой стороны надо брать "правильную" кодовую базу "другом языке"
Опять скажу, что не люблю Го, но давайте предерживаться фактов: пакеты совершенно необязательно таскать с Гитхаба. Вообще говоря, наличие стандартной системы сборки это скорее достоинство, чем недостаток, при этом как минимум конкретно Го гвоздями к системе сборки не прибит, если хотите собирать Го Базелем – собирайте, это вполне себе рабочий вариант.
Это не совсем так, на самом деле обфускатор для Перла просто вызывает линтер и форматтер с автоматическим применением изменений, подробнее можно почитать тут: https://metacpan.org/dist/Perl-Critic/view/bin/perlcritic
Именно так, ради производительности, скорость выполнения очень важна для C++ кода. В железе, конечно, гораздо больше implementation defined (и меняется, вообще говоря, с выходом каждого процессора), но там своя кроличья нора оптимизации под капотом, Spectre/Meltdown тому подтверждение. Хорошая статья на тему: https://queue.acm.org/detail.cfm?id=3212479 , там про C, но к C++ все полностью применимо.
С одной стороны, должен избегать UB, а с другой - если использует UB или implementation defined фичи языка, то он это делает специально, зная, что получится.
"Специально, зная, что получится" можно использовать implementation-defined behavior – конкретная реализация документирует свое поведение и обещается документации соответствовать. UB – это undefined behavior, никаких гарантий никто не даёт. Это всегда так было.
Dog-whistle – это такой современный продвинутый вариант "докопаться до орфографии: когда по сути против фразы ничего сказать нельзя, но очень-очень хочется, ее объявляют dog whistle. Классический пример: It's OK to be white.
3. SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
Задача коммивояжера NP-полная, все так.
Государство и собственность может отобрать, тамщемта
Рантйам дело такое. Накладные расходы на него, безусловно, есть, но зато можно хорошо понимать поведение указателей, знать все особенности процессора и на лету снимать профиль нагрузки. JIT бывает очень хорош в удачных для него условиях.
Как писал классик
Лол. Я в свое именно так в Амазон и перешёл.
В виндовом ядре есть C++? Я его близко не видел, но что-то думал, что там только голый C, только хардкор.
Угум-с. Но если мы с одной стороны берём "правильную" кодовую базу на C++ (что бы это ни значило), то и с другой стороны надо брать "правильную" кодовую базу "другом языке"
Если используете UB, то не удивляйтесь носовым демонам
Опять скажу, что не люблю Го, но давайте предерживаться фактов: пакеты совершенно необязательно таскать с Гитхаба. Вообще говоря, наличие стандартной системы сборки это скорее достоинство, чем недостаток, при этом как минимум конкретно Го гвоздями к системе сборки не прибит, если хотите собирать Го Базелем – собирайте, это вполне себе рабочий вариант.
Это не совсем так, на самом деле обфускатор для Перла просто вызывает линтер и форматтер с автоматическим применением изменений, подробнее можно почитать тут: https://metacpan.org/dist/Perl-Critic/view/bin/perlcritic
А вот и "сперва добейся" подвезли.
Языков, в которых необыкновенно легко допустить UB, лучше избегать.
Именно так, ради производительности, скорость выполнения очень важна для C++ кода. В железе, конечно, гораздо больше implementation defined (и меняется, вообще говоря, с выходом каждого процессора), но там своя кроличья нора оптимизации под капотом, Spectre/Meltdown тому подтверждение. Хорошая статья на тему: https://queue.acm.org/detail.cfm?id=3212479 , там про C, но к C++ все полностью применимо.
Про
new
– в точку! Аmain
– это же практическиmein
(веткам в гите приготовиться!)"Специально, зная, что получится" можно использовать implementation-defined behavior – конкретная реализация документирует свое поведение и обещается документации соответствовать. UB – это undefined behavior, никаких гарантий никто не даёт. Это всегда так было.
В плюсах во время компиляции можно на шаблонах алгоритм произвольной сложности выполнять, тащемта.
Мне кажется, это все из одной оперы: "придумали себе STL какой-то, вместо того чтобы
void*
кастовать, как отцы завещали!"Dog-whistle – это такой современный продвинутый вариант "докопаться до орфографии: когда по сути против фразы ничего сказать нельзя, но очень-очень хочется, ее объявляют dog whistle. Классический пример: It's OK to be white.
EDIT: опечатка
Надо вот так:
Согласно RFC 2119
Full implications оказались суровые...