Чи Java для Linux, що .NET для Windows? [зачинено]


14

Чи стає Java тим самим стандартом де-факто в розробці додатків Linux таким же чином. NET є стандартом для розробки програм Windows? Якщо ні, чому б і ні?


Linux багато в чому нехтує стандартами, оскільки це таке різноманітне співтовариство. Особисто я великий прихильник моно з c #, здебільшого тому, що мені більше комфортно почуватись із ідеєю monodevelop (ближче до візуальної студії), а не затемненням, з яким завжди був особливо незграбний.
Morgan Herlocker

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
Я бачу багато python в дистрибутиві на базі ubuntu
TheLQ,

1
Чи не пишеться також повідомлення Evolution з Mono?
Nodey The Node Guy

@StevenElliottJr Ні, це не так. Мігель вирішив працювати над Mono після свого досвіду роботи над Evolution. Його надія полягала у спрощенні написання програм на зразок Evolution. Ще написано Evo, головним чином, на мові С (плагіни можливі на кількох мовах).
Піт

10

Я не бачу, щоб у Linux була "стандартна" платформа розвитку, тому що одна з головних відмінностей від "екосистеми" Microsoft полягає в тому, що це не платформа для одного постачальника.

.NET - це стандартна платформа для Windows лише тому, що її виготовляє та сама компанія, яка виробляє операційну систему.


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

3

Хоча випадковому користувачеві відповідь може здатися так, це насправді не є хорошим порівнянням. Існує багато різних комп'ютерних мов, які можуть працювати під Linux та Windows. Насправді різні мови .NET (наприклад, C #) можуть працювати під Linux за допомогою Mono. Крім того, Є багато програм, написаних на Java, які запускаються просто під Windows.

Кращим порівнянням може бути Java - це Java Run Engine Engine, оскільки C # - це .Net Framework.


2

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

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

  • .Net принципово прив'язаний до платформи Windows, але Java є портативною майже на всіх платформах. Тож Java насправді не є "рідною" для Linux.
  • Платформа Linux набагато більш неоднорідна, з великими (можна сказати, фрагментованими) спільнотами навколо багатьох різних мов програмування та наборів інструментів. Там люди з пітоном, люди з С ++, люди зі С, Perl та ін.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.