Java sang Linux có phải là .NET với Windows không? [đóng cửa]


14

Có phải Java đang trở thành tiêu chuẩn thực tế từ phát triển ứng dụng Linux giống như cách .NET là tiêu chuẩn để phát triển ứng dụng Windows? Nếu không, tai sao không?


Linux bất chấp các tiêu chuẩn theo nhiều cách, bởi vì đây là một cộng đồng đa dạng. Cá nhân tôi là một người ủng hộ lớn cho mono với c #, chủ yếu là vì tôi cảm thấy thoải mái hơn với ide phát triển đơn (gần với studio hình ảnh) hơn là nhật thực, điều mà tôi luôn đặc biệt vụng về.
Morgan Herlocker

17
Cái này đến từ đâu vậy? Tôi hầu như chưa từng thấy bất kỳ ứng dụng Java nào trong Linux.
tcrosley

"Phát triển ứng dụng" là một thuật ngữ rất rộng, bạn có thể cụ thể hơn với câu hỏi của mình không?
MattDavey

Câu trả lời:


31

Tóm lại: Không.

Nó thực sự phụ thuộc vào loại ứng dụng bạn đang viết. Đối với nhiều người, câu trả lời vẫn là C / C ++ cũ thông thường (nếu thực hiện, giả sử phát triển GUI Qt hoặc GTK +). Nhiều người thực hiện phát triển GTK + cũng có thể đang sử dụng Python + PyGTK. Nếu thực hiện phát triển dịch vụ web hoặc web, bạn sẽ thấy rất nhiều Ruby, Python, PHP và Java.


6
Chỉ cần thêm rằng rất nhiều ứng dụng Gnome đang được xây dựng trong C # bằng Mono. Hãy nghĩ về F-Spot và Tomboy Notes, vì hai thứ xuất hiện đầu tiên.
Tarka

1
@Slokun: Và Banshsee ( banshee.fm )
Pete

5
Tôi thấy rất nhiều trăn trong bản phân phối dựa trên Ubuntu
TheLQ

1
Không phải thư Evolution cũng được viết bằng Mono sao?
Nodey The Node Guy

@StevenElliottJr Không, không phải vậy. Miguel quyết định làm việc trên Mono sau những kinh nghiệm của anh khi làm về Evolution. Hy vọng của anh là làm cho các ứng dụng viết như Evolution trở nên dễ dàng hơn. Evo vẫn được viết chủ yếu bằng C (có thể bổ sung bằng nhiều ngôn ngữ).
Pete

10

Tôi không thấy Linux có nền tảng phát triển 'tiêu chuẩn' vì một trong những khác biệt chính với 'hệ sinh thái' của Microsoft là đó không phải là nền tảng một nhà cung cấp.

.NET là nền tảng tiêu chuẩn trên Windows chỉ vì nó được sản xuất bởi cùng một công ty sản xuất hệ điều hành.


1
Tôi không nói đó là lý do duy nhất - nó liên quan nhiều hơn đến thực tế là .NET 2.0 hầu như được đảm bảo để cài đặt trên bất kỳ máy Windows nào - nếu một nền tảng bên thứ 3 mạnh như nhau có sự thâm nhập thị trường tương tự thì đó sẽ là một đối thủ.
MattDavey

3

Mặc dù câu trả lời có vẻ là có với người dùng thông thường, nhưng nó thực sự không phải là một so sánh tốt. Có nhiều ngôn ngữ máy tính khác nhau có thể chạy trong Linux và Windows. Trên thực tế, các ngôn ngữ .NET khác nhau (như C #) có thể chạy trong Linux bằng Mono. Ngoài ra, có NHIỀU chương trình được viết bằng Java chỉ chạy tốt trong Windows.

Một so sánh tốt hơn có thể là Java với Công cụ thời gian chạy Java vì C # là với .Net Framework.


2

Không thực sự, mặc dù có lẽ nó nên (từ quan điểm làm cho máy tính để bàn Linux thành công).

Mặc dù bạn có thể sử dụng Java trên Linux làm nền tảng theo cách tương tự như .Net trên Windows, có hai điểm khác biệt đáng kể:

  • .Net về cơ bản gắn liền với nền tảng Windows, nhưng Java có thể di động trên hầu hết các nền tảng. Vì vậy, Java không thực sự "bản địa" đối với Linux.
  • Nền tảng Linux không đồng nhất hơn nhiều, với các cộng đồng đáng kể (một số có thể nói bị phân mảnh) xung quanh nhiều ngôn ngữ lập trình và bộ công cụ khác nhau. Có những người trăn, những người C ++, những người C, những người Perl, v.v.

Nói tất cả những điều đó, tôi nghĩ rằng sự thất bại của cộng đồng Linux trong việc nắm bắt Java trên Máy tính để bàn là lý do chính khiến Linux chưa thành công trong không gian máy tính để bàn. Java và hệ sinh thái thư viện / công cụ khổng lồ của nó là nền tảng nguồn mở duy nhất có thể thực sự cạnh tranh và giành chiến thắng với .Net để phát triển ứng dụng cho mục đích chung. Và nếu nhiều người phát triển các ứng dụng Java (có thể chạy giống hệt trên Windows và Linux) thì độc quyền máy tính để bàn của Microsoft sẽ bị suy yếu đáng kể.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.