Java có thể không còn được thân thiện như trước nữa

Mình đã đọc những thay đổi gần đây của Oracle. Từ giờ cứ 6 tháng sẽ có một bản JDK mới được lên sàn (so với 1,2 năm như lúc trước nếu mình nhớ không nhầm) và bắt đầu từ Java 8, cứ 3 bản cập nhập thì sẽ có 1 bản JDK LTS, có nghĩa là bản JDK đặc biệt được hỗ trợ nâng cấp dài hạn của Oracle bao gồm những nâng cấp và bug fix. Tuy nhiên, để có thể được hỗ trợ thì sẽ cần phải trả phí. Điều đó mở ra 3 lựa chọn cho những người lập trình Java:

  1. Chấp nhận sử dụng những bản không còn được hỗ trợ bởi Oracle => Sống chung với bug
  2. Cứ 6 tháng cập nhật 1 lần
  3. Trả tiền :slight_smile:

Theo mình, những điều này ít nhiều sẽ gây phiền toái cho những lập trình viên, đặc biệt là những người mới học lập trình. Vì việc cập nhật như vậy khiến các tutorial có thể không còn chính xác so với hiện tại => gặp bug => nản => bỏ. Đối với những developer, trước khi bắt tay vào tạo ra sản phẩm của mình cũng cần phải cân nhắc phiên bản JDK cần sử dụng.

Theo ý kiến cá nhân, Oracle dường như đang biến Java trở thành một ngôn ngữ lập trình với mục đích thương mại. Thay đổi này phần lớn nhắm vào những công ty đang sử dụng Java trong sản phẩm của họ. Khi việc liên tục di chuyển sản phẩm của họ tới JDK mới với khoảng thời gian như vậy là rất khó.

Còn mình, do không siêng với việc cập nhật liên tục như vậy cũng như không có tiền. Mình quyết định sống chung với bug. Dù sao mình cũng chỉ dùng trong mục đích cá nhân là chính.

Không biết mọi người có suy nghĩ gì về việc này. Đồng thời, ngoài Oracle ra, cũng có OpenJDK cung cấp và update JDK miễn phí và dài hạn nữa. Có ai dùng JDK từ OpenJDK không nhỉ? Tại sao?

Nguồn tham khảo: https://dev.karakun.com/java/2018/06/25/java-releases.html

5 Likes

Cuối cùng thì mình không rõ chủ topic đang nêu quan điểm gì, muốn truyền tải cái gì tới ai?

Mình quan niệm lập trình viên chẳng khác nào tài xế lái xe, họ có kỹ năng lái xe thì việc các hãng sản xuất xe tung ra các xe có dính lỗi này nọ không phải là vấn đề quan tâm cao của họ, mà họ quan tâm là họ lái càng ngày càng tốt hơn, đầu quân cho công ty vận chuyển ngon hơn hoặc tự mở dịch vụ để chở khách kiếm tiền.

Còn việc hãng sản xuất xe nhãn hiệu Oracle phát hành xe dính bug mà tài xế lái xe công nghệ Java (tạm hình dung là chuyên lái xe số sàn) muốn bỏ việc hoặc nản lòng thì thấy rằng anh tài xế này là một gã tào lao.

3 Likes

Lo gì, nếu Oracle JDK phải đòi $ thì ta còn OpenJDK hay các bản JDK khác của bên thứ 3 như Azul Zulu JDK, Adopt OpenJDK,…
Còn về sự thay đổi trong cách làm của Oracle theo hướng module hoá từ JDK 9 thì Java dev hiện tại vẫn chưa thích nghi kịp, vẫn cần có thời gian, giống như sách dạy lập trình Java cho đến hiện giờ đều chưa update các feature mới của Java 8 như Stream API, Functional Interface,…

1 Like

Chúng ta cùng chuyển sang C# .NET nào :))

1 Like

Chuyển sang Rust hết nhé :laughing:
Chờ Java có tuple, và vẫn chờ :unamused:

Topic này chỉ đơn giản là cập nhật những thay đổi về chiến lược gần đây của Oracle. Thứ mà Oracle dự định sẽ làm trong tương lai.

Xem những người lập trình viên như những người lái xe cũng là một phép so sánh hay và đúng, kĩ năng của tài xế mới là quan trọng. Nhưng topic chỉ muốn mang lại cho những người lái xe hãng Oracle rằng: Hãng của các bạn sắp ngừng cung cấp bảo trì cho chiếc xe của bạn. Vậy bây giờ bạn nên làm gì?

3 Likes

Thực ra chỉ là sống chung với công nghệ lỗi thời thôi, không hẳn là bug
Production vẫn xài JDK 8u125 rất ổn định, chả có bug nào ở phía Java API hay JVM cả

3 Likes

Mình nhớ .Net khi mang sản phẩm ra thị trường cũng tính phí mà đúng không nhỉ. Mình hỏi thêm thôi.

1 Like

Mà việc update của Oracle chỉ khiến các công ty, cá nhân làm framework, lib phải đi chỉnh sửa lại code cho phù hợp với Java mới
Phiền toái khá nhiều. Nên đến giờ làm việc trên Java thì JDK 8 là nhiều người sử dụng nhất, kể cả production
Chả thấy dự án nào ở công ty mình dùng JDK > 8 cả

2 Likes

Chết, xài từ tầm bậy rồi. Security bug mới đúng. Những lỗ hổng bảo mật trong tương lai sẽ không được Oracle vá nữa.

1 Like

Java 8 chắc chắn sẽ ở giai đoạn của Java 7, một số sản phẩm dùng JDK 7 phải trả tiền cho Oracle để được support fix vulnerability

1 Like

Đúng là vậy. Mà so với các bản khác, bản JDK 8 xài là ok nhất rồi

1 Like

Nhưng nói gì thì nói, JDK 9 là một cuộc cải tổ quá lớn, khiến ai cũng ngao ngán, một phần vì không biết phải dùng hệ thống module trong JDK 9 thế nào, phần khác là bỏ bớt / thêm vào các API mà không có nhiều thay đổi về syntax mới
Còn cách đặt version là tăng một major nhưng tính năng thêm vào không nhiều

2 Likes

Chắc Oracle học mấy bác Việt Nam đây mà, cứ mỗi năm là “cải cách” 1 lần. Chưa kịp hiểu gì về Java 9 thì đã có bản 11 rồi :frowning:

1 Like

C# mã nguồn mở. .NET Framework miễn phí. Doc của .NET cũng miễn phí trên MSDN, và .NET Framework của bạn được vá lỗi cũng miễn phí luôn thông qua Windows Update.
Công ty phát hành sản phẩm .NET chủ yếu tốn tiền Windows, tiền Visual Studio và tiền Azure. Cơ mà bây giờ người ta cũng dùng VS Community nhiều rồi.

Thằng Java thấy java 8 khá ổn định, mỗi tội vẫn còn nhiều deprecated method, nhiều chức năng “hay ho” của các ngôn ngữ bây giờ cũng không có đâm ra code dài, được cái chạy được ngon lành cả trên linux nên công ty vẫn xài.

4 Likes

Theo mình một phần là do trải nghiệm cá nhân. Nếu bạn tiếp xúc với ngôn ngữ đó và thích nó thì bạn có thể tìm hiểu thêm. Quan trọng là đừng học tràn lan. Ngôn ngữ nào cũng thích, cũng biết nhưng không chuyên một cái gì. Theo mình, Java là một ngôn ngữ theo hướng đối tượng, học Java bạn có thể làm giàu thêm về khái niệm này.

Riêng bản thân mình thấy thích Java ở chỗ code syntax rõ ràng, bug log cũng dễ đọc, dễ google :slight_smile:.
Nếu bạn thấy thích Java thì cứ học thôi. Như @superthin đã nói: " Lập trình viên giỏi là ở kỹ năng, chứ không phải ở việc anh ta lái xe hãng nào"
Mình tin là bạn có thể học được nhiều khái niệm lập trình hay ho ở Java.
Good luck

2 Likes

OpenJDK sử dụng giấy phép GPL, nếu bạn muốn làm product thì bắt buộc phải mua bản quyền Oracle JDK hoặc dùng free và chấp nhận 6 tháng cập nhật một lần

3 Likes

GPL chỉ áp dụng với JVM của OpenJDK, sửa JVM thì mới phải nhả source.

GPL cũng không có nghĩa là bắt buộc phải mua JDK, nếu có thể chấp nhận việc copyleft thì vẫn có thể thương mại bình thường.

1 Like

Sài Java cũ thì không được cập nhật có thể dẫn tới việc bảo mật chứ sao có bug gi đây nhỉ?

3 năm thì ra 1 bản LTS, chút góp ý nho nhỏ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?