Java đang giãy chết?
Java đang giãy chết? Câu hỏi này tồn tại từ khi Java mới chào đời năm 1996. Bây giờ là 2016, bạn hãy nhìn vào bảng xếp hạng Tiobe: Java vẫn chiếm ngôi vị độc tôn, thậm chí còn tăng 5% sau 2 năm, bỏ xa ngôn ngữ C đang xếp thứ 2. Bên cạnh Tiobe, bảng xếp hạng PYPL – Popularity of ...
Java đang giãy chết?
Câu hỏi này tồn tại từ khi Java mới chào đời năm 1996.
Bây giờ là 2016, bạn hãy nhìn vào bảng xếp hạng Tiobe:
Java vẫn chiếm ngôi vị độc tôn, thậm chí còn tăng 5% sau 2 năm, bỏ xa ngôn ngữ C đang xếp thứ 2.
Bên cạnh Tiobe, bảng xếp hạng PYPL – Popularity of programming Language – thông kê sự phổ biến của các ngôn ngữ dựa vào tân suất tìm kiếm từ khóa liên quan tới ngôn ngữ đó – đã công bố số lượng tìm kiếm liên quan tới Java chiếm tới 23,5%.
Bên cạnh một số làn sóng công nghệ góp phần vào sự lớn mạnh của Java trong vài năm vừa qua (ví dụ: Android, Java 8, cộng đồng Spring,…), chúng tôi sẽ đưa ra một số quan điểm để chứng minh rằng, Java vẫn sẽ tồn tại ít nhất là trong vài thập kỉ nữa.
#1 JVM -Java Virtual Machine- máy ảo Java và hệ sinh thái Java
Máy ảo Java – JVM – sẽ biên dịch(compile) chương trình thành dạng byte code. Byte code này được thông dịch (interpret) và chạy trên chính JVM. Vì JVM nằm bên trên phần cứng và hệ điều hành của bạn nên nó có thể chạy trên bất kì nền tảng nào – Window,Mac, Linux,…
Lợi thế lớn nhất mà JVM đem lại đó là tính bền vững và tương thích tốt. Application của bạn chạy trên máy ảo – Virtual Machine – thay vì chạy trực tiếp trên phần cứng của bạn. Nhờ JVM, bạn có thể viết chương trình 1 lần và chạy nó khắp mọi nơi cùng JVM.
Tính bảo mật và khả năng tương tác
Android là nền tảng đang chiếm lĩnh 89% thị phần thiết bị di động. Môi trường Android được xem như một trường hợp điển hình về tính bảo mật và khả năng tương tác không giới hạn của Java.
Xét về khả năng tương tác, ta thấy khả năng phối hợp giữa Java và các ngôn ngữ cùng sử dụng JVM như Scala, Groovy, Clojure, JRuby,… đều không bị giới hạn. Nhờ đó, lập trình viên trở nên linh hoạt hơn trong việc lựa chọn ngôn ngữ.
Java + Android cho phép người dùng chạy semi-trusted apps cũng như giảm tối đa những nguy cơ bằng cách chạy app trên máy ảo. Như vậy, cách duy nhất để exploit(khai thác) lỗ hổng của Android là đánh vào lỗ hổng của Virtual Machine(máy ảo). Tuy nhiên khai thác lỗ hổng của VM là một việc không mấy dễ dàng.
#2 Java trong các sản phẩm thực tế:
Amazon, Google, eBay,… và rất nhiều trang thương mại điện tử lớn đều sử dụng Java cho hệ thống back-end. Lý do: Java đáng tin cậy và chịu tải tốt. Một số ngôn ngữ chuyên dụng cho mảng back-end khác chỉ có thể xử lý một lượng user khá khiêm tốn. Tuy nhiên Java có thể xử lý ngon lành 200 triệu user và thậm chí nhiều hơn nữa. Các ví dụ sau đây sẽ chứng minh khả năng chịu tải tuyệt vời này:
Hadoop
Apache Hadoop là một Java framework dùng cho app trên các cụm máy tính quy mô lớn (cluster). Hadoop là bạn đồng hành với Big Data. Facebook, Amazon, IBM, Joost và Yahoo đều dùng Hadoop cho công việc xử lý dữ liệu.
“Java là một ngôn ngữ đơn giản, type-safe, cộng đồng hùng hậu, nhiều thư viện tốt. Nó mang đến sự kết hợp tuyệt vời giữa hiệu suất làm việc của developer và hiệu năng hoạt động của hệ thống. Developer thu được rất nhiều lợi ích từ Java. ” – Doug Cutting – cha đẻ Hadoop
Twitter là một minh chứng sống động cho sức mạnh của Java.
Ban đầu, Twitter được viết bằng Ruby on Rails. Tuy nhiên khi Twitter trở nên phổ biến, nó kéo theo số lượng user tăng chóng mặt mỗi ngày. Khi đó Ruby on Rails dần trở nên yếu ớt, khó có thể chịu tải lớn. Hậu quả: trải nghiệm người dùng bị ảnh hưởng nghiêm trọng. Từ đó ra đời thuật ngữ Fail Whales – ngụ ý rằng hệ thống đang quá tải. Fail Whales hoành hành liên tục.
Đến khi Twitter chuyển sang Java vào năm 2012, Fail Whales dần biết mất. Cho đến nay, nó đã “tuyệt chủng” hoàn toàn.
Hiện tại Twitter đang kết hợp giữa Java và Scala
Minecraft
Minecraft là một trong số những video game rất thành công. Nó đem về hàng triệu đô-la cho team phát triển. Năm 2014, Minecraft được Microsoft mua lại với mức giá 2.5 tỉ đô-la.
Một sự thật mà người chơi Minecraft ít khi để ý: nó được viết bằng Java.
#3 Tương lai của Java
Năm ngoái, Oracle đã đánh tiếng về việc phát hành Java 9 vào tháng 9 – 2016. Bản cập nhật quan trọng này nhắm đến việc chia ngôn ngữ này ra thành các component nhỏ hơn. Nhờ đó, Java sẽ nhanh hơn và dễ sử dụng hơn.
Bên cạnh đó, sự đầu tư và support của Oracle( vốn hay bị xem thường) đã giúp cho rất nhiều doanh nghiệp vừa bảo trì nền tảng cũ, vừa có thể tiếp cận được các xu thế công nghệ mới.
Java và Internet of Things
Java là một công nghệ tuyệt vời cho IoT. Rất nhiều bài toán trong IoT giống với những vấn đề mà Java phải giải quyết từ những năm 90 của thế kỉ trước. Bạn có vô số môi trường khác nhau, bạn muốn developer phải kiểm soát được toàn bộ chúng. Có rất ít công nghệ giúp bạn hoàn thành được bài toán đó, và Java là một trong những đại diện tiêu biểu nhất.
“Tương lai của Java sẽ là IoT” – Mike Milinkovich – Giám đốc điều hành Eclipse