thảo luận JDK 17: Có gì đón chờ ở Java 17?

Học mấy cái features của 8,9,11 còn chưa rành nói chi 15. Giờ còn ra tới 17 thì bao giờ đụng tới?



Python viết script thì đc hoặc xài thư viện làm AI cũng ok, chứ đụng vào hệ thống hay viết web thôi là í ẹ lắm.
Java giờ nó to vãi rồi lại còn tiến hoá thêm chứ có chịu dừng đâu. Nghe chi mấy script kid nó hú hoạ. Java chết đâu từ hồi mới ra rồi đó.
:doubt: thấy Python cũng mạnh về mảng backend lắm mà. Flask với Django chơi sòng phẳng với spring framework luôn
 
Hơi nhầm nhé my friend. Django bên Python hơi bị mạnh đấy. Nếu chơi Battery-Included. Còn đi mảng Web Service không thì FastAPI. Nói Python nó cùi mảng Web là hơi sai đấy.
Tôi viết django rồi đây, IDE support tận răng mà viết nản vãi luôn. Cơ bản là do Python nó chơi dynamic type, code cứ như là js, với django nó ko support type hint nữa. Django cái gì cũng có sẵn nhưng ko dễ viết. Customize khó chết bà. Tôi qua chơi bên Java spring còn thấy dễ hơn nhiều.
 
Tôi viết django rồi đây, IDE support tận răng mà viết nản vãi luôn. Cơ bản là do Python nó chơi dynamic type, code cứ như là js, với django nó ko support type hint nữa. Django cái gì cũng có sẵn nhưng ko dễ viết. Customize khó chết bà. Tôi qua chơi bên Java spring còn thấy dễ hơn nhiều.
Anh có thể cho tôi 1 use case mà khó custom không? Hỏi thật, không troll.
 
Anh có thể cho tôi 1 use case mà khó custom không? Hỏi thật, không troll.
Trước tôi viết customization cho django admin mà gặp lỗi mò hơn ngày ko ra. Cái django rest framework mới đầu thấy ngon, có mấy use case có sẵn áp vào chạy luôn. Đến lúc bẻ nhỏ ra viết từng cái endpoint riêng rồi config thì rối do mấy cái class based view ko biết nó chạy đâu, chuyển sang function based thì còn rối nữa.
 
Last edited:
Trước tôi viết customize cho django admin mà gặp lỗi mò hơn ngày ko ra. Cái django rest framework mới đầu thấy ngon, có mấy use case có sẵn áp vào chạy luôn. Đến lúc bẻ nhỏ ra viết từng cái endpoint riêng rồi config thì rối do mấy cái class based view ko biết nó chạy đâu, chuyển sang function based thì còn rối nữa.
Cái Admin đấy Search không ra là đúng rồi vì ít người động nó lắm. Nhưng tựu chung không khó đâu, chịu đọc Code của nó là đc (Cả Admin lẫn Admin Template) . Còn kinh quá thì thà tự viết còn nhanh hơn là dùng cái có sẵn.

Function Based View dễ hơn chứ nhỉ, có rối gì đâu :-? CBV cũng thế, tất nhiên là nó sẽ rối nếu anh nhét cái đống Mix-In vào :censored:
 
Cái Admin đấy Search không ra là đúng rồi vì ít người động nó lắm. Nhưng tựu chung không khó đâu, chịu đọc Code của nó là đc (Cả Admin lẫn Admin Template) . Còn kinh quá thì thà tự viết còn nhanh hơn là dùng cái có sẵn.

Function Based View dễ hơn chứ nhỉ, có rối gì đâu :-? CBV cũng thế, tất nhiên là nó sẽ rối nếu anh nhét cái đống Mix-In vào :censored:
Thì thế, tôi dùng IDE hay mò vào source code đọc mà Django nó xài Python ko có type, đọc rối cả mắt. Docs thì nó viết ngắn gọn, trên mạng lại ít tuts hay hướng dẫn.
 
Maybe 2021 is the last year of Java. Python will kick Java's a*s and proclaim itself as a new king of programming language
:doubt: or Golang
câu này nghe quen quen, 15 năm trước cũng hay nghe
yBBewst.png
 
Java 17 ngon nhất là Fiber API và Record API + một số cái linh tinh khác... Cộng thêm GraalVM hoàn thiện nữa thì bá cmn đạo. Long live Java! :doubt:
 
Java 17 ngon nhất là Fiber API và Record API + một số cái linh tinh khác... Cộng thêm GraalVM hoàn thiện nữa thì bá cmn đạo. Long live Java! :doubt:
cái Graal này với project Loom có phải biggest updates mấy năm qua ko thím? và nó lợi ích trước mắt là gì để có thể compete với features của mấy ngôn ngữ mới gần đây ạ
FY7e6U1.png
 
cái Graal này với project Loom có phải biggest updates mấy năm qua ko thím? và nó lợi ích trước mắt là gì để có thể compete với features của mấy ngôn ngữ mới gần đây ạ
FY7e6U1.png
Loom - Fiber là để cạnh tranh với mấy thằng có green thread/lightweight thread/lightweight process như Erlang, Go...
Ưu điểm của đám này là nó không dùng native thread, không được schedule và manage bởi OS mà bởi VM/Runtime cho nên có thể launch cực nhanh và tiết kiệm resource.

Record là để thay thế cho class cho những usecase cần để làm data bag/data container. Trước đây thì phải dùng class để làm, giờ dùng cái này sẽ tiết kiệm resource hơn. Nó tương tự như struct bên C#.

GraalVM là để giải quyết bài toán resource consumption của JVM. JVM nó được thiết kế từ lâu đời nên không phù hợp với môi trường tính toán hiện đại sử dụng container, function, serverless. Các môi trường này cần launch và destroy nhanh.
GraalVM bản chất nó hỗ trợ build AOT, bên trong app sau khi build sẽ có nhúng một thằng lightweight VM kiểu như bên Go VM.
GraalVM định hướng của nó là universal hỗ trợ nhiều ngôn ngữ khác ngoài JVM langs như Python, Ruby, JavaScript. Vd viết code JavaScript có thể chạy thẳng trên JVM và build ra native nếu cần.

Tóm tắt mấy thứ hay dùng vậy thôi chứ thực ra còn nhiều lắm, đây là mấy thứ dev sẽ đụng nhiều :doubt:
 
bao nhiêu năm mới thấy cái update java 7, java 8 thế mà nháy mắt cái giờ nó đã update lên 17 cmnr, oracle đẻ khiếp thế :surrender:
 
Haizz. 5 năm làm java 6 rồi 7. Giờ đi xin việc chỗ khác thấp nhất cũng java 8. Vừa nghe em chưa dùng lamba, stream là lắc đầu quầy quậy :(.
 
Trước tôi viết customization cho django admin mà gặp lỗi mò hơn ngày ko ra. Cái django rest framework mới đầu thấy ngon, có mấy use case có sẵn áp vào chạy luôn. Đến lúc bẻ nhỏ ra viết từng cái endpoint riêng rồi config thì rối do mấy cái class based view ko biết nó chạy đâu, chuyển sang function based thì còn rối nữa.

Admin là cái để xài mì ăn liền trong các trường hợp cần gấp + lười làm + có gì xài đó
Muốn customize thì thay vì render bằng django admin thì render bằng view bình thường + template + crispy form, thì customize kiểu gì cungx được, và NHANH!
 
Java 17 ngon nhất là Fiber API và Record API + một số cái linh tinh khác... Cộng thêm GraalVM hoàn thiện nữa thì bá cmn đạo. Long live Java! :doubt:
Loom thấy nói đến 2022 (Java 19) mới Final mà nhỉ. 17 dùng kiểu experimental thôi.
 
Back
Top