C - Плюсы: Возможность выжать максимальную скорость из железа.
Минусы: При переходе с динамических скриптов (типа, упомянутого в вопросе, PHP) может несколько шокировать своей многословностью и необходимостью явно описывать каждую мелочь, которая в других языках выводится неявно.
Java - Плюсы: Автоматическая сборка мусора сильно облегчает жизнь и смягчает шок при переходе с динамических скриптов. Гениальный JIT - позволяет сократить отставание от голого железа в скорости (в лучшем случае) до 30%-50% (по сравнению с отставанием в разы и десятки раз для динамических скриптов).
Минусы: Чтобы воспользоваться всей мощью JIT, требуется глубокое понимание принципов его работы и отказ от использования объектов (основной фишки Java) в глубине самых нагруженных циклов.
C++ - Разные люди по-разному используют его. Кто-то на нем пишет в стиле C, получает быстродействие чистого C и презрение истинных C++совцев. Кто-то на нем пишет в стиле Java и получает более компактный код, но и быстродействие как у Java. На самом деле на этом языке можно писать красивые, элегантные и не уступающие в быстродействии программы, но на это уйдут годы обучения (речь не о синтаксисе языка и не о стандартной библиотеке).