Является ли Java для Linux тем же, что .NET для Windows? [закрыто]


14

Становится ли Java де-факто стандартом от разработки приложений для Linux точно так же. NET является стандартом для разработки приложений для Windows? Если нет, то почему?


Linux игнорирует стандарты во многих отношениях, потому что это такое разнообразное сообщество. Лично я большой сторонник моно с c #, в основном потому, что я чувствую себя более комфортно с идеей monodevelop (ближе к визуальной студии), чем с затмением, с которым я всегда был особенно неуклюжим.
Морган Херлокер

17
Откуда это? Я почти никогда не видел никаких приложений Java в Linux.
tcrosley

«Разработка приложений» - это очень широкий термин, можете ли вы быть более конкретным со своим вопросом?
MattDavey

Ответы:


31

Короче говоря: нет.

Это действительно зависит от того, какое приложение вы пишете. Для многих ответом остается обычный старый C / C ++ (если, скажем, Qt или разработка GTK + GUI). Многие, занимающиеся разработкой GTK +, могут также использовать Python + PyGTK. Если вы занимаетесь веб-разработкой или разработкой веб-сервисов, вы видите много Ruby, Python, PHP и Java.


6
Просто добавлю, что многие приложения Gnome создаются на C # с использованием Mono. Вспомните F-Spot и Tomboy Notes, о двух, которые приходят на ум первыми.
Тарка

1
@Slokun: И Banshsee ( banshee.fm )
Пит

5
Я вижу много питона в дистрибутивах на основе Ubuntu
TheLQ

1
Разве почта Evolution также не написана с Mono?
Nodey The Node Guy

@ StevenElliottJr Нет, это не так. Мигель решил поработать над Mono после своего опыта работы над Evolution. Он надеялся облегчить написание таких приложений, как Evolution. Evo по-прежнему написан в основном на C (возможно с плагинами на нескольких языках).
Пит

10

Я не вижу, чтобы в Linux была «стандартная» платформа разработки, потому что одно из основных отличий от «экосистемы» Microsoft заключается в том, что она не является платформой одного производителя.

.NET является стандартной платформой для Windows только потому, что она сделана той же компанией, что и операционная система.


1
Я бы не сказал, что это единственная причина - это больше связано с тем фактом, что .NET 2.0 практически гарантированно будет установлен на любой машине Windows - если бы столь же мощная сторонняя платформа имела такое же проникновение на рынок, она была бы претендентом.
MattDavey

3

Хотя для обычного пользователя ответ может показаться положительным, на самом деле это не очень хорошее сравнение. Есть много разных компьютерных языков, которые могут работать под Linux и Windows. Фактически, разные языки .NET (такие как C #) могут работать под Linux с использованием Mono. Кроме того, существует множество программ, написанных на Java, которые прекрасно работают под Windows.

Лучшим сравнением может быть Java с Java Run Time Engine, а C # - с .Net Framework.


2

Не совсем, хотя, возможно, так и должно быть (с точки зрения успеха рабочего стола Linux).

Хотя вы можете использовать Java в Linux в качестве платформы аналогично .Net в Windows, есть два существенных различия:

  • .Net в основном привязан к платформе Windows, но Java переносима практически на все платформы. Так что Java на самом деле не «родная» для Linux.
  • Платформа Linux гораздо более разнородна, с существенными (некоторые могут сказать фрагментированными) сообществами вокруг множества различных языков программирования и наборов инструментов. Это люди из Python, люди из C ++, люди из C, люди из Perl и т. Д.

Сказав все это, я думаю, что неспособность сообщества Linux должным образом принять Java на рабочем столе является основной причиной, почему Linux пока не добился успеха в настольном пространстве. Java и ее огромная экосистема библиотек и инструментов - единственная платформа с открытым исходным кодом, которая может реально конкурировать и выигрывать .Net для разработки приложений общего назначения. И если бы больше людей разрабатывали Java-приложения (которые могут работать одинаково в Windows и Linux), то монополия Microsoft на настольные ПК была бы существенно ослаблена.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.