.NET vs. Java
Сравнение кросс-платформ .NET и Java
Что хорошо в .NET
Можно без особых усилий создать приложение, запускающееся и на мобильных устройствах (под управлением MS Windows Mobile + .NET Compact Framework), и на десктопе (под управлением MS Windows NT + .NET Framework), и на веб-странице (фактически, на веб-сервере с интерфейсом у клиента; требуется ОС MS Windows Server + MS Internet Information Services + .NET Framework). Для реализации подобных вещей на Java требуется отдельно описывать пользовательский интерфейс для мобильного устройства (с использованием Java ME), для десктоп-приложения (с использованием Java SE) и для сервлета (серверное приложение; требуется Java EE).
Что хорошо в Java
Несмотря на частичные успехи работы и в иных операционных системах, по факту, разработки на базе .NET Framework используются лишь в системах MS Windows. Java же одинаково хорошо функционирует и на Windows, и на юниксовидных системах.
Аналогов Java-апплетов в .NET не обнаружено (если не считать ActiveX).
Такая разная кроссплатформенность
"Аппаратная" независимость .NET против "программной" независимости Java. Где же реальная кроссплатформенность? Однозначный ответ на этот вопрос дать нельзя. Нужно выбирать ту или иную платформу в зависимости от конкретной задачи.