razdvatri пишет: |
А Visual C++ что такое? |
Всего лишь оболочка. До версии 4, если я не ошибаюсь, в ней использовался микрософтовский компилятор. Начиная с версии 5 они заменили компилятор на диджиталовский (купив его у DEC). Причина – в разработку С-компилятора DEC был вложен громадный труд, легче было купить компилятор, чем доводить свой до его уровня. При разработке компилятора основная часть усилий тратится на оптимизацию кода.
Объектно-ориентированные языки не могут заменить С++, т.к. по эффективности (быстродействию и расходу памяти) ОО-языки с их ссылочными типами, управляемой кучей и сборкой мусора, интерпретацией или компиляцией "на лету" всегда будут проигрывать традиционным. Кроме того, ОО-языки нельзя использовать в системах реального времени, где требуется гарантированное время отклика (что несовместимо со сборкой мусора).
По принципам работы с памятью и размещению объектов С++ – традиционный язык (его иногда называют "Объектно-ориентированным Ассемблером").