Dự đoán xu hướng các ngôn ngữ lập trình năm 2020

Bài viết này sẽ trình bày về xu hướng các ngôn ngữ lập trình năm 2020. Tương lai là thứ không thể dự đoán được trước nhưng dựa vào những kinh nghiệm của tác giả sẽ dự đoán như dưới đây.

Rust trở thành ngôn ngữ chính

Rust là ngôn ngữ lập trình đa mô hình (multi-paradigm system programming) an roàn, đặc biệt là các xử lý thread. Về cấu trúc thì giống với C++ nhưng mà vừa có thể duy trì được tính năng cao và tính an toàn cao

Rust có sự thay đổi lớn trong 4 năm trở lại đây. Tôi nghĩ năm 2020 sẽ thực sự là năm của Rust. (đó là quan điểm của tác giả) tuy nhiên ở các trường học đã tính toán đến việc đưa Rust vào việc dậy học và sẽ dần dần có nhiều người biết đến Rust.

Rust là một ngôn ngữ tuyệt vời và đang có sự cộng đồng active. Facebook đang xây dựng Libra bằng Rust, vì thế mà đây sẽ là project lớn nhất lịch sử của Rust.

Bạn muốn học một ngôn ngữ mới thì tôi khuyên bạn nên học Rust. Chi tiết ở đây

Tiếp tục mở rộng sử dụng GraphQL

Cùng với sự gia tăng độ phức tạp của các application và data thì cũng cần gia tăng lượng lớn. Tôi thích sử dụng GraphQL và sử dụng thường xuyên nhưng GraphQL khi so sánh với REST API khi get data.

Thông thường REST API sẽ gọi nhiều URL để load data nhưng GraphQL API sẽ chỉ gọi 1 request duy nhất có thể lấy được tất cả data cần thiết.

GraphQL được dùng ở rất nhiều team với rất nhiều môi trường khác nhau mobile app, web app và API

Ai quan tâm đến GraphQL có thể tham khảo bài viết này

Progressive Web App

Là hướng tiếp cận mới kết hợp mobile app chất lượng cao với các tính năng đã quen thuộc ở web application

So với native app developer thì web developer nhiều hơn. Nếu các công ty lớn thường dùng các web developer để tạo ra các progressive web application thì không phải tạo ra làn sóng lớn của PWA ?

Tuy nhiên, để các công ty lớn có thể làm được như thế cần nhiều thời gian. Hầu hết các trường hợp sử dụng Web Workers API vì thế một phần progressive là hướng đến frontend

Bạn muốn tìm hiểu thêm về PWA có thể xem tại đây

WebAssembly (Viết tắt là Wasm)

Là ngôn ngữ mệnh lệnh dành cho máy áo stack base. Wasm là trình combine của ngôn ngữ level cao như là C, C++, Rust. Wasm có thể triển khai cho cả client và server application. PWA cũng có thể sử dụng Wasm.

Tóm lại, Webassembly là phương pháp kết nối công nghệ level cao như Javascript. Có thể sử dụng thư viện xử lý video Rust ở app React. Nếu là Web assembly có thể thực hiện ngay việc này.

Vấn đề perfomance cũng quan trọng, data tăng lên kéo theo việc duy trì perfomance là một việc rất khó. Lúc đó, các library level thấp như Rust hoặc C++ từ đó các doanh nghiệp lớn sẽ sử dụng Web Assembly với snowball

React từ bây giờ sẽ trở thành xu thế

React là ngôn ngữ phát triển fronend của thư viện javascript mọi người thích dùng. Lý do lựa chọn React là việc phát triển đơn giản và dễ dàng, cộng đồng cũng tuyệt vời

Tôi đã sử dụng Vue, Angular, React tất cả đều là nhưng framework tuyệt vời. Tuy nhiên, bạn không được quên mục tiêu của library là "Thực hiện 1 việc gì đó" Vì thế việc lựa chọn framework không phải là vấn đề thích hay không, mà là cái nào giúp chúng ta thực hiện việc đó tốt nhất để chọn framework nào là tốt nhất.

Một phần cuối của bài viết đã bị lược bỏ. Các bạn có thể xem chi tiết ở dưới. Bản JP: https://qiita.com/baby-degu/items/a311ca07d155037253c8 Bản EN: https://medium.com/better-programming/2020-programming-trend-predictions-a5d6b70bec26