C++ вступает в игру только тогда, когда вы работаете над большими приложениями, где вам нужны низкоуровневые возможности языка, чтобы написать back end с учетом производительности.
Java и C# призваны повысить вашу производительность. Прежде всего, за счет заботы об управлении памятью и очень функциональной библиотеки классов.
Java кажется менее активно разрабатываемым языком из-за позиции производителя. Однако у него самая большая экосистема в плане различных библиотек и продуктов сторонних производителей. Также он кроссплатформенный. Рабочих мест на Java много, но платят, как правило, меньше.
Язык C# развивается довольно активно, что иногда раздражает разработчиков (которые говорят, что не успевают за ним). Однако благодаря этому вы получаете современный и мощный язык, включая огромную библиотеку классов .NET, что делает разработчиков очень продуктивными и в среднем очень счастливыми. Однако он не является кроссплатформенным (за исключением эксперимента с Mono), и в какой-то момент вашего роста вам, возможно, придется платить за лицензии (Visual Studio IDE выше Express edition и SQL Server (если вы используете его и если вы превышаете лимит базы данных в 4 ГБ)). Рабочих мест обычно меньше, но платят больше.
Я определенно выбрал бы путь Java / J2EE. В настоящее время это самый популярный выбор для веб-приложений.
Если вы просто хотите расширить свои знания, то да, C++ - хороший язык, на котором можно поточить зубы. Если вы хотите использовать его в веб-разработке, то нет, выбирайте Java или C#, поскольку C++ редко используется в веб-разработке.
Предполагая, что вы хотите остаться в сфере веб-разработки, я согласен с большинством здесь и выбрал бы Java. После того, как вы освоитесь с Java, я бы начал изучать Groovy (и Grails), который начинает набирать популярность в крупных компаниях. Кроме того, как только вы освоитесь, переход на C# будет неплохим (это то, чем я занимаюсь сейчас, и это напоминает мне о потрясающей версии Java от Microsoft).
Вы понимаете, что нет правильного ответа на это?
Поскольку вы, кажется, больше любите C ++, я бы посоветовал вам пойти на это.
Лично и субъективно, конечно, я думаю, что Java по-прежнему будет лучшим выбором.
Я не так много могу сказать о Java, если вы думаете, что она того не стоит (или, наоборот, я не могу сказать ничего плохого о Java, если это то, что вы хотите изучить дальше).
Так что нет возможности есть на это правильный ответ.
И все мы знаем, что единственный правильный ответ - Java ;)
C ++ редко используется в веб-разработке, в основном для настольных компьютеров. И с моим опытом работы с C ++, это может показаться непомерным объемом кода, просто чтобы простые вещи отображались на экране.
Несмотря на то, что Java - достойный веб-язык, по-прежнему существует много накладных расходов. Большинство веб-сайтов в настоящее время используют PHP. Это мощный, простой в использовании и легкий в освоении. У них нет большого цикла разработки и нет сложного развертывания WAR и EAR. И изменения появляются мгновенно, в отличие от некоторых веб-серверов на базе Java, обновление которых занимает минуты или часы.
Если вы боитесь PHP, не бойтесь! Он управляет чрезвычайно популярными сайтами, такими как Facebook, и поддерживает популярные веб-программы, такие как PhpBB, InvisionBoard, Drupal, Joomla и Wordpress. Очевидно, что php что-то делает правильно, иначе это не было бы повсюду в Интернете.
Я бы посоветовал Java предложить несколько отличных API-интерфейсов для веб-приложений.
Раньше я использовал Google Web Toolkit (GWT) и нашел его мощным API для веб-приложений
Для внутренней разработки я бы выбрал Java. Это даст вам наибольшее количество вариантов с точки зрения платформ. C # - хороший язык, но все же существенно ограничивает вас Windows (мало что знаю о порте Mono, может быть, кто-то еще может уточнить).
C ++ редко используется для разработки веб-приложений.
C ++ не так популярен для веб-разработки, как PHP, Python, Java или C #. Но его по-прежнему можно успешно использовать для веб-разработки с использованием таких фреймворков, как CppCMS .
Итак, если вы в целом хотите узнать больше о веб технологиях, я бы не предлагал вам использовать C ++, но если вы хотите изучать и исследовать новые технологии, очень важно изучать язык, поскольку он открывает очень разные виды мира.
Мое впечатление (с моей ограниченной точки зрения) таково, что C++ становится следующим COBOL или C. То есть, огромная база унаследованных приложений, но используемая для новых разработок все реже и реже. Если вы рассчитываете писать новый код, а не поддерживать старый, я бы сосредоточился на чем-то другом.
Мой голос был бы за C++ (в первую очередь) и Java. И да, я смотрю на это с точки зрения веб-разработчика. Причина в том, что в последнее время все медленно, но верно движется в сторону облачных вычислений.
Обратите внимание, как браузеры начинают поддерживать веб-сокеты. Сокетные соединения со временем заменят AJAX и Comet и обеспечат более отзывчивые и более надежные веб-приложения. Причина изучения C++ и/или Java заключается в написании скриптов бэкенда, которые работают как демоны и обслуживают ваши сокетные соединения. Демоны на PHP возможны, но не так быстры и надежны, как скомпилированные на C++ приложения.
В настоящее время я являюсь сторонником Linux (имея большой опыт работы с серверами Windows и .NET), и я предлагал и буду предлагать клиентам использовать Linux вместо Windows. Вы получаете более надежный пользовательский параллелизм в Linux по сравнению с Windows на том же оборудовании. Я считаю, что облако будет разделено между этими двумя системами, но работодатели, которые хорошо осведомлены, выберут Linux. Наша задача - обучить их. Вот мои доводы в пользу изучения C++ в настоящее время.
Мне просто нужно было написать демон для поддержания круглосуточного соединения с агрегатором текстовых сообщений (пользователи пишут сообщения операторам, которые отвечают на многочисленные соединения из веб-интерфейса), я выбрал C++. Но я также планирую ознакомиться с Java, поскольку существует огромная доступная база кода Java. Это может пригодиться.
Я обнаружил, что делаю меньше вещей на C++, чем раньше. У него есть свое место, но это место становится все меньше. Если вы хотите связать себя с веб-разработкой, c++, вероятно, не то, что вам нужно. Я бы согласился с другими плакатами. Java может быть хорошим выбором.
Для своих проектов, связанных с веб-разработкой, я получал много удовольствия от python и Django. Думаю, Ruby on Rails тоже можно рассмотреть.
Поскольку вы упомянули масштабируемость и надежность... многие крупные масштабируемые и надежные сайты начинали с других технологий и переходили на них только тогда, когда этого требовал огромный трафик. Доведение дела до конца часто лучше, чем создание чего-то масштабируемого, которое никогда не будет доведено до конца.
Выберите тот язык, на котором вы чувствуете себя лучше, это будет тот, который принесет успех.
Если вы хотите повысить свою конкурентоспособность, вам обязательно нужно изучить C #. C ++ - мой любимый язык, и я все время использую его для написания внутренних серверов; но поскольку он увеличивает время разработки, очень немногие проекты требуют его в качестве бэкэнда для веб-сайта. В наши дни, если вы умеете писать код на PHP, C # и, в некоторых случаях, на Java, у вас есть почти все, что вам нужно для 99% вакансий разработчика веб-приложений.
Если вы хотите выйти на более крупные нишевые рынки (например, работать в Google), то C ++ определенно то, что вам нужно; в противном случае вам будет лучше работать с C #.