VÌ SAO NHỮNG NGƯỜI LẬP TRÌNH JAVA VÀ C++ NÊN CÓ GIẤC NGỦ NGON
Các bảng xếp hạng mới nhất về các ngôn ngữ lập trình cho thấy sự phân đoạn tăng lên nhưng các ngôn ngữ cũ vẫn chiếm ưu thế.
Tháng 9, TIOBE cho ra mắt bảng xếp hạng các ngôn ngữ lập trình cho tháng 9 năm 2014 dưới một tiêu đề có thể khiến các lập trình viên mất ngủ, “Java và C++ đang ở thời điểm thấp nhất”. Điểm số trên TIOBE là con số tổng hợp từ nhiều công cụ tìm kiếm cho thấy việc tìm kiếm hai ngôn ngữ lập trình trên đang thực sự ở mức thấp nhất. Kết quả tìm kiếm Java là 14% (ở thời điểm hiện tại, tháng 11, là 14.391%), tiếp tục giảm kể từ thời điểm cao trào là 26.5% vào tháng 6/2001. Tương tự, kết quả tìm kiếm C++ là 4.7% (tháng 11 là 6.098%), giảm so với thời điểm đỉnh cao là 17.5% vào tháng 8/2003.
Theo nhóm TIOBE, kết quả trên không cho thấy sự suy giảm vị trí thống trị của Java và C++ trong các ngôn ngữ lập trình. Cả hai đều đang có thứ hạng rất cao (thứ 2 và thứ 4) không kém các năm qua. Thêm vào đó, TIOBE đưa ra lý thuyết rằng sự suy giảm trong thị trường tìm kiếm này phản ánh sự tăng cường phân đoạn trong thế giới các ngôn ngữ lập trình. Một phần trong đó, họ suy đoán rằng theo sự tăng lên của các ngôn ngữ khác, thường là các ngôn ngữ thích hợp hơn cho các ngành công nghiệp (ví dụ: ngôn ngữ R), nhu cầu đối với các ngôn ngữ nhiều mục đích dần giảm bớt.
Vì kết quả của TIOBE chỉ là một cách xác định sự phổ biến của ngôn ngữ, tôi nghĩ mình sẽ có một cái nhìn cận cảnh về việc làm thế nào mà Java và C++ thực sự được sử dụng theo các phương pháp khác hiện có.
Chỉ số sự phổ biến của ngôn ngữ lập trình (PYPL – Popularity of Programming Language) cũng xếp hạng các ngôn ngữ lập trình hàng tháng dựa trên cơ sở tìm kiếm trên web, tuy nhiên, đặc biệt hơn ở chỗ nó sử dụng tìm kiếm Google về các bài hướng dẫn về một ngôn ngữ chứ không đơn thuần là bất kì tìm kiếm nào về tên ngôn ngữ. Java vẫn là ngôn ngữ đứng vị trí thứ nhất từ năm 2004 với 27% và tăng nhẹ từ năm 2013. Theo thời gian, C++ mất đất dần trong phương thức này; năm 2004, C++ đứng thứ 3 sau Java và PHP nhưng đã bị Python và C# vượt qua. Có vẻ như C++ đang dần mất sân chơi của mình cho C#.
Xếp hạng ngôn ngữ lập trình của RedMonk cho ra bảng xếp hạng 6 tháng một lần theo một cách tiếp cận khác: quan tâm tới tổ hợp dữ liệu GitHub (những dòng code) và sự phổ biến trên Stack Exchange (theo số lượng từ khóa – tag). Theo xếp hạng gần nhất, từ tháng 6, Java và JavaScript được xếp hạng nhất. C++ được xếp hạng 6 cùng với Ruby (PHP, Python và C# ở hạng 3, 4 và 5). Chỉ số của RedMonk chỉ đánh giá trong vòng 3 năm và không có sự thay đổi lớn nào trong nhóm đầu của bảng xếp hạng. Một số ngôn ngữ trong thị trường ngách (tính tương thích hẹp) lại đang tăng trưởng mạnh theo phương pháp xác định này. Ngôn ngữ R đã cho thấy sự tăng hạng trong nhóm 4 hạng cuối, chủ yếu do sự tăng lên của các hoạt động GitHub, và đang xếp hạng 13 (hạng 12 theo xếp hạng tháng 11/2014 của TIOBE). Ngôn ngữ Go cũng đang phát triển hơn với thứ hạng hiện tại theo RedMonk là 21 (hạng 41 trên TIOBE, tháng 11/2014) và đang được kì vọng sớm đột phá vào top 20 trong thời gian tới.
Cuối cùng, nhìn vào thể hiện dữ liệu của GitHub, dữ liệu cung cấp bảng xếp hạng và xu hướng trở lại với quý 2 năm 2012 dựa trên dữ liệu lưu trữ của GitHub. Đối với quý 2 năm 2014, Java xếp hạng 2, sau JavaScript về số lượng các kho (repositories) hoạt động; trong khi 2 năm trước là ở hạng 3 (khi đó Ruby xếp hạng 2). Theo tỷ lệ tổng số kho thì Java tăng nhẹ từ thời điểm 2012, từ 9.1% lên 9.8%. Sự tăng trưởng của C++ trên GitHub bằng phẳng hơn Java. Nó vẫn đứng thứ 7 về số lượng kho hoạt động, không khác gì so với 2 năm trước và tổng số kho cũng giữ nguyên tỷ lệ 3.9%. Ngôn ngữ lập trình thực sự thể hiện sự phát triển trên GitHub gần đây lại là R (0.3% số kho vào quý 4 năm 2013 và 1.8% và quý 2 năm 2014) và Go (0.4% trong quý 1 năm 2013, 0.86% trong quý gần đây nhất).
Tóm lại, tất cả các thông tin trên đây hoặc nhiều hoặc ít đều quay lại với suy đoán của nhóm TIOBE:
- Java vẫn là ngôn ngữ có ưu thế nhất trong sử dụng và không có bằng chứng nào cho thấy nó đang suy giảm sức mạnh so với các ngôn ngữ khác.
- C++ cũng duy trì vị trí kiên cố của mình trong nhóm các ngôn ngữ lập trình đứng đầu mặc dù có một vài ngôn ngữ khác như C# đang đe dọa ngôi vị của nó.
- Trong khi nhóm đầu các ngôn ngữ duy trì không biến động thì phần còn lại lại đang phân đoạn, nhóm các ngôn ngữ chiếm ưu thế dần nhường phần cho các ngôn ngữ khác như R và Go.
Dù sao thì những thông tin trên cũng có thể khiến các lập trình viên Java và C++ có thể yên tâm kê gối ngủ một giấc ngon lành.
Nguồn:
Bình luận