Bảng xếp hạng mức độ phổ biến

Báo cáo của TIOBE là một trong những nguồn uy tín, thống kê về mức độ phổ biến của các ngôn ngữ lập trình dựa trên mức độ quan tâm của người dùng. Chỉ số này được cập nhật đều đặn hằng tháng, dựa trên các nguồn dữ liệu thu thập được trên toàn thế giới.

Một thời gian ngắn sau khi Java ra đời, kể từ 1993 trong bảng thống kê của TIOBE, Java gần như lúc nào cũng ở vị trí số 1. Chỉ có duy nhất năm 2015 thì Java được xếp vị trí số 2 để nhường vị trí số 1 cho ngôn ngữ C. Nhưng rồi ngay sau đó Java phục hồi vị trí dẫn đầu của mình cho đến bây giờ. Mặc dù năm 2015 Java chỉ xếp vị trí số 2 nhưng lại được lựa chọn là “Ngôn ngữ của năm” (Programming Language of the Year).

Mức độ phổ biến của các ngôn ngữ theo thời gian

Theo thống kê của TIOBE vào tháng 1/2018, hơn 14.2% người dùng quan tâm đến ngôn ngữ lập trình Java, cùng với 11% của C, 5.6% của C++, các ngôn ngữ còn lại thì chỉ chiếm dưới 5%. Thống kê của TIOBE theo dõi 100 ngôn ngữ lập trình khác nhau.

Tại sao Java lại phổ biến?

Sau hơn 20 năm kể từ ngày ra đời, Java vẫn là ngôn ngữ phổ biến nhất. Có nhiều nguyên nhân được chỉ ra để dẫn đến kết quả này, tuy nhiên, một nguyên nhân dễ được đồng thuận nhất đó là kiến trúc của Java cho phép các ứng dụng chạy được trên rất nhiều nền tảng khác nhau.

Ngày nay, chúng ta có thể sử dụng Java cho hầu hết các loại ứng dụng phổ thông nhất: các hệ thống web lớn dành cho các doanh nghiệp, các ứng dụng dành cho các hệ điều hành khác nhau như Windows, Linux, MacOS…, các ứng dụng nhúng dùng để điều khiển các thiết bị trong công nghiệp và dân dụng, các ứng dụng cho thiết bị di động… Điều này là nhờ câu châm ngôn của Java “Write once, run anywhere” (Viết một lần, chạy bất cứ đâu).

Một nguyên nhân quan trọng nữa dẫn đến sự phổ biến của Java đó là sự phát triển vượt bậc của hệ điều hành Android trong hơn 10 năm trở lại đây. Hầu hết các ứng dụng Android được phát triển bằng công nghệ Java. Thống kê của Google trong năm 2017 thì đã có đến hơn 3.5 triệu ứng dụng trên kho ứng dụng của họ.

Nguyên nhân quan trọng tiếp theo dẫn đến sự phát triển bền vững của Java đó là sự ủng hộ và tham gia tích cực của cộng đồng các nhà phát triển rất đông đảo. Java có cơ chế để duy trì và phát triển các mô tả kỹ thuật tiêu chuẩn thông qua JCP (Java Community Process). Cơ chế này cho phép lập trình viên rà soát, cung cấp phản hồi đối với hàng trăm yêu cầu khác nhau, và đồng thời nó cũng cho phép các lập trình viên giỏi tham gia vào nhóm chuyên gia Java (Java Expert Group). Nhờ cơ chế này, nền tảng Java luôn luôn được rà soát, điều chỉnh, cập nhật và mở rộng để đáp ứng được các nhu cầu mới, ngày càng trở nên tiện ích và hiệu quả hơn.

Cuối cùng, Java không chỉ là một ngôn ngữ lập trình mà còn là một nền tảng. Mặc dù chúng ta thường sử dụng tên gọi Java để nói đến ngôn ngữ lập trình Java, nhưng thực ra ngôn ngữ Java chỉ là một thành phần trong nền tảng Java. Ngày nay, có nhiều ngôn ngữ khác cũng đã được phát triển để xây dựng các ứng dụng chạy trên nền tảng Java, chẳng hạn như Scala, Kotlin, Clojure… Sự phát triển của các ngôn ngữ này càng giúp cho khả năng của Java được mở rộng và càng trở nên phổ biến hơn.

Tương lai của Java

Gần đây, có một câu hỏi được đưa ra trên cộng đồng Quora là: Liệu hồi kết của Java đã đến gần? Liệu ngôn ngữ lập trình Java có sắp bị bỏ rơi? Cuộc thảo luận rất sôi nổi và phần lớn đều đồng ý rằng điều đó là không thể, đơn giản bởi vì Java “có ở bất cứ đâu”.

Có người còn dẫn chứng rằng: Java được sử dụng trong hầu hết top 1000 công ty trong danh sách Fortune; Java có mặt trong rất nhiều các chương trình giảng dạy của các trường đại học trên thế giới; Ở nhiều nước, trẻ em còn học Java trước cả khi học tiếng Anh; Java được sử dụng để thực hiện các giao dịch ngân hàng, được sử dụng để xuất hoá đơn khi ta đi chợ.

Có người còn đặt ngược lại câu hỏi: Nếu Java biến mất thì điều gì sẽ xảy ra với hàng tỉ hệ thống và thiết bị trên thế giới – trong đó có hơn 2 tỉ thiết bị Android đang được sử dụng thường xuyên?

Xem thêm: Top các ngôn ngữ lập trình đang được các công ty lớn nhất săn lùng trong năm 2018


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.