А ты померяешь производительность своим любимым профайлером, и убедительно цифирками докажешь, что «тут надо все оптимизировать» :) А то обычно «мерить некогда» - усилий как при подъеме по скалам без альп. снаряжения, а выхлоп от оптимизации - с «гулькин клюй».
1. не все задачи нуждаются в ООП, для многих задач ООП лишняя сущность.
В С++ есть масса других фич, без которых не обходится ни одно приложение сложнее хелло-ворлда.
какие например?
С++ это надмножество С, поэтому ни один С интерфейс не нуждается в ООП-обёртке.
может и не нуждается, но всё равно юзают.
Если с ним удобнее работать, пожалуйста, но это не требование С++, это предпочтение программиста. Тормоза и глюки это следствие качества кода, а не следствие использования ООП.
полиморфизм и наследование реализуется в C++ через дважды косвенный вызов, это само по себе дорого. Т.е., даже если тебе надо всего-лишь сравнить два целых числа, тебе придётся извлечь адрес из VT, а потом по нему перейти. Очевидно, что это на порядок дороже простого cmp/jnz. Даже без учёта того, что весь конвейер придётся похерить.
А ещё С подталкивает к buffer overflow уязвимостям, утечкам памяти, расстрелу памяти, труднонаходимым багам из-за хитрых макросов, неочевидным образом меняющих смысл программы.
А ещё С подталкивает к buffer overflow уязвимостям, утечкам памяти, расстрелу памяти, труднонаходимым багам из-за хитрых макросов, неочевидным образом меняющих смысл программы.
По этой логике бензопила подталкивает к массовой резне, бульдозер - к сносу домов, банка, полицейского участка...
ага - std::string и std::vector просто п%ц как замедляют компиляцию
1. STL … It’s also something that, when you first encounter it, makes you wonder what the hell the designer was smoking. And once you’ve gotten used to it, you start wondering why other library designers don’t start smoking the same thing.
2. std::string годен только для hello world'ов. Настоящие Ъ пацаны юзают boost. Попробуй...
Они их не любят за то, что сишники многое знают и вообще круче их. Недалёкие люди, эти ненавистники.
Вы вот сказали чепуху, а мне приятно. Ощутил себя в детстве, в теплых ламповых девяностых, когда были такие дядьки с желтыми от курева зубами, и они были крутыми программистами, потому что знали С. И мы им всем завидовали, потому что они так много знали.
Сейчас уже правда большинство софта перешло в веб, решаются задачи бесконечного масштабирования, интероперабельности, совместимости. Но те времена останутся у меня в сердце навсегда.
It’s also something that, when you first encounter it, makes you wonder what the hell the designer was smoking. And once you’ve gotten used to it, you start wondering why other library designers don’t start smoking the same thing.
ты сам то понял, что процитировал? :)
std::string годен только для hello world'ов. Настоящие Ъ пацаны юзают boost. Попробуй...
std::string годен только для hello world'ов. Настоящие Ъ пацаны юзают boost. Попробуй...
wut? и причем тут boost? давай, раскрой тему настоящих посонов, которые юзают гольные буфера char* [100500*100500]:) А то o2n3e угорел в бане по хардкору. Унылотред без огонька...
Да нет, то удобная работа с ООП является полезной фичей - всеобщей известной истина, кто это отрицает просто не должен программировать. Тчк
с этим сложно спорить.
Но готов согласиться в твоей критике именно С++, да, отвратительный язык
потому-что C++ это C+костыли+костыли. Шаблоны - такие встроенные в ЯП макросы на стероидах, полиморфизм - набор костылей над void*, наследование - костыль над указателем на функцию (удобный).