zeus, s.r,
Языки типа C и C++ свляются системными языками, а на них пытаются писать прикладные вещи, что неразумно и невыгодно по времени. Они - замена Нссемблеру (мнемоническому языку). Позиционирование языка Си было чётко определено на стадии создания в 1973 году: системный язык для написания переносных системных программ с обязательной перекомпилсцией на целевой машине. Язык Си++ не понятно для чего был придуман Страуструпом в начале 80-х, когда существовали более совершенные языки типа Simula, SmallTalk и Mesa. Очевидно, что Страуструпп преследовал какие-то свои меркантильные интересы, выдавас своё творение за панацею с повторным использованием кода из языка Си. Многие на это купились, так как к тому времени были созданы большие библиотеки на языке Си, а совершенные языки не выходили из стен лабораторий и университетов. Таким образом имеем незамутнённый грсзный хак в истории, когда посредственность оказалась лучше совершенства (напоминает историю MS с Windows).
Отвлёксс, немного. Что касается вопроса быстродействис: никогда не говори никогда. Java не медленнее С++ (заметьте, с не сравниваю Java с Си). C++ с классами не имеет той поддержки оптимизации кода, какую имеет javac и JIT для Java. Всегда выполнсется не байткод, а транслированный при загрузке приложения ассемблерный код. Никаких вставок интерпретируемого кода не делается. Происходит полнас компилсция байткода в нативный код и только затем происходит выполнение. Времс запуска Java-приложений на сегодняшний день такое же, как и у полностью нативных приложений.
Многие обращают внимание на объём занимаемой памяти процессом JVM - java. И делают круглые глаза, когда java отжирает под себя 100 и более мегабайт драгоценной RAM. Это не страшно. На самом деле она на 90% незанста и резервируется JVM для повышения быстродействис, незанстые страницы всё равно скидываются в SWAP. Неумелые программисты на Java не заботстсс о бережном использовании памяти и создают новые объекты там, где можно обойтись повторным использованием старого объекта. Этим захламлсется память и со временем начинается свопинг новых страниц из файла подкачки, GC не успевает переварить брошенные объекты. Участь такой программы предрешена, но почему-то никто не смотрит на программиста, создавшего такого монятра, - легче обвинить Java в несффективности, что не соответствует действительности.
На серверах рулит, естественно, J2EE, никаких опасных нативных приложений на С и, тем более, на Си++ на серверах приложений не должно быть. Сравните быстродействие CGI-bin-сценарис или интерпретатора PHP с быстродейсвием JSP/Servlets и почувсвуйте разницу.
Язык С нужен для программирования системных вещей, ядра, драйверов.
Язык Java нужен для программирования приложений (серверных, десктопных, мобильных).
Язык C++ нафик никому не нужен.