Bỏ qua

Học ngôn ngữ lập trình nào để giải quyết nhu cầu công việc?

Ngành lập trình có rất nhiều đánh đổi. Con người bị giới hạn ở thời gian và sự chú ý. Máy tính bị giới hạn ở khả năng tính toán và bộ lưu trữ. Các ngôn ngữ lập trình là sự thỏa hiệp giữa con người và máy móc.

Nên nếu bạn đến với lập trình với mong muốn thuần túy để giải quyết Nhu cầu công việc, thì trừ phi công việc đó đòi hỏi phải khắc phục được các giới hạn kỹ thuật đặc thù, thì thứ bạn cần là một ngôn ngữ xem trải nghiệm lập trình viên là tiêu chí cao nhất, và tự xử lý những thứ khác. Máy móc cần được hy sinh cho con người, chứ không phải con người hy sinh cho máy móc. Trải nghiệm lập trình viên, tiếng Anh là developer experience, viết tắt là DX. Nếu bạn từng nghe qua trải nghiệm người dùng (user experience, UX) thì nó cũng là tương tự. Lập trình viên chẳng qua cũng là một người dùng ngôn ngữ mà thôi.
Những ngôn ngữ bậc cao, xem cái máy là một thứ hoàn hảo không có lỗi

Những tiêu chí đánh giá:

  • Dễ học
  • Chống sai
  • Phổ biến
  • Gần đây

Chống sai

Nếu bạn mắc sai lầm, nó có cho bạn biết bạn đã sai gì không? Hoặc hay hơn cả là tránh cho bạn sai ngay từ đầu

  • Phổ biến
  • Dễ bảo trì và mở rộng

Phổ biến & gần đây

Một ngôn ngữ phổ biến thì sẽ:

  • Có nhiều thư viện viết sẵn để không phải tự làm lại
  • Dễ tìm được người Việt hỗ trợ mình

Tuy nhiên, vì phải phục vụ cho số đông, nên những thay đổi tốt nhưng làm phá vỡ cái cũ sẽ bị hạn chế. Các ngôn ngữ cũ có những sai lầm, mà việc sửa chữa chúng là không thể, vì rất nhiều script đang chạy sẽ bị lỗi. Các ngôn ngữ mới xuất hiện có thể học được hạn chế của cái cũ. Hơn nữa, nó cũng vẫn có thể tích hợp các thư viện của ngôn ngữ cũ

Tất nhiên cũng có những cái mà ngôn ngữ ra đời trước học ngược lại từ ngôn ngữ ra đời sau, hoặc nhận ra những sai lầm của phiên bản trước và tìm cách để loại bỏ, hoặc nếu không loại bỏ được thì cung cấp giải pháp thay thế và cảnh báo khi người dùng dùng đến chúng. Nhưng các tính năng đó cũng phải đợi

Một công cụ mới thông thường sẽ phục vụ cho thứ phổ biến trước
Cái phổ biến thì là do lịch sử, có những vấn đề không được sửa

Trọng số

Danh sách các ngôn ngữ bậc cao bạn thường nghe tới:

Tiêu chí →
Ngôn ngữ ↓
Dễ học (2) Chống sai (2) Mới (2) Phổ biến (1) Tổng
Gleam 4 5 5 1 31
Go 4 5 3 3 29
Python 4 3 1 5 23
JavaScript/TypeScript 3 3 1 5 21
Excel 5 1 1 5 18

Trong hiểu biết của tôi, Gleam là có tiềm năng nhất. Không như JavaScript hay Python là những ngôn ngữ ra đời cách đây 30 năm, và đủ mới để có thể học tập được những cái hay từ các ngôn ngữ khác.