Становится ли Java де-факто стандартом от разработки приложений для Linux точно так же. NET является стандартом для разработки приложений для Windows? Если нет, то почему?
Становится ли Java де-факто стандартом от разработки приложений для Linux точно так же. NET является стандартом для разработки приложений для Windows? Если нет, то почему?
Ответы:
Короче говоря: нет.
Это действительно зависит от того, какое приложение вы пишете. Для многих ответом остается обычный старый C / C ++ (если, скажем, Qt или разработка GTK + GUI). Многие, занимающиеся разработкой GTK +, могут также использовать Python + PyGTK. Если вы занимаетесь веб-разработкой или разработкой веб-сервисов, вы видите много Ruby, Python, PHP и Java.
Я не вижу, чтобы в Linux была «стандартная» платформа разработки, потому что одно из основных отличий от «экосистемы» Microsoft заключается в том, что она не является платформой одного производителя.
.NET является стандартной платформой для Windows только потому, что она сделана той же компанией, что и операционная система.
Хотя для обычного пользователя ответ может показаться положительным, на самом деле это не очень хорошее сравнение. Есть много разных компьютерных языков, которые могут работать под Linux и Windows. Фактически, разные языки .NET (такие как C #) могут работать под Linux с использованием Mono. Кроме того, существует множество программ, написанных на Java, которые прекрасно работают под Windows.
Лучшим сравнением может быть Java с Java Run Time Engine, а C # - с .Net Framework.
Не совсем, хотя, возможно, так и должно быть (с точки зрения успеха рабочего стола Linux).
Хотя вы можете использовать Java в Linux в качестве платформы аналогично .Net в Windows, есть два существенных различия:
Сказав все это, я думаю, что неспособность сообщества Linux должным образом принять Java на рабочем столе является основной причиной, почему Linux пока не добился успеха в настольном пространстве. Java и ее огромная экосистема библиотек и инструментов - единственная платформа с открытым исходным кодом, которая может реально конкурировать и выигрывать .Net для разработки приложений общего назначения. И если бы больше людей разрабатывали Java-приложения (которые могут работать одинаково в Windows и Linux), то монополия Microsoft на настольные ПК была бы существенно ослаблена.