Czy Java dla Linuksa jest .NET dla Windows? [Zamknięte]


14

Czy Java staje się de facto standardem przy tworzeniu aplikacji dla systemu Linux w taki sam sposób. NET jest standardem dla tworzenia aplikacji dla systemu Windows? Jeśli nie to dlaczego?


Linux przeciwstawia się standardom na wiele sposobów, ponieważ jest tak zróżnicowaną społecznością. Osobiście jestem wielkim zwolennikiem mono z c #, głównie dlatego, że czuję się bardziej komfortowo z ideą monodevelopu (bliżej studia wizualnego) niż zaćmieniem, z którym zawsze byłem wyjątkowo niezdarny.
Morgan Herlocker,

17
Skąd to się bierze? Prawie nigdy nie widziałem żadnych aplikacji Java w Linuksie.
tcrosley,

„tworzenie aplikacji” jest bardzo szerokim pojęciem, czy możesz bardziej szczegółowo określić swoje pytanie?
MattDavey

Odpowiedzi:


31

W skrócie: Nie.

To zależy od rodzaju aplikacji, którą piszesz. Dla wielu odpowiedzią jest wciąż zwykły stary C / C ++ (jeśli tak, powiedzmy Qt lub GTK + GUI). Wielu programistów GTK + może także używać Python + PyGTK. Jeśli tworzysz strony internetowe lub usługi sieciowe, widzisz wiele Ruby, Python, PHP i Java.


6
Dodam tylko, że wiele aplikacji Gnome jest budowanych w C # przy użyciu Mono. Pomyśl o F-Spot i Tomboy Notes, jeśli chodzi o dwa pierwsze.
Tarka,

1
@Slokun: And Banshsee ( banshee.fm )
Pete

5
Widzę dużo Pythona w dystrybucji opartej na Ubuntu
TheLQ

1
Czy poczta Evolution nie jest również napisana w Mono?
Nodey The Node Guy

@StevenElliottJr Nie, nie jest. Miguel postanowił pracować nad Mono po swoich doświadczeniach z Evolution. Jego nadzieją było ułatwienie pisania aplikacji takich jak Evolution. Evo jest nadal napisany głównie w C (z wtyczkami możliwymi w kilku językach).
Pete

10

Nie widzę, żeby Linux miał „standardową” platformę programistyczną, ponieważ jedną z głównych różnic w stosunku do „ekosystemu” Microsoftu jest to, że nie jest to platforma jednego dostawcy.

.NET jest standardową platformą w systemie Windows tylko dlatego, że została stworzona przez tę samą firmę, która tworzy system operacyjny.


1
Nie powiedziałbym, że to jedyny powód - chodzi raczej o to, że .NET 2.0 jest praktycznie gwarantowany do zainstalowania na dowolnym komputerze z systemem Windows - gdyby równie potężna platforma innej firmy miała taką samą penetrację rynku, byłaby to konkurencja.
MattDavey,

3

Odpowiedź może wydawać się tak zwykłemu użytkownikowi, ale tak naprawdę nie jest to dobre porównanie. Istnieje wiele różnych języków komputerowych, które mogą działać w systemie Linux i Windows. W rzeczywistości różne języki .NET (takie jak C #) mogą działać pod Linuksem przy użyciu Mono. Ponadto istnieje wiele programów napisanych w Javie, które działają dobrze w systemie Windows.

Lepszym porównaniem może być Java dla Java Run Time Engine, ponieważ C # jest dla .Net Framework.


2

Nie bardzo, choć może powinno (z punktu widzenia powodzenia pulpitu Linuksa).

Chociaż możesz używać Java w systemie Linux jako platformy w podobny sposób jak .Net w systemie Windows, istnieją dwie zasadnicze różnice:

  • .Net jest zasadniczo związany z platformą Windows, ale Java jest przenośna na prawie wszystkich platformach. Zatem Java nie jest tak naprawdę „natywna” dla Linuksa.
  • Platforma Linux jest o wiele bardziej niejednorodna, ze znacznymi (niektórzy mogą powiedzieć fragmentarycznymi) społecznościami wokół wielu różnych języków programowania i zestawów narzędzi. Są ludzie python, C ++, C, Perl itp.

Powiedziawszy to wszystko, myślę, że niepowodzenie społeczności Linuksa w poprawnym przyjęciu Javy na pulpicie jest głównym powodem, dla którego Linux nie odniósł jeszcze sukcesu w przestrzeni pulpitu. Java i jej ogromny ekosystem bibliotek / narzędzi to jedyna platforma typu open source, która może realistycznie konkurować i wygrywać z .Net w zakresie tworzenia aplikacji ogólnego zastosowania. A jeśli więcej osób opracuje aplikacje Java (które mogą działać identycznie w systemach Windows i Linux), monopol na komputery stacjonarne Microsoft zostanie znacznie osłabiony.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.