Để bắt đầu học một ngôn ngữ mới thật hiệu quả!

Cứ nửa năm là tôi lại phải bắt đầu học lập trình lại hoặc thêm một ngôn ngữ mới. Vào năm 2015, tôi quyết định học một ngôn ngữ chức năng vì tôi biết rất ít về mô hình lập trình này. Tôi đã thử một vài ngôn ngữ như OCaml, Haskell, Clojure và F#, cuối cùng, tôi quyết định học F#.
Đây là một quá trình rất tốn thời gian, bạn học cú pháp và bắt đầu viết code đơn giản bằng ngôn ngữ đó. Khi bắt đầu, bạn sử dụng cú pháp ngôn ngữ mới, nhưng bạn vẫn không thật sự là code bằng nó. Đối với giai đoạn đầu tiên này, tôi thường sử dụng mã hóa katas, vì sự đơn giản của chúng. Tôi đã làm một vài katas trong F # cho đến khi tôi cảm thấy bản thân đã hiểu nó.
Khi đã trở nên thuần thục hơn, tôi bắt tay vào làm các project nhỏ để thực sự học ngôn ngữ và hệ sinh thái xung quanh nó. Đối với F # tôi đã quyết định viết một thư viện guitar và đặt tên cho nó là Vaughan.
hoc-lap-trinh-de-dang-4
*Quá trình của tôi để lựa chọn và học một ngôn ngữ lập trình mới:
➡️Quyết định mô hình lập trình nào tôi muốn học hay cải thiện.
Vài ví dụ:
Hướng đối tượng (Java, C #, …)
Chức năng (Haskell, F #, Clojure, …)
Logic (Prolog, …)
Procedural (C, Pascal, …)
Declarative (SQL, ..
➡️Quyết định loại ứng dụng muốn xây dựng
Vài ví dụ
– Ứng dụng LOB (trang web và ứng dụng web, ứng dụng dành cho thiết bị di động, ứng dụng doanh nghiệp)
– Hệ thống (máy chủ web, hệ điều hành, mạng,…)
– Hãy thử một vài ngôn ngữ phù hợp với mô hình và loại ứng dụng
– Tôi thường dành vài tuần / tháng nghiên cứu để chọn ra ngôn ngữ phù hợp
➡️Chọn ngôn ngữ và bắt đầu học lập trình
– Đọc sách hoặc từ các tài nguyên học tập khác
– Tìm những người khác thích học hỏi như bạn và học cùng nhau
– Tìm một người thầy để hướng dẫn bạn
➡️Sử dụng mã katas để học ngôn ngữ ( chủ yếu là cú pháp) và các nguyên tắc cơ bản của hệ sinh thái
Một ví dụ Single abstraction kata
– Fizzbuzz
– LeapYear
– Chữ số La Mã
Một ví dụ multiple abstraction kata
– Bowling
– TIC Tac Toe
– Mars Rove
➡️Xây dựng một project với ngôn ngữ mới
Xây dựng Vaughan và học F # là một kinh nghiệm rất đáng giá. Nếu bạn quan tâm đến âm nhạc hoặc guitar thì hãy thử ứng dụng này.
Trước F #, tôi đã học ngôn ngữ Swift cũng như thử làm với iOS.
Hiện tại tôi đang trong quá trình chọn một ngôn ngữ mới để học. Lần này tôi quyết định học một ngôn ngữ hệ thống. Tôi vẫn chưa thể quyết định giữa việc chọn Rust hay học lại C + + bởi cả hai ngôn ngữ đều thú vị.
Nguồn: Tham khảo
 

Nhận xét