Receios de desempenho ou inchaço não são boas razões para abandonar o C ++. Toda linguagem tem suas possíveis armadilhas e desvantagens - bons programadores aprendem sobre elas e, quando necessário, desenvolvem estratégias de enfrentamento, programadores ruins vão se calar e culpar a linguagem.
O Python interpretado é, em muitos aspectos, considerado uma linguagem "lenta", mas para tarefas não triviais, um programador especializado em Python pode facilmente produzir código que é executado mais rapidamente que o de um desenvolvedor C inexperiente.
No meu setor, videogames, escrevemos código de alto desempenho em C ++, evitando coisas como RTTI, exceções ou funções virtuais em loops internos. Eles podem ser extremamente úteis, mas têm problemas de desempenho ou inchaço que é desejável evitar. Se formos um passo adiante e mudarmos totalmente para C, ganharíamos pouco e perderíamos as construções mais úteis do C ++.
A maior razão prática para preferir C é que o suporte é mais amplo que o C ++. Existem muitas plataformas, especialmente as incorporadas, que nem sequer possuem compiladores C ++.
Há também a questão da compatibilidade para fornecedores. Enquanto C tem uma ABI estável e bem definida (Application Binary Interface), C ++ não. A ABI no C ++ é mais complicada devido a coisas como vtables e constructurs / destructors, por isso é implementada de maneira diferente com todos os fornecedores e até versões de uma cadeia de ferramentas de fornecedores.
Em termos reais, isso significa que você não pode pegar uma biblioteca gerada por um compilador e vinculá-la ao código ou a uma biblioteca de outra, o que cria um pesadelo para projetos distribuídos ou provedores de middleware de bibliotecas binárias.