Mới đây, khảo sát The State of Developer Ecosystem - được JetBrain s.r.o thực hiện đầu năm 2018 - đã công bố những thống kê về xu hướng học và sử dụng ngôn ngữ lập trình, mô hình phát triển phần mềm phổ biến trong năm 2018. Kết quả khảo sát từ hơn 6.000 nhà phát triển phần mềm trên thế giới.
Bài phân tích của Thạc sĩ Khoa học máy tính Trần Quốc Tuấn - Mentor Đại học trực tuyến FUNiX dựa trên kết quả này cung cấp thêm thông tin để học sinh, sinh viên đam mê lập trình tham khảo và lựa chọn định hướng học tập, phát triển trong lĩnh vực phần mềm.
Go là ngôn ngữ lập trình hứa hẹn trong tương lai
Theo thống kê từ JetBrain, ngôn ngữ lập trình cơ bản luôn được các nhà phát triển phần mềm lựa chọn là Javascript. Tuy nhiên, ngôn ngữ hứa hẹn phát triển mạnh nhất trong tương lai lại là Go. Trong biểu đồ dưới, phần màu cam cho thấy tỷ lệ phần trăm lập trình viên sẽ học thêm một ngôn ngữ mới. Với 16% lựa chọn sẽ học Go thời gian tới, đây sẽ là ngôn ngữ lập trình có tỷ lệ tăng lớn nhất so với các ngôn ngữ còn lại.
Ưu điểm của Go là tốc độ xử lý. Ngôn ngữ lập trình này cũng biên dịch như Java, nhưng không như Java phải cần Java Virtual Machine để thực thi vì Java biên dịch ra Byte code, Go biên dịch ra mã máy (Machine code) nên có thể chạy ngay với hệ điều hành do nó biên dịch ra mà không cần cài đặt gì thêm.
Điều này có nghĩa từ máy tính của mình, có thể biên dịch ra các chương trình chạy trên Mac, Window, Linux. Sau khi biên dịch, chỉ cần một file, copy đến hệ điều hành đích là chạy, rất đơn giản. Đây là tính năng ấn tượng, bao gồm cả việc build rất nhanh.
Python và Javascript phổ biến nhất
Theo thống kê, Python và Javascript là hai ngôn ngữ được lập trình viên lựa chọn học nhiều nhất trong một năm trở lại đây, với tỷ lệ lần lượt là 30% và 29%. Java vẫn là sự lựa chọn ổn định, như cách các nhà phát triển phần mềm lựa chọn phiên bản Java để phát triển (Java 9 đã ra đời được một thời gian không ngắn nhưng chỉ 13% số người khảo sát lựa chọn trong khi 84% vẫn dùng Java 8 và 33% vẫn dùng Java 7).
Lý do là vì Javascript rất đa năng, ứng dụng rộng rãi từ website tới Server-side. Python là một ngôn ngữ có tốc độ xử lý nhanh; hình thức sáng sủa, cấu trúc rõ ràng, cú pháp ngắn gọn nên dễ hiểu và dễ học. Python tương thích mạnh mẽ với Unix, phần cứng với số lượng thư viện khổng lồ (400 triệu người sử dụng).
Tương phản với những con số ấn tượng này, tỷ lệ học tiếp với những ngôn ngữ C, C++ lần lượt là 6%, 12%. C và C++ là những ngôn ngữ khá khó học với phần lớn đối tượng, thường áp dụng nhiều trong lập trình hệ thống nên số lượng người tái sử dụng không cao bằng Python hay Javascript.
Android chiếm ưu thế trong lập trình mobile
Lập trình mobile đang rất được yêu thích trong những năm gần đây. 86% số người được phỏng vấn lập trình trên hệ điều hành Android, 48% số người được phỏng vấn lập trình trên hệ điều hành iOS và 35% trong số những người được hỏi đều lập trình trên cả Android và iOS.
72% số người được phỏng vấn lập trình trên công cụ gốc của ngôn ngữ lập trình còn 43% số người được hỏi thì linh hoạt trong việc lựa chọn tools phù hợp.
Xu hướng tương tác qua ứng dụng điện thoại đang ngày một tăng. Giá thành mặt bằng chung của các loại điện thoại ngày càng giảm. Mặc dù tỷ lệ sử dụng thiết bị di động ở Việt Nam cao nhưng hứa hẹn vẫn còn tăng. Với số lượng người dùng tăng, chắc chắn cơ hội với các nhà phát triển phần mềm và các sinh viên công nghệ thông tin trong mảng lập trình mobile vẫn còn rất lớn.
Khảo sát của The State of Developer Ecosystem cũng thống kê về mô hình phần mềm mà các nhà phát triển đang sử dụng. Theo đó, có 41% các nhà phát triển phần mềm đang sử dụng mô hình Scrum, 10% sử dụng Kabaan. Ngôn ngữ lập trình quan trọng bao nhiêu thì mô hình phát triển phần mềm quan trọng bấy nhiêu. Một phần mềm tốt khi ra đời là kết quả từ những kỹ sư xuất sắc bên cạnh mô hình phát triển phù hợp.
Các ngôn ngữ lập trình và mô hình phát triển này đều được giảng dạy và giới thiệu trong chương trình học của Đại học trực tuyến FUNiX, như nội dung lập trình hướng đối tượng, lập trình di động, nhập môn công nghệ phần mềm, phân tích yêu cầu phần mềm... Bạn có thể học và được các mentor hỗ trợ, kèm cặp để nắm chắc các kiến thức này. Xem thêm thông tin tại đây.
Mentor Trần Quốc Tuấn (Đại học trực tuyến FUNiX)