LÀM THỂ NÀO ĐỂ BẮT ĐẦU HỌC MỘT NGÔN NGỮ MỚI THẬT HIỆU QUẢ?

17-04-2018 09:14

 

Mỗi năm, tôi lại phải bắt đầu học lại hoặc học thêm một số ngôn ngữ mới để bắt kịp với xu thế của ngành nghề, xã hộ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ề ngôn ngữ lập trình này. Tôi cũng đã thử một vài ngôn ngữ như Ocaml, Clojure, F# và Haskell,… nhưng cuối cùng thì tôi lại quyết định học F#.

Đây là một quá trình tốn rất nhiều thời gian, khi mà bạn học cú pháp và bắt đầu viết code đơn giản bằng ngôn ngữ đó. Khi mới 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 mình đã thực sự 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à các 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 cho nó cái tên là Vaughan.

Quá trình để 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.

Một số ví dụ:

  • Hướng đối tượng (Java, C #, …)
  • Chức năng (Haskell, F #, Clojure, …)
  • Logic (Prolog, …)
  • Procedural (C, Pascal, …)
  • Declarative (SQL, ..

Một số 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

  • Đọ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
  • Đối với F # Tôi may mắn có đực người bạn là Samir Talwar hướng dẫn cho.

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 nhé!

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ữ này đều rất thú vị.

Ban Truyền thông ITPlus Academy

 

Bài viết cùng chủ đề