32 điểm bởi GN⁺ 2025-08-08 | 14 bình luận | Chia sẻ qua WhatsApp
  • Rust, Python, TypeScript được dự đoán sẽ nổi lên như các ngôn ngữ trung tâm của phát triển phần mềm trong thời gian tới
  • Sự phổ biến của các công cụ lập trình AI làm suy yếu mức độ trung thành của lập trình viên với một ngôn ngữ cụ thể, và những ngôn ngữ thực dụng với hệ sinh thái mạnh sẽ được lựa chọn
  • Mô hình lập trình định hướng ý tưởng (idea-oriented programming) xuất hiện, trong đó lập trình viên tập trung vào thiết kế và rà soát, còn phần hiện thực được giao cho AI
  • Ba ngôn ngữ này đều có hệ thống kiểu nâng caohệ sinh thái trình quản lý gói mạnh mẽ, nên có lợi cho việc tận dụng AI, cộng tác và ngăn ngừa lỗi
  • Chất lượng thông báo lỗi, hệ sinh thái, khả năng liên kết nền tảng cũng ngày càng trở thành các tiêu chí quan trọng

Vì sao Rust, Python và TypeScript đang nổi lên

  • Rust vượt trội trong phần mềm hệ thống, các lĩnh vực đòi hỏi hiệu năng cao, độ an toàn kiểu và hiệu quả bộ nhớ
  • Python tối ưu cho thử nghiệm, tạo mẫu, và tận dụng thư viện toán học/khoa học, giúp kiểm chứng ý tưởng nhanh chóng
  • TypeScript có thể áp dụng ngay cho web, trình duyệt và nhiều nền tảng khác nhau, đồng thời bảo đảm khả năng mở rộng nhờ hệ thống kiểu mạnh và hệ sinh thái npm

AI đang thay đổi mô hình phát triển: lập trình định hướng ý tưởng

  • Với sự phổ biến của các công cụ lập trình AI (Large Language Model), lập trình đang chuyển sang mô hình “lên ý tưởng → AI hiện thực → con người thiết kế/rà soát”
  • Vibe coding gần với các chỉ thị ngẫu hứng và mơ hồ, trong khi Idea-oriented programming tập trung vào thiết kế, cấu trúc và các nguyên tắc bền vững
  • Lập trình viên đảm nhiệm thiết kế chính/định hướng, còn AI phụ trách các công việc lặp lại và mang tính hiện thực; mối quan hệ này được ví như kiến trúc sư và người học việc

Sự thay đổi trong tiêu chí chọn ngôn ngữ

  • Trước đây, người ta thường làm nhanh bằng ngôn ngữ mình quen thuộc (ví dụ: Rust), nhưng khi làm việc cùng AI thì thư viện cần thiết, hiệu năng, khả năng liên kết nền tảng trở nên quan trọng hơn
  • Tùy theo dự án mà chọn ngôn ngữ tối ưu theo từng tình huống như Python (machine learning), TypeScript (web·VSCode Extension), Rust (lựa chọn mặc định)

Tầm quan trọng của hệ thống kiểu

  • Trong môi trường có trợ lý lập trình AI, hệ thống kiểu nâng cao trở nên quan trọng hơn
  • Rust và TypeScript ép buộc tính hợp lệ của trạng thái và dữ liệu, cũng như ngăn ngừa sai sót ở cấp độ mã, từ đó giảm cả xác suất AI mắc lỗi
  • Python cũng có thể bảo đảm độ an toàn kiểu thông qua cấu hình như mypy, pydantic

Giá trị ngày càng tăng của hệ sinh thái và trình quản lý gói

  • Khi phát triển cùng AI, việc tận dụng các thư viện lớn trở nên dễ dàng hơn, nên quy mô hệ sinh thái và chất lượng trình quản lý gói càng quan trọng hơn
  • Rust (cargo), TypeScript (npm), Python (uv v.v.) đều có các trình quản lý gói hiện đại

Cú pháp nhỏ nhặt và các workaround bớt quan trọng hơn, nhưng chất lượng thông báo lỗi và hướng dẫn vẫn rất quan trọng

  • LLM (AI) có thể nhanh chóng sửa các lỗi cú pháp lặp đi lặp lại, nhưng thông báo lỗi/hướng dẫn phải rõ ràng thì mới có thể hiệu chỉnh hiệu quả
  • Cũng như nỗ lực cải thiện tính dễ dùng (ergonomics) của cộng đồng Rust, AI cũng tận dụng các thông báo lỗi tốt để tạo ra mã tốt hơn

Kết luận: LLM mở các công cụ phát triển mạnh mẽ cho mọi người

  • Trong thời đại lập trình định hướng ý tưởng, junior cũng có thể có trải nghiệm thiết kế/chỉ huy ở cấp Principal Engineer
  • Dù có lo ngại rằng “flow” của việc tự tay viết code sẽ giảm đi, trải nghiệm phát triển xoay quanh thiết kế và ý tưởng được dự báo sẽ trở nên giá trị hơn

► Trong thời đại làm việc cùng AI, Rust, Python, TypeScript đang trở thành tiêu chuẩn tại hiện trường phát triển nhờ hệ thống kiểu mạnh, hệ sinh thái và hỗ trợ nền tảng

14 bình luận

 
pcj9024 2025-08-09

Trong ba thứ, thứ tôi quen nhất là TS, thứ tôi biết làm là Python, còn thứ tôi chưa hiểu rõ nhưng muốn làm là Rust...
Dù sao thì việc Java không nằm trong ba cái đó đúng là may mắn lại càng may mắn hơn

 
charva856 2025-08-08

Trong dòng phát triển kinh nghiệm từ coder => lập trình viên thiết kế kiến trúc phát triển tính năng => kiến trúc lớn hơn (hệ thống, mạng, bảo mật) => hoạch định,
Có vẻ như cơ hội để coder học hỏi tại hiện trường sẽ ngày càng ít đi.

Nếu lập trình lấy ý tưởng làm trung tâm trở thành xu thế chủ đạo,
thì ít nhất cảm giác là coder có thể tự mình xử lý full-stack dựa trên AI sẽ trở thành tiêu chuẩn cơ bản thôi

 
ceruns 2025-08-08

Tôi vẫn chưa thấy đủ lý do để chuyển từ C sang Rust cho mã hiệu năng cao. Những ngôn ngữ như Zig, với cú pháp ít nhiều còn đơn giản hơn, có vẻ phù hợp hơn cho phát triển end-to-end; còn các trường hợp khác thì dù sao cấu trúc cũng là sau khi profiling mới chỉ triển khai những phần được gọi từ ngôn ngữ cấp cao (tôi là người dùng Python). Nếu dùng Rust, chi phí phát triển cho việc tương tác với ngôn ngữ khác, như kiểm soát GIL chẳng hạn, lại cao hơn dự kiến khá nhiều. C thì vốn dĩ là thứ mà các ngôn ngữ khác đã trông đợi sẵn rồi.

 
ztaka 2025-08-12

Nếu phải dùng Zig thì tôi thà dùng C còn hơn haha...

 
bichi 2025-08-11

Tôi ủng hộ zig :)

 
allinux 2025-08-08

Tôi muốn nói rằng lý do chuyển từ C sang Rust thực ra là vì năng suất. Hỗ trợ an toàn bộ nhớ cũng rất tốt, nhưng chỉ riêng cargo thôi cũng đã là lý do đủ để chuyển sang rồi.
Khi tạo mô-đun mở rộng cho Python, việc xử lý GIL luôn phức tạp bất kể ngôn ngữ nào. Phần này thì C/C++ cũng vậy; tất nhiên sẽ có ngoại lệ nếu dùng các thư viện hoặc công cụ hỗ trợ viết mô-đun mở rộng, nhưng Rust cũng có một crate tuyệt vời là PyO3.
Ngoài ra, từ góc nhìn của một lập trình viên C thì đương nhiên Zig rất dễ làm việc cùng. Về cơ bản, bản thân Zig cũng là một trình biên dịch C, đến mức có thể chỉ cần import trực tiếp các file header để sử dụng.

 
ceruns 2025-08-08

Cũng có thể nghĩ như vậy. Theo kinh nghiệm của tôi, so với PyO3 thì python.h (đây cũng là lý do zig là một lựa chọn thay thế tốt) giúp đi xuống rồi quay lại ở mức OS hoặc vectorize dễ hơn nhiều, nhưng xét ở khía cạnh không phải lo về quản lý bộ nhớ thì từ một quy mô nhất định trở lên, phía Rust có thể đem lại năng suất dài hạn cao hơn.

Lý do C dễ là vì nó là nền tảng của các ngôn ngữ lớn hiện đại - Python/TS/Go/PHP/Java - hoặc có cú pháp tương tự, nên không chỉ là cú pháp đơn giản mà còn vì đó là ngôn ngữ mà rồi một lúc nào đó bạn sẽ gặp, hoặc là ngôn ngữ mà trước đây bạn đã từng gặp. Ngược lại, Rust đứng ở phía đối diện, nên dù giá trị của nó cao, để đưa vào trong một đội ngũ vẫn cần khá nhiều nỗ lực. Tôi nghĩ là vì đây là một ngôn ngữ mang tính cách tân hơn là một ngôn ngữ tiến hóa.

 
barca105 2025-08-08

Có vẻ đây là bài viết của người đã tạo ra crate rayon của Rust.
Python và TypeScript hiện giờ đúng là vẫn có vẻ là những ngôn ngữ trung tâm...
Rust thì vẫn chưa ở vị thế đến mức đó. Có lẽ là vì mọi người vẫn nghĩ nó khó.
Mong là LLM sẽ hạ thấp rào cản tiếp cận để Rust cũng vươn lên thành một ngôn ngữ trung tâm.

 
shoyuvanilla 2025-08-08

Niko Matsakis, ngoài rayon, còn ở vị thế gần như cha đẻ của Rust. Tất nhiên Graydon Hoare là người sáng lập, nhưng có thể nói Niko mới là người đóng góp nhiều nhất vào những phần quan trọng nhất của ngôn ngữ.

 
onestone 2025-08-08

Nếu là nhà phát triển Rust thì chắc hẳn sẽ có phần thiên vị vì yêu thích hơn rồi! Cảm ơn bạn đã chia sẻ thông tin.

 
bonobono 2025-08-08

PHP là số một.

 
tested 2025-08-08

Nhưng ở trong nước thì vẫn là Java nhỉ?

 
overthinker1127 2025-08-08

Có vẻ như Go đã bị loại vì GC.

 
lallablah 2025-08-08

Gọi là bộ ba bá đạo luôn à, ghê thật