Tôi rất đồng ý với quan điểm của thầy Ngô Ân Đạt, việc AI hỗ trợ lập trình thực sự có thể giúp những người đã có nền tảng về ngôn ngữ lập trình nhanh chóng làm quen với một ngôn ngữ mới, đồng thời ông cũng nhấn mạnh tầm quan trọng của việc hiểu các khái niệm cốt lõi đứng sau ngôn ngữ.
---
Tuy nhiên, việc hiểu các khái niệm đằng sau các ngôn ngữ khác nhau vẫn rất quan trọng. Đó là lý do tại sao việc học ít nhất một ngôn ngữ như Python vẫn có thể tạo nền tảng vững chắc cho bạn, để tốt hơn trong việc hướng dẫn LLM tạo ra mã Python hoặc mã ngôn ngữ khác. Nếu bạn chuyển từ một ngôn ngữ lập trình sang một ngôn ngữ khác có thể hoàn thành các nhiệm vụ tương tự nhưng có cú pháp khác nhau - chẳng hạn như từ JS sang TS, hoặc từ C++ sang Java, hoặc từ Rust sang Go - một khi bạn nắm vững các khái niệm của ngôn ngữ đầu tiên, bạn cũng đã nắm vững hầu hết các khái niệm cần thiết để hướng dẫn LLM viết mã bằng ngôn ngữ thứ hai. (Mặc dù TensorFlow và PyTorch không phải là ngôn ngữ lập trình, nhưng việc học các khái niệm học sâu đằng sau TensorFlow cũng sẽ giúp bạn dễ dàng hơn trong việc để LLM viết mã PyTorch cho bạn, và ngược lại!) Hơn nữa, bạn cũng có thể hiểu hầu hết các mã được tạo ra (có thể cần LLM giúp bạn giải thích một chút).
Các ngôn ngữ lập trình khác nhau phản ánh những cách tiếp cận khác nhau trong việc tổ chức tính toán, và việc hiểu những khái niệm này vẫn rất quan trọng. Chẳng hạn, nếu một người không hiểu các khái niệm như mảng, từ điển, bộ nhớ đệm và bộ nhớ, thì khi để LLM viết mã bằng hầu hết các ngôn ngữ, kết quả sẽ kém hơn.
Tương tự, một nhà phát triển Python muốn làm nhiều phát triển frontend hơn bằng JS, nếu có thể học một số khái niệm đứng sau hệ thống frontend, sẽ rất có lợi. Ví dụ, nếu bạn muốn LLM xây dựng frontend bằng framework React, thì việc hiểu những nội dung sau sẽ rất hữu ích cho bạn: React phân tách frontend thành các component UI có thể tái sử dụng như thế nào, và nó cập nhật cấu trúc dữ liệu DOM quyết định hình dáng của trang web như thế nào. Như vậy, bạn có thể yêu cầu LLM một cách chính xác hơn, và khi gặp vấn đề, bạn cũng biết cách khắc phục. Tương tự, nếu bạn muốn LLM giúp bạn viết mã CUDA hoặc ROCm, thì việc hiểu GPU tổ chức tính toán và bộ nhớ như thế nào cũng sẽ rất hữu ích.
Cũng giống như những người thông thạo nhiều ngôn ngữ của con người có thể giao tiếp với người khác dễ dàng hơn, LLM cũng đang giúp các nhà phát triển dễ dàng hơn trong việc xây dựng hệ thống trong nhiều môi trường khác nhau. Nếu bạn chưa thử, tôi khuyến khích bạn hãy thử yêu cầu LLM viết một vài đoạn mã bằng ngôn ngữ mà bạn muốn học nhưng có thể chưa có thời gian để học, xem liệu nó có thể giúp bạn khởi chạy một số ứng dụng mới.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Tôi rất đồng ý với quan điểm của thầy Ngô Ân Đạt, việc AI hỗ trợ lập trình thực sự có thể giúp những người đã có nền tảng về ngôn ngữ lập trình nhanh chóng làm quen với một ngôn ngữ mới, đồng thời ông cũng nhấn mạnh tầm quan trọng của việc hiểu các khái niệm cốt lõi đứng sau ngôn ngữ.
---
Tuy nhiên, việc hiểu các khái niệm đằng sau các ngôn ngữ khác nhau vẫn rất quan trọng. Đó là lý do tại sao việc học ít nhất một ngôn ngữ như Python vẫn có thể tạo nền tảng vững chắc cho bạn, để tốt hơn trong việc hướng dẫn LLM tạo ra mã Python hoặc mã ngôn ngữ khác. Nếu bạn chuyển từ một ngôn ngữ lập trình sang một ngôn ngữ khác có thể hoàn thành các nhiệm vụ tương tự nhưng có cú pháp khác nhau - chẳng hạn như từ JS sang TS, hoặc từ C++ sang Java, hoặc từ Rust sang Go - một khi bạn nắm vững các khái niệm của ngôn ngữ đầu tiên, bạn cũng đã nắm vững hầu hết các khái niệm cần thiết để hướng dẫn LLM viết mã bằng ngôn ngữ thứ hai. (Mặc dù TensorFlow và PyTorch không phải là ngôn ngữ lập trình, nhưng việc học các khái niệm học sâu đằng sau TensorFlow cũng sẽ giúp bạn dễ dàng hơn trong việc để LLM viết mã PyTorch cho bạn, và ngược lại!) Hơn nữa, bạn cũng có thể hiểu hầu hết các mã được tạo ra (có thể cần LLM giúp bạn giải thích một chút).
Các ngôn ngữ lập trình khác nhau phản ánh những cách tiếp cận khác nhau trong việc tổ chức tính toán, và việc hiểu những khái niệm này vẫn rất quan trọng. Chẳng hạn, nếu một người không hiểu các khái niệm như mảng, từ điển, bộ nhớ đệm và bộ nhớ, thì khi để LLM viết mã bằng hầu hết các ngôn ngữ, kết quả sẽ kém hơn.
Tương tự, một nhà phát triển Python muốn làm nhiều phát triển frontend hơn bằng JS, nếu có thể học một số khái niệm đứng sau hệ thống frontend, sẽ rất có lợi. Ví dụ, nếu bạn muốn LLM xây dựng frontend bằng framework React, thì việc hiểu những nội dung sau sẽ rất hữu ích cho bạn: React phân tách frontend thành các component UI có thể tái sử dụng như thế nào, và nó cập nhật cấu trúc dữ liệu DOM quyết định hình dáng của trang web như thế nào. Như vậy, bạn có thể yêu cầu LLM một cách chính xác hơn, và khi gặp vấn đề, bạn cũng biết cách khắc phục. Tương tự, nếu bạn muốn LLM giúp bạn viết mã CUDA hoặc ROCm, thì việc hiểu GPU tổ chức tính toán và bộ nhớ như thế nào cũng sẽ rất hữu ích.
Cũng giống như những người thông thạo nhiều ngôn ngữ của con người có thể giao tiếp với người khác dễ dàng hơn, LLM cũng đang giúp các nhà phát triển dễ dàng hơn trong việc xây dựng hệ thống trong nhiều môi trường khác nhau. Nếu bạn chưa thử, tôi khuyến khích bạn hãy thử yêu cầu LLM viết một vài đoạn mã bằng ngôn ngữ mà bạn muốn học nhưng có thể chưa có thời gian để học, xem liệu nó có thể giúp bạn khởi chạy một số ứng dụng mới.
Tiếp tục xây dựng!
Andrew