Запутанная семантика
Это проблема семантики. Когда кто-то говорит о клиентском интерфейсе .NET или Java-разработчике, он обычно говорит о человеке, который много знает о языках шаблонов и, возможно, фреймворках, которые никогда не следует использовать больше, например, о веб-формах, которые использовались для того, чтобы попытаться скрыть разбрасывание вещей через стену http (т.е. «веб-разработка») от разработчиков приложений, которые не хотели или, по крайней мере, предполагали, что не хотят узнавать обо всем этом дерьме. В случае смешанных .NET и Java, я не уверен, но я мог только догадываться, что в смысле MVC у них есть Java, действующая для всех вещей бизнес-модели, и .NET, обрабатывающая все остальное, что будет лучше описано как "средний уровень", но все равно все это на стороне сервера.
Реальное разделение - это то, что происходит на сервере и то, что происходит на клиенте или в браузере. Вы можете легко связать создание HTML-кода для отправки или представление внешнего интерфейса с «разработкой внешнего интерфейса», поэтому я предпочитаю избегать путаницы, используя термины «клиент» и «серверная сторона» вместо внешнего и внутреннего, когда обсуждаю то, что я обычно делаю, (обычно работа на стороне клиента).
Языки на стороне клиента
Причина, по которой мы используем тот же набор языков в браузере, заключается в том, что браузер находится на приемной стороне, и по большей части (в настоящее время это было в основном мертвым сопротивлением со стороны Microsoft и Adobe), никто не хочет отсылать три различные версии одной и той же клиентской стороны, чтобы удовлетворить каждого потенциального клиента или требовать установки собственного плагина для работы в Интернете. Кроме того, эти три языка фактически инкапсулируют проблемы на стороне клиента, что позволяет нам быстро создавать и изменять внешние интерфейсы веб-приложений, поддерживая слабую связь между структурой документа, тем, как все выглядит и как все ведет себя. Вы можете изменить один без изменения двух других довольно легко.
Языки на стороне сервера
Причина, по которой у вас есть несколько миллиардов вариантов в сети на стороне сервера, заключается в том, что вы можете. Это твой сервер. Все, что нужно сделать, это общаться через http / ssl, а остальное зависит от вас. Кстати, JavaScript теперь является опцией, но это поднимает интересный вопрос. Если вы по-прежнему относитесь к веб-приложению так, как будто это действительно два приложения по обе стороны этой стены HTTP. Я придерживаюсь мнения, что да, да, ты должен, и я люблю Node.js.