Java sẽ vẫn có liên quan trong 5 năm nữa chứ? [đóng cửa]


41

Java sẽ có tầm quan trọng tương tự như trong quá khứ, hay nó sẽ ít liên quan hơn ngày nay?


4
Java sẽ luôn luôn có liên quan trong ngành lập trình. Làm thế nào để bạn đề nghị chúng tôi viết bất cứ điều gì mà không có nó?! ;)
lừa dối

7
Ngôn ngữ hay nền tảng?
MIA

@Jim: điểm tuyệt vời, tách rời tương lai của ngôn ngữ Java và JVM.
azheglov


1
Chúng tôi không làm "nhìn vào tương lai và dự đoán những gì sẽ xảy ra" loại câu hỏi nữa.
Adam Lear

Câu trả lời:


30

Java có liên quan và sẽ tiếp tục có liên quan trong nhiều năm trong thế giới máy tính Doanh nghiệp.

Việc nó có tiếp tục liên quan đến các lĩnh vực khác hay không phụ thuộc rất nhiều vào những gì Oracle làm. Nếu họ đưa một số sự sống (và tài nguyên) vào ME, các ứng dụng máy tính để bàn và các lĩnh vực khác và nếu họ tiếp tục phát triển ngôn ngữ Java, thì Java sẽ hoạt động tốt.

Nhưng nếu Oracle cắt giảm R & D và / hoặc cố gắng dậm chân những người chơi khác trong không gian Java, thì rất có thể ai đó / một số công ty sẽ phát triển một ngôn ngữ giống Java tốt hơn (và cởi mở hơn). Nếu Oracle thắng kiện của họ chống lại Google, tôi dự đoán rằng thế hệ tiếp theo của nền tảng Android sẽ có ngôn ngữ mới, giống như đã xảy ra với C #. Nếu Google có được sự cởi mở ngay ... thì, trò chơi đã bắt đầu!


1
Đồng ý. Bản thân Oracle đã đầu tư quá nhiều vào kho ứng dụng Enterprise của mình vào Java để cho phép nó từ chối. Điều thú vị là rất nhiều câu trả lời khác dường như tập trung vào nền tảng di động.
Gary

10
IBM hỗ trợ Java trên tất cả các nền tảng chính của họ. Điều này có nghĩa là ngay cả khi Java sẽ biến mất khỏi bề mặt Trái đất, nó vẫn sẽ chạy trên các máy tính lớn (như COBOL). Lợi thế chính cho các lập trình viên là khả năng phát triển cục bộ và sự nghiêm ngặt của JVM có nghĩa là nó sẽ chạy theo một cách có thể dự đoán được.

+1 đặc biệt là I predict that the next generation of the Android platform will have a new language, just like happened with C#.Đừng quên rằng bây giờ Gosling hoạt động cho Google; nighthacks.com/roll/jag/entry/next_step_on_the_road
Qwerky

@Qwerky Bây giờ anh ấy làm việc cho Liquid Robotics. nighthacks.com/roll/jag/entry/i_ve_mond_again

Chúng ta đừng quên những gì Borland đã làm với Delphi. Nó đã bị bỏ rơi đến nỗi hầu hết mọi người ngày nay nghĩ về Delphi như một sự giải thoát khỏi giải pháp kinh doanh. Nhưng Embarcadero đã giải cứu sản phẩm và bây giờ nó đã mở cho java, mac, html5, android và các khu vực lập trình khác.
Vui lòng_Dont_Bully_Me_SO_Lords

47

Vâng, Java chắc chắn sẽ tiếp tục có liên quan và có thể sẽ duy trì vị trí là nền tảng tổng thể số 1 để phát triển phần mềm trong một thời gian dài.

Thứ nhất, lý do tại sao Java đang và sẽ tiếp tục là một lựa chọn mạnh mẽ:

  • Java vẫn là ngôn ngữ phổ biến nhất - và điều này có nghĩa là nó có nhiều nhà phát triển nhất, phát triển liên tục nhất, cơ sở được cài đặt lớn nhất, v.v. Không có dấu hiệu giảm mạnh nào - ví dụ nếu bạn nhìn vào xu hướng TIOBE thì nó có thể dễ dàng tiếp tục Số 1 trong 10-15 năm tới

  • Java, mặc dù có những sai sót, nhưng vẫn là một ngôn ngữ tuyệt vời để phát triển các ứng dụng doanh nghiệp . Thực tế là nó dài dòng và có xu hướng thúc đẩy một phong cách phát triển OOP khá chuẩn hóa là một điều tốt khi các ứng dụng cần được duy trì bởi nhiều nhà phát triển khác nhau trong nhiều năm theo cách khá chuẩn. Các CIO thông minh nhận ra điều này, đó là lý do tại sao bạn sẽ không thấy Java biến mất trong doanh nghiệp bất cứ lúc nào. BTW và mục tiêu rõ ràng của Java khi nó được tạo ra là nó phải "đơn giản, hướng đối tượng và quen thuộc".

  • Thành công của ngôn ngữ không chỉ là về ngôn ngữ, mà xung quanh hệ sinh thái của các thư viện có sẵn cho ngôn ngữ. Về mặt này, Java là không ai sánh kịp, với một loạt các thư viện thương mại và nguồn mở.

  • Hiệu suất - Mã được biên dịch JIT trên các JVM hiện đại chạy rất gần với mã gốc được tối ưu hóa về tốc độ. Trong thực tế, điều này có nghĩa là Java thường là một trong những kết hợp ngôn ngữ / triển khai nhanh nhất hiện có (xem các điểm chuẩn thiếu sót nếu bạn muốn). Bất cứ ai nghĩ rằng Java chậm (hoặc, vì lợi ích của nó, "diễn giải") cần phải cập nhật sự thật của họ từ thế kỷ trước.

  • Hỗ trợ công ty lớn - Java là một nền tảng chiến lược được hỗ trợ bởi nhiều công ty và tổ chức công nghệ lớn nhất và quan trọng nhất thế giới - chúng tôi đang nói về Google, Oracle, IBM, Liên đoàn phần mềm Apache, v.v. Java cũng có sự hỗ trợ đáng kể từ những người dùng công nghệ lớn - ngân hàng, công ty truyền thông, v.v. Không có ngôn ngữ / nền tảng nào khác có sự hỗ trợ công nghiệp rộng lớn như vậy (ngay cả khi người chơi có những câu chuyện không thường xuyên :-))

  • Android - đang mang lại một sự thúc đẩy lớn cho Java trong không gian di động. Rất nhiều công ty khởi nghiệp đang nhắm mục tiêu này và không phải là không có lý khi hy vọng rằng các công ty khởi nghiệp di động cũng sẽ có lý do chính đáng để chọn Java ở phía máy chủ.

  • Tính di động : Java là thứ tồn tại gần nhất với môi trường lập trình đa nền tảng chính hãng. Nó có trên mọi thứ, từ máy chủ cao cấp đến điện thoại thông minh và mã Java thuần được biên dịch sẽ chạy không thay đổi trên tất cả các nền tảng này. Rất ít ngôn ngữ có thể nói điều này với cùng mức độ đáng tin cậy. Cũng như một ngôn ngữ mã byte, Java có một lợi thế vốn có trong không gian thư viện vì các thư viện được biên dịch vốn đã có khả năng di động trên các nền tảng.

  • Các công cụ tuyệt vời - hầu hết trong số đó là miễn phí và / hoặc nguồn mở. NetbeansEclipse là những ví dụ tuyệt vời trong không gian IDE. Các nhà phát triển cần các công cụ tốt để có năng suất đầy đủ, vì vậy đây là một yếu tố quan trọng trong lựa chọn ngôn ngữ / nền tảng.

  • Java là mã nguồn mở - sẽ không đi sâu vào lý do tại sao đây là một điều tốt ở đây, nhưng đủ để nói rằng cả a) việc triển khai Java cốt lõi trong OpenJDK và b) hầu hết các thư viện và công cụ Java thú vị đều là nguồn mở.

  • Java không chỉ là một ngôn ngữ, nó là một nền tảng : có nhiều ngôn ngữ đầy hứa hẹn trên JVM như ClojureScala đại diện cho tương lai của nền tảng trên mặt trận ngôn ngữ. Dự đoán của tôi sẽ là ngôn ngữ Java tiếp tục nhận được các cải tiến nhỏ cho các tính năng (JDK 7, 8, v.v.) trong khi các ngôn ngữ JVM mới này là nơi cải tiến tiên tiến sẽ xảy ra. Nhưng nó là một phần của nền tảng Java.

Thứ hai, Java sẽ được thay thế như thế nào? Hãy xem xét các ứng cử viên thay thế:

  • C / C ++ - sẽ tiếp tục quan trọng về mặt lập trình hệ thống và cho các yêu cầu mã gốc được tối ưu hóa cao như chơi game. Nhưng đó sẽ tiếp tục là một phân khúc chuyên biệt và sẽ không bao giờ vượt qua Java, phù hợp hơn cho phát triển ứng dụng cho mục đích chung.
  • Microsoft.NET - C # là một ngôn ngữ tốt chắc chắn (về bản chất được cải tiến / đánh bóng của Java, về bản chất), nhưng toàn bộ nền tảng .NET đại diện cho nhà cung cấp khóa vào ngăn xếp phần mềm của Microsoft. Một số lượng lớn người sẽ không bao giờ áp dụng chiến lược dành riêng cho nhà cung cấp đã bị đốt cháy bởi điều này trong quá khứ. Mono, mặc dù là một dự án nguồn mở tốt đẹp, sẽ không bao giờ tương thích hoàn toàn vì vậy hầu hết các doanh nghiệp sẽ không đặt cược vào điều này như một tùy chọn. .NET / C # sẽ tiếp tục rất quan trọng trong không gian cửa sổ, nhưng sẽ không thể thay thế Java tổng thể.
  • Mục tiêu-C - chắc chắn sẽ tiếp tục chiếm một vị trí quan trọng trong phát triển dành riêng cho Apple, nhưng có lẽ sẽ không có nhiều lực kéo ngoài không gian đó. Ngoài ra, Java có một câu chuyện ngược rất hấp dẫn trong không gian di động nhờ Android
  • Python, Ruby - ngôn ngữ tốt một lần nữa, rất hiệu quả trong các hốc của họ. Nhưng không nơi nào gần JVM về hiệu năng, sự chấp nhận của ngành hoặc phạm vi thư viện. Chắc chắn sẽ tiếp tục thành công, nhưng họ không định hình thành kẻ giết người Java.
  • JavaScript - sẽ tiếp tục có một vai trò quan trọng trong phát triển web phía máy khách. Nhưng không có sức mạnh thực sự bên ngoài không gian đó có khả năng đe dọa Java bất cứ lúc nào sớm.
  • Haskell, OCaml (và nhiều ngôn ngữ học thuật / FP khác) - những ngôn ngữ tuyệt vời, nhưng không có nơi nào gần thư viện hỗ trợ mà Java có, vì vậy không đặc biệt thiết thực cho việc sử dụng trong thế giới thực. Ngoài ra, không cung cấp các lợi thế hấp dẫn so với các ngôn ngữ JVM như Clojure hoặc Scala ( có thể sử dụng các thư viện Java một cách dễ dàng)
  • Clojure hoặc Scala - thực sự hấp dẫn trong trung hạn / dài hạn. Có thể thực sự thay thế Java sau 10 - 15 năm, nhưng cả hai thực sự được coi là một phần của nền tảng Java vì chúng là ngôn ngữ JVM. Vì vậy, đầu tư Java sẽ an toàn.
  • Bí ẩn chưa biết ngôn ngữ mới? - có thể xảy ra, nhưng lịch sử đã chỉ ra rằng dù ngôn ngữ có hấp dẫn đến đâu, phải mất một thời gian dài để lực kéo phát triển, các nhà phát triển học các kỹ năng mới, đầu tư đáng kể của các công ty để xảy ra, v.v.

Cuối cùng, một số kết luận / dự đoán:

  • Các vị trí tương đối tổng thể (về thị phần) của các ngôn ngữ chính sẽ phát triển một chút trong vài năm tới nhưng sẽ không thay đổi nhiều. Java sẽ giữ vị trí số 1.

  • Bạn sẽ không sai khi chọn nền tảng Java trong vòng 10-15 năm tới. Đừng lo lắng về việc Java sẽ sớm biến mất.

  • Trong tương lai gần, ngôn ngữ Java là một đặt cược an toàn, đáng tin cậy. Về lâu dài, hoặc nếu bạn cảm thấy cần phải vượt trội hơn trong thiết kế ngôn ngữ / đổi mới, tôi khuyên bạn nên dùng Clojure hoặc Scala làm ngôn ngữ JVM mới

  • Mọi người sẽ tiếp tục truyền bá FUD về Java. Chỉ cần bỏ qua nó.


2
Bài đăng tuyệt vời, những người đang sử dụng các ngôn ngữ như Ruby và Python nghĩ rằng ngôn ngữ của họ là thứ tốt nhất từ ​​trước đến nay nhưng thực tế là đối với các ứng dụng chuyên sâu quy mô lớn, một ngôn ngữ động sẽ không cắt giảm
chương trình

4
Đây không phải là phản hồi sớm nhất nhưng cho đến nay là chi tiết và thuyết phục nhất vào giữa năm 2011, và do đó xứng đáng là câu trả lời hàng đầu. +1
hạn

@ programmx10: Có nhiều chi phí trong các ngôn ngữ động hơn so với các khung công tác Java như Spring không?
kevin cline

@Kevin: Spring thường chỉ được sử dụng cho cấu hình ứng dụng, vì vậy chi phí không quá tệ. OTOH, nếu nó cũng được sử dụng cho tính toán thực tế và phục vụ IO, thì nó sẽ ở tốc độ của các ngôn ngữ động. Điều quan trọng là các ứng dụng dựa trên Spring thực sự được viết kịch bản một phần - đây thực sự là một nơi tuyệt vời - nhưng chúng tôi không nói với các ông chủ rằng họ muốn tin rằng mọi thứ phải được biên soạn.
Donal Fellows

1
Bài đăng tốt. Nơi nào bạn nhìn thấy Go và có thể là phi tiêu trong phổ này?
Paul Tomblin

17

Ngay cả trong trường hợp xấu nhất (tốt nhất?), Tôi không thể tưởng tượng Java trở nên không liên quan trong vòng 5 năm. Java đã được sử dụng đủ để nó gần như trong tình huống tương tự như COBOL, Fortran, v.v. - ngay cả khi mọi người có mã hiện tại quyết định viết lại tất cả các hệ thống hiện có bằng ngôn ngữ khác một cách nhanh chóng hợp lý, sẽ mất hơn 5 năm để thay thế tất cả (và 5 năm nữa, vẫn còn đủ để sử dụng tích cực rằng một lượng bảo trì hợp lý vẫn sẽ xảy ra).

Trên thực tế, điều đó khó có thể xảy ra - trong khi chắc chắn có những ý kiến ​​khác nhau của Oracle, tôi không thể tưởng tượng họ làm bất cứ điều gì rõ ràng khủng khiếp đến mức tất cả những người chơi lớn đầu tư lớn vào Java sẽ bỏ nó rất nhanh. Thành thật mà nói, có lẽ sẽ mất gần 5 năm để đưa ra những quyết định rõ ràng tồi tệ trước khi IBM (ví dụ) thậm chí sẽ cân nhắc việc sử dụng một cái gì đó khác ở vị trí của Java. Họ có một khoản đầu tư đủ lớn vào Java mà họ khó có thể bỏ nó cho đến khi hoặc trừ khi họ tin rằng họ hầu như không có sự thay thế nào.


+1 cho kết nối với COBOL. Một số người nói rằng do Java đóng vai trò là COBOL hiện đại, nên nó phù hợp với Oracle để có nó.
Macneil

17

Tôi sẽ nói rằng đó là một sự suy giảm. Nó không biến mất, nhưng nó đã qua đỉnh điểm.


13
Nguồn? (15 ký tự)
TheLQ

13
@Kop - "đây là một trang web stackexchange cho ý kiến ​​chủ quan" . Đó là để đánh lạc hướng mục đích của trang web này. Ý kiến ​​chủ quan là OK, nhưng sự thật khách quan rõ ràng có giá trị hơn. Và nó là hợp pháp để thách thức bất kỳ tuyên bố chủ quan để gợi ra bằng chứng hỗ trợ khách quan có thể.
Stephen C

12
@Lorenzo Trong thập kỷ qua, Java đã trở thành xu hướng chủ đạo và có lẽ là ngôn ngữ lập trình được sử dụng rộng rãi nhất trong ngành công nghiệp và giáo dục. Tôi đồng ý với Fishtoaster rằng hiện tại nó đang bị suy giảm, phần lớn là do thiếu định hướng và tiến bộ trên Java 7 và sự từ chối của các lập trình viên về các giải pháp JavaEE hạng nặng có lợi cho các lựa chọn thay thế nhẹ hơn trong các ngôn ngữ khác.
Dan Dyer

17
Tôi không biết liệu tôi có đồng ý với câu trả lời ngắn gọn này không, nhưng 15 người ủng hộ chỉ chứng minh rằng tôi phải ngừng đi chơi ở sở thú này. Câu trả lời này không có lý do và trích dẫn không có gì. Đó là những gì "nguồn?" có lẽ có nghĩa Tôi không bận tâm về ý kiến, nhưng "Java đã chết!" hoặc "Java còn sống và tốt!" là cả hai hoàn toàn không thể đối với tôi. +0.
Dan Rosenstark

5
-1: không có sự kiện hoặc tranh luận trong câu trả lời này. chủ quan! = xác nhận ngẫu nhiên không được hỗ trợ
mikera

17

Hai câu trả lời:

1) Android

2) Blackberry

Nghiêm túc mà nói, trên máy tính để bàn, nó có thể bị suy giảm, nhưng nó cung cấp năng lượng cho hai đối thủ cạnh tranh với iPhone.

Ngoài ra, năm ngoái, tôi đã giúp một nhóm người làm bài tập về nhà Java cho trường học. Quan điểm, java vẫn được dạy trong các trường cao đẳng.

Biên tập:

Kể từ tháng 10 năm 2011, BlackBerry dường như đang suy giảm. Android vẫn đang phát triển mạnh mẽ.


Một quả dâu tây? Họ vẫn đi chứ? Họ là những năm 2000, Palm là những năm 90 ... :)
adolf tỏi

@adolf tỏi - Vì vậy, những gì, họ chưa được bán cho HP;) Đó là lý do tại sao có hai câu trả lời. Android là của những năm 2010, iPhone là những năm 90. Android chưa đến giai đoạn mờ dần.
Moshe

8
Nó không bao giờ có liên quan trên máy tính để bàn. Phần lớn và phát triển Java là trên thị trường OLTP back-end.
luis.espinal

@ Luis.espinal - Tôi đã nhóm các máy chủ, máy tính để bàn trong một nhóm, di động trong nhóm khác.
Moshe


14

Nó đã mất tầm quan trọng trong thị trường di động, nhưng với Android, nó đã lấy lại được nó.


1
Hiệu ứng Android có thể tồn tại trong thời gian ngắn nếu sl4a được hoàn thành. Mục tiêu cuối cùng của sl4a là cho phép mọi người viết ứng dụng cho Android bằng bất kỳ ngôn ngữ lập trình nào. Ngoài ra, các bộ công cụ đa nền tảng như Appcellerator khiến cho ít nhất một phần không cần thiết để học Java để phát triển Android.
Chinmay Kanchi

3
Sẽ mất một thời gian dài để sl4a cất cánh cho sự phát triển chung do những lo ngại về hiệu suất. Tôi vẫn chưa được bán trên bộ công cụ đa nền tảng cho các ứng dụng chất lượng cao. Đối với một cái gì đó tài nguyên nhanh / hạn chế, chắc chắn
Casebash

những gì hiệu suất quan tâm? Phiên bản Python là CPython bản địa với tất cả các API được gọi thông qua cầu nối Dalvik (IIRC). Vì vậy, nó gần như là biểu diễn như mã Dalvik "bản địa", trong trường hợp không có JIT. Android 2.2 không có JIT, nhưng tại thời điểm đó, không có lý do gì để không sử dụng Jython nữa, vì nó sẽ nhanh hơn CPython và không quá chậm so với Java.
Chinmay Kanchi

+1 để truyền cảm hứng cho bình luận của @Chinmay Kanchi. Không biết sl4a là gì thú vị.
Dan Rosenstark

13

Java sẽ có liên quan trong tương lai gần, ngay cả khi bạn xác định có liên quan chỉ bao gồm mã mới, không phải chế độ bảo trì kế thừa. Vâng, ngôn ngữ hút và đối xử với các lập trình viên của nó như những đứa trẻ nghịch ngợm thay vì đồng ý với người lớn và đã không có sự thay đổi kể từ thời kỳ đồ đá. Mặt khác:

  1. Java có một số thư viện tuyệt vời.

  2. JVM là một nền tảng tuyệt vời.

  3. Bạn không phải lập trình bằng Java để sử dụng các thư viện này, vì giờ đây đã có sự phát triển của các ngôn ngữ JVM.

IMHO cách mọi thứ sẽ phát triển là Java trong thế giới JVM sẽ trở thành những gì C có trong thế giới được biên dịch nguyên bản. Mọi người sẽ sử dụng Scala, Jython, Groovy, v.v. để mã hóa hàng ngày, nhưng sẽ tiếp tục gọi mã Java cũ, tồi tệ từ các ngôn ngữ này mãi mãi. Một số mã quan trọng về hiệu năng vẫn có thể được viết bằng Java, vì đó có thể là ngôn ngữ JVM cấp thấp nhất, hiệu quả nhất. Thư viện cũ sẽ cần thêm các tính năng mới. Do đó, Java sẽ vẫn có liên quan cao ngay cả khi nó không được lập trình viên trung bình sử dụng hàng ngày.


làm cho tôi cảm thấy cũ, khi bạn nói java sẽ trở thành một ngôn ngữ bản địa. thở dài
Dheeraj Bhaskar

7

Tôi nghĩ vậy. Tôi dự đoán rằng mức độ phổ biến của nó sẽ tăng lên trong vài năm tới, với những cải tiến gần đây trong trình cắm thêm và các cải tiến cú pháp trong Java 7. Và nó có lợi thế về một loạt các thư viện nguồn mở tốt (so với .NET) có thể dễ dàng giữ cho nó tồn tại thêm 10 năm nữa.


4
Java 7 đã từ chối nhiều ý tưởng hay nhất
Casebash

1
@Casebash: Đó là những ai?
Chris

5

Hiện tại Qt đang giết Java trong Ứng dụng máy tính để bàn. Có rất nhiều cách viết lại từ Java sang Qt. Hiện tại tôi đang làm việc trên một trong số chúng. Kể từ ngày tôi bắt đầu lập trình carrer, luôn có tin đồn rằng Cái gì đó sẽ giết C ++. Ví dụ Visual basic, Java, C #, nhưng trong thực tế C ++ vẫn đang diễn ra. Nó có nhiều nhược điểm nhưng nó vẫn đang đi. Tất cả các đối thủ cạnh tranh khác đã có cái chết buồn .........


4

Tôi không nghĩ rằng nó sẽ mất liên quan. Java 7 sắp ra mắt với rất nhiều tính năng gọn gàng sẽ giúp các nhà phát triển tạo ra phần mềm tuyệt vời dễ dàng hơn.

Ngoài ra Java được sử dụng để tạo các ứng dụng Blackberry; một trong những điện thoại di động hàng đầu của công ty. Thật an toàn khi nói rằng nó sẽ không đi đâu cả.


Và tăng sức mạnh cho Android, một chiếc điện thoại di động đạt được động lực và sự phổ biến ở khắp mọi nơi
TheLQ

Tôi đã đến Java One năm nay. Một số điều thú vị sắp tới: hỗ trợ tự động sử dụng nhiều lõi, tự động giảm tải cho GPU và tự động giảm tải cho đơn vị vectơ của CPU sẽ biến Java thành một nền tảng rất hiệu quả. Và tất cả các lập trình viên Java viết java thành ngữ "mới" sẽ nhận được nó miễn phí. Có một số kẻ thông minh đáng sợ đã được Oracle cho một số tiền để làm cho Java tốt hơn. Dự án Lambda sẽ cung cấp các bao đóng và thực hiện theo cách hoạt động VÀ hoàn toàn tương thích ngược mà không có bất kỳ đau đớn nào. Đá chuyển đổi SAM. Những điều tốt đẹp đang đến.
Tim Williscroft

4

Tôi chính là nhà phát triển .NET, mặc dù tôi làm việc với các ngôn ngữ khác (bao gồm Java) khi cần để nhận nhiệm vụ. Như vậy, dựa trên kinh nghiệm của bản thân tôi khi làm việc với ngôn ngữ, tôi không nghĩ rằng nó sẽ biến mất bất cứ lúc nào sớm, đây là lý do:

  1. Cơ sở cài đặt hiện tại - Có đủ các chương trình sẽ cần hỗ trợ dài hạn rằng có lý do để các nhà phát triển mới học ngôn ngữ này.
  2. Sử dụng trong môi trường học thuật - Hầu hết các trường đại học và cao đẳng đang sử dụng như một trong những ngôn ngữ giới thiệu của họ để dạy OOP và các khái niệm cơ bản khác, điều này có nghĩa là sẽ tiếp tục có những nhà phát triển mới tốt nghiệp và gia nhập lực lượng lao động sẽ quen với ngôn ngữ này khi họ quen thuộc với ngôn ngữ này. bắt đầu.
  3. Đó là Bản chất đa nền tảng - Một điều hiển nhiên, nhưng thực tế rằng nó là đa nền tảng là một vấn đề lớn, thậm chí còn hơn cả khi điện thoại thông minh hỗ trợ Java cho các thiết bị mới. Triển vọng chỉ phải duy trì một cơ sở mã, nhưng có thể triển khai (tức là bán) ứng dụng cho nhiều nền tảng sẽ là một vấn đề nhỏ. Bạn có thể tưởng tượng nếu cả iOS và Droid đều hỗ trợ các ứng dụng được viết bằng Java không?
  4. Không có đối thủ cạnh tranh mạnh - Tại thời điểm này tôi không thể đặt tên cho một ngôn ngữ mà tôi coi là đối thủ cạnh tranh mạnh với Java. Chắc chắn C # đang bắt đầu xuất hiện trên nhiều nền tảng hơn nhờ Mono, nhưng điều đó không hoàn toàn giống với việc có cùng nền tảng mà Java có. Cấp cho có một số ngôn ngữ làm những gì Java làm (và một số trường hợp tốt hơn) chúng có xu hướng phù hợp với những gì chúng đang làm và đối với một số dự án lớn, sẽ không có ý nghĩa gì để duy trì ngôn ngữ nếu bạn có thể chấp nhận bất kỳ cú đánh hiệu năng nào mà Java có thể có.

4

Java ngôn ngữ có thể suy giảm chậm, nhưng nền tảng Java (JVM + JDK) chắc chắn đã bùng nổ trong vài năm qua (Scala, Clojure và nhiều ngôn ngữ khác; khung Android). Đây dễ dàng là nền tảng đa ngôn ngữ, đa hệ thống, đa ngôn ngữ, đa ngôn ngữ tốt nhất hiện có, mở rộng từ các thiết bị di động nhúng sang doanh nghiệp máy tính lớn và hiện tại không có đối thủ nào có thể so sánh được với AFAIK. Vì vậy, tôi mong đợi nền tảng Java sẽ có liên quan trong 5 năm và thậm chí là 15 năm nữa. Điều đó cũng làm cho Java trở thành ngôn ngữ có liên quan trong dài hạn, ngay cả khi mức độ phổ biến của nó có thể vượt quá đỉnh.


4

Ngôn ngữ tỷ lệ TIOBE sử dụng ... http://www.tiobe.com/index.php/content/apersinfo/tpci/index.html

Dựa trên số liệu thống kê của họ, Java dẫn đầu và có thể sẽ làm điều đó trong một thời gian dài sắp tới - # 1 kể từ năm 2005. Tôi đã sử dụng Java trong sự nghiệp của mình và ở mọi nơi tôi từng làm việc có các ứng dụng / nhà phát triển Java - ngay cả ở những nơi tự coi là Cửa hàng Microsoft Dev. Java chỉ là một ngôn ngữ dễ nhận biết khi bạn phải phát triển các giải pháp trên máy chủ Mac hoặc Linux.

Ngoài ra, ole C / C ++ tốt vẫn đang giữ vững vị trí số 2 và # 3 - trong khi C # - ngôn ngữ mà mọi người cho rằng nó là phổ biến nhất (MS marketing ở mức tốt nhất) - thậm chí không gần gũi! Bây giờ tôi sử dụng C #, nhưng sẽ mất nhiều năm để bằng với số lượng mã tôi đã viết bằng Java và Delphi.

Vì vậy, đừng ngại học hoặc sử dụng Java - luôn có các công việc được đăng cho họ. Vì vậy, có Java sẽ rất phù hợp trong một thời gian dài tới.


Tỷ lệ Tiobe ... số lượng người trên internet nói về một ngôn ngữ theo cách mà tiobe tìm kiếm. blog.timbunce.org / 2008/04/12
Sean McMillan

3

Đây là một trong những tên tuổi lớn nhất trong lập trình Doanh nghiệp (J2EE). Tôi khá chắc chắn rằng chúng ta sẽ không thấy nó đi xuống trong vài năm tới.


3

Không chắc chắn về JAVA. Nhưng chắc chắn JVM sẽ vẫn có liên quan hỗ trợ nhiều ngôn ngữ khác.


3

Nó phụ thuộc vào cách ngôn ngữ sẽ phát triển.

Hiện tại, Java không hấp dẫn như ngôn ngữ. Nó được sinh ra để hỗ trợ một (và chỉ một) mô hình: OOP. Nó đặt chính nó ở đâu đó giữa các ngôn ngữ cho phép trừu tượng hóa ở mức cao hơn (như C ++ và các tính năng siêu lập trình của nó) và các ngôn ngữ kịch bản có khả năng phản chiếu (như các lệnh "exec" và "dir" của Python) nhưng không hiểu sao nó không tìm thấy vị trí thực của nó. Về cơ bản, nó trở nên lỗi thời như "ngôn ngữ". Thực tế nó không phải là một tiêu chuẩn thực tế trên thiết bị di động. Tôi nghĩ rằng nó sẽ chết ngay bây giờ.

Về thực tế, đây là ngôn ngữ giảng dạy tốt cho OOP Tôi nghi ngờ về những gì tôi có thể thấy: tất cả các lập trình viên sinh ra ở Java chỉ sinh ra các mẫu Trình khách và Người quan sát ở khắp mọi nơi nhưng tôi không có kinh nghiệm tuyệt vời với các lập trình viên Java.

Vẫn còn rất nhiều mã kế thừa và trên thiết bị di động, đó là một tiêu chuẩn. Điều đó nói rằng tôi sẽ không bao giờ chọn Java cho máy tính để bàn hoặc ứng dụng web. Không có lý do gì để tách rời các doanh nghiệp (hầu hết các nhà quản lý đều gật đầu nếu bạn nói "Java" và đó là, tôi cho rằng, lý do đó là một tiêu chuẩn trên thiết bị di động).


Có ai còn nhớ khi ai đó từ SUN nói "Java không cần" enums không? C # / VB.NET có enums và sau đó được thêm vào Java
umlcat

1
nó được sử dụng rộng rãi cho các ứng dụng quy mô lớn, chắc chắn các "lập trình viên", "người viết kịch bản" và "ninja ROR" không thích nó nhưng đó là ngôn ngữ lập trình thực sự và được sử dụng để xây dựng các ứng dụng không chỉ là CRUD các ứng dụng làm, nếu bạn có nhiều thứ chuyên sâu đang diễn ra ở phía máy chủ của ứng dụng thì Java thường là lựa chọn hấp dẫn nhất trước khi bạn phải sử dụng C ++ hoặc ngôn ngữ cấp thấp khác
chương trình

3

IMHO, Java sẽ vẫn rất phù hợp và phát triển được sử dụng, mặc dù nó không thực sự phát triển trong các cấu trúc hoặc quyền hạn của nó.

Đây là lý do của tôi: - Có rất nhiều mã ngoài kia, và bảo trì đòi hỏi nhiều người hơn là viết mã mới.

  • Trại "ngôn ngữ VM quá chậm" đang dần mất đi (đặc biệt là khi Java đã thành công trong giao dịch thuật toán).

  • Các công ty lớn vẫn sử dụng nó trên tất cả các lĩnh vực, bao gồm cả Oracle.

  • Nền tảng Android đang phát triển nhanh hơn iOS, không có đối thủ cạnh tranh nào khác, và điều đó mang lại nhiều người hơn cho ngôn ngữ.

  • Nó đơn giản hơn cho mọi người sử dụng hơn ngôn ngữ chức năng. Thật dễ dàng cho những người theo chủ nghĩa thuần túy ngôn ngữ và học giả đánh giá cao ngôn ngữ chức năng và khả năng của họ, nhưng hầu hết những người mới không có bằng CS không hoàn toàn đánh giá cao sức mạnh của Lambda. Vì vậy, tôi không nghĩ rằng những ngôn ngữ này sẽ cất cánh.

  • Nó hoàn toàn miễn phí (không giống như .NET vẫn gần với hệ sinh thái windows hơn mặc dù có các lựa chọn thay thế).


2

Java sẽ không hoàn toàn mất đi sự liên quan của nó trong nhiều năm nữa, nhưng nó chắc chắn đang suy giảm. Nếu những phát triển gần đây sẽ ảnh hưởng đến điều đó hoặc nếu Oracle có thể thay đổi vẫn còn được nhìn thấy. Nhưng tôi nghĩ rằng một ngày nào đó tôi có thể giống như COBOL, không có dự án mới, nhưng cũng không bao giờ hoàn toàn chết.


2

COBOL, Fortran và C vẫn có liên quan. Cơ hội nào mà Java sẽ biến mất sau năm năm nữa? Có thể hiểu rằng sẽ không có nhiều sự phát triển Java mới trong năm năm nữa, nhưng tôi cũng cá cược với điều đó, vì có rất nhiều người sử dụng Java và các cửa hàng khá chậm để chuyển đổi ngôn ngữ ưa thích của họ.


1

Tôi nghi ngờ tất cả các ngôn ngữ cuối cùng đều trải qua giai đoạn mà các học giả sẽ nói "[Ngôn ngữ] là COBOL của [thập kỷ chèn vào đây]".

Java đã trở thành một công cụ tiêu chuẩn, độc quyền hoặc là một trong những công cụ chính, trong một số lĩnh vực phát triển phần mềm. VM của nó là phổ biến như một nền tảng để xây dựng các ngôn ngữ mới. Nó sẽ tồn tại quá lâu chỉ từ quán tính lớn của nó ngay cả khi các ngôn ngữ mới tốt hơn trở nên phổ biến.


Nhưng, Java đã trở thành COBOL, máy tính lớn, máy chủ nói
umlcat

1

Đã có một số xu hướng trong thế giới Java - đặc biệt là việc áp dụng hoàn toàn xuất sắc của JRuby và Rails hoặc Groovy và Grails - cho thấy Java vẫn còn rất nhiều sự sống trong đó. Sau đó, có tình huống Android, cũng có lợi cho Java. Như Snow Leopard trên Mac gần đây, xác nhận các thay đổi - hiện đang hỗ trợ Midi không có trình điều khiển bên ngoài - làm cho nó cũng có khả năng đạt được trên các máy tính để bàn. Và các ứng dụng Swing cuối cùng trông giống 99% (hoặc ít nhất là có rất nhiều loại hạt tin rằng điều này bây giờ: 10 năm trước không có).

Java đã có một khoảnh khắc tuyệt vời vào những năm 90 trong đó dường như đó là giải pháp cho mọi thứ. Bây giờ rõ ràng rằng không có gì là giải pháp cho tất cả mọi thứ. .Net đang đá đít, và Ruby, và Python và PHP (với các giải pháp CMS ngớ ngẩn và toàn bộ khuôn khổ mà mọi người kết hôn cả đời!) Và Java (với Groovy JRuby JPython bất cứ điều gì), và nhiều hơn thế nữa. Câu trả lời là:

Mong đợi một vũ trụ đa nguyên

Java sẽ tiếp tục đóng một vai trò quan trọng trong Vũ trụ này? Nếu bạn có nghĩa là "ngôn ngữ chạy trên JVM" thì câu trả lời là chắc chắn nhất. Nếu câu trả lời chỉ là Java (ngôn ngữ, JVM, v.v.), thì câu trả lời là "có thể không quá quan trọng". Nhưng thôi nào, ngay cả Cobol vẫn đang treo lơ lửng.


1

Tôi nghĩ rằng học thuật vẫn cần giá trị của nguồn mở trong JAVA. Có rất nhiều thư viện mạnh mẽ (tập trung vào mục đích học thuật) được phát triển trên JAVA.

Tôi đồng ý rằng JAVA sẽ vẫn có liên quan, nhưng đối với phân khúc nhỏ hơn.


1

Google viết rất nhiều bằng Java và Google là công ty lớn nhất trên web. Tôi nghĩ rằng web là tương lai - ứng dụng web, điện toán đám mây - và vì vậy tôi nghĩ Java vẫn có liên quan trong tương lai.

Và có Android, đó là tương lai của điện thoại thông minh theo ý kiến ​​của tôi. Và một số người nói rằng điện thoại thông minh là tương lai của máy tính - đó không phải là ý kiến ​​của tôi :) - nhưng cũng sẽ mang lại cho Java một tương lai lớn. Vì vậy, đi Java: D


Tôi sẽ thứ hai rằng Google đang đẩy rất nhiều công cụ và thư viện nội bộ của mình (ví dụ: GWT, Guava, v.v.) cho cộng đồng, do đó, nó có tác động bên ngoài vượt ra ngoài số lượng kỹ sư X sử dụng nó.
Uri

0

Nếu nó bị ràng buộc với một số ngành công nghiệp (ví dụ như ngân hàng, nền tảng di động, v.v.) thì giống như hỏi "Liệu Internet Explorer có còn liên quan trong 5 năm không .." 5 năm trước. Ngày nay có nhiều công ty có các trang web nội bộ dành riêng cho IE không thể viết lại từ đầu. Vì vậy, nó không "có liên quan" nhưng "không thể tránh khỏi".

Để đi đến câu hỏi của bạn-- không, nó không liên quan như một động lực cho sự đổi mới; nhưng vâng, nó có liên quan vì nhiều ngành công nghiệp sẽ yêu cầu các ứng dụng java được duy trì trong nhiều năm tới.


0

Đây là một bài viết từ ReadWrite Entryprise về sự suy giảm của Java:

http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php

Những gì chúng ta đang chứng kiến ​​không phải là cái chết của Java, mà là sự biến đổi của nó. Nó chuyển từ việc chỉ là một nền tảng sử dụng chung đã thống trị doanh nghiệp thành lợi thế của nhiều công nghệ khác nhau cho các ứng dụng đặc biệt khác nhau.

Nó cũng giải quyết cách các công cụ cụ thể đang cung cấp các lựa chọn thay thế cho công nghệ Java, nhưng không nhất thiết phải thay thế nó:

Mặc dù cơ sở dữ liệu NoQuery cung cấp một giải pháp thay thế cho cơ sở dữ liệu quan hệ, nhưng điều đó không có nghĩa là cơ sở dữ liệu quan hệ sẽ biến mất. Tương tự, Node.js cung cấp một giải pháp thay thế chuyên biệt cho Apache, nhưng sẽ không giết được Apache.


Một bài viết từ cùng một trang về xu hướng công việc cho thấy Java vẫn có nhiều danh sách công việc hơn bất kỳ ngôn ngữ nào khác: readwriteweb.com/enterprise/2011/05/ trên
Britt Wescott
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.