Выстрелить себе в ногу

«Выстрелить себе в ногу» — фраза из старой цитаты отца языка C++ Бьярне Строуструпа:
Bjarne Stroustrup

Конечно, сама фраза гораздо древнее этой цитаты. Суть её заключается в том, что в винрарное ковбойское время чуть более, чем все револьверы не имели предохранителя. Он там был не особо и нужен: в системах с раздельным взводом курка и спуском взведённый курок означает смерть своей пружины, поэтому нормальные люди таскали пушки невзведёнными, в случае чего пользуясь знаменитой револьверной фичей: выжав спуск, взвести курок ладонью другой руки.
Беда в том, что это означало суровую нагрузку на указательный палец и как следствие — задержку при выстреле и резкую потерю меткости. Поэтому самые крутые ковбои, дрочившие на мгновенное-выхватывание-пушки-и-выстрел (как в вестернах, ага) могли ходить со "взведёнными" револьверами в кобурах. И вот им уже было феерически несложно добиться выстрела, даже не прикасаясь к спусковому крючку — то есть при должном ламерстве вполне реально было прострелить себе ногу, не вынимая револьвер из кобуры, просто по неосторожности. Впрочем, "fanning" (шлепание ладонью по курку) использовали в основном в кинофильмах, а настоящие юзеры просто заряжали в шестизарядники по пять патронов, оставляя камору под курком пустой; что является лучшим подтверждением актуальности выражения. Позже конструкторы всё-таки придумали револьверы с самовзводом и блокировкой курка, и суть фразы забылась. Зато не забылась сама фраза: она стала распространённой пиндосской идиомой, ближе всего стоящей к русскому выражению «сесть себе на яйца».
Тем не менее, среди тех, кто ещё помнит, фраза стойко ассоциируется именно с цитатой отца-основателя.

На искомую тему был написан забавный текст, автор которого теряется в веках (помнит ли ещё кто-нибудь про revelation и euclid?):
ЗАДАЧА: Прострелить себе ногу.
Так бы в Windows 8 решалась любимая программистами задача выстрелить себе в ногу:
— Вы уверены, что хотите выстрелить себе в ногу? — Да
— Windows требуется ваше разрешение для продолжения — Продолжить
— Для выполнения этого действия нужно обладать правами администратора — Продолжить!
— Windows Smartscreen защитило вашу ногу от неопознанной операции выстрела. Выстрел в ногу может повредить вашу ногу — Стреляй же, мать твою!
— Предупреждение системы безопасности. Не удаётся проверить модель пистолета. Пистолеты могут быть полезны, но этот тип пистолета может повредить Вашу ногу. Если вы не доверяете вашему оружейному поставщику не используйте данный пистолет — А-а-а-а!!! Стреляй! Стреляй! Стреляй!!!
— У вас нет прав для произведения операции Выстрелить в себе в ногу. Вы не являетесь владельцем вашей ноги. Обратитесь к своему системному администратору — %&?#!!!
<nowiki>*посылает пулю в висок*</nowiki>
Бьярне продолжает радовать. На официальной страничке, посвященной FAQ по новому стандарту, в разделе наследование конструкторов.
If you so choose, you can still shoot yourself in the foot by inheriting constructors in a derived class in which you define new member variables needing initialization...
You might remove the bullet from your foot by using a member-initializer...
Также данные цитаты были повторены в четвертом издании The C++ Programming Language, опубликованной в мае 2013.