Áp dụng các chiêu thức võ học vào lập trình

Áp dụng các chiêu thức võ học vào lập trình

Nhân cơ hội được đọc từ Facebook https://www.facebook.com/aiviet.nguyen.9, mình chia sẽ lại hi vọng sẽ giúp ích cho các bạn. Bài viết có nhiều ngôn từ về võ học sẽ khiến các bạn không biết võ gặp chút khó khăn nhưng là một bài rất hay, các bạn ráng đọc nhé.

Ba chiêu lập trình
Ngày xưa có phái Vịnh Xuân 3 chiêu. Tập đi tập lại có 3 chiêu thôi, nhưng đến mức tinh thục, xuất quỷ nhập thần, hạ cao thủ các phái khác như bỡn. Ba chiêu là: Xuất chiêu, Dấp dínhHạ thổ.

Thực ra, biển học như rừng, ngày nay lại dễ tìm kiếm tra cứu để dùng khi cần. Không cần và cũng không thể nhồi sọ sẵn. Điều khó không phải là học nhiều mà nắm được điểm tinh yếu để thâu tóm những điều còn lại.
Lập trình cũng vậy. Nếu sa vào các định nghĩa, thuật ngữ và các chi tiết lặt vặt, thì dễ tán loạn và khó luyện cho tinh xảo mà khí huyết nhộn nhạo dễ đi vào ma đạo, chưa kể sợ hãi và chán ghét lập trình.
Nay tại hạ cũng đưa ra 3 chiêu cho mỗi 3 mức lập trình và một mức thiết kế. Tạm gọi là Thuật, Nghệ, Pháp, Đạo.

Thuật đẳng

Dành cho mọi người, muốn sử dụng lập trình vào công việc của mình trong bất cứ ngành nào
– Đệ nhất chiêu: Biến và địa chỉ
– Đệ nhị chiêu: Nhập và lấy dữ liệu
– Đệ tam chiêu: Vòng lặp và điều kiện

Nghệ đẳng

Dành cho người muốn vào nghề lập trình, để kiếm sống. Nếu sạch nước cản 3 chiêu (chưa nói tinh thục) mà chưa có việc vừa ý, xin mời tới gặp tôi.
– Đệ nhất chiêu: Xử lý chuỗi
– Đệ nhị chiêu: Xây dựng giao diện
– Đệ tam chiêu: Kết nối cơ sở dữ liệu

Pháp đẳng

Dành cho những người muốn tự mình phát triển sản phẩm hay tổ chức cho những lập trình viên phát triển một sản phẩm
– Đệ nhất chiêu: Thiết kế cấu trúc dữ liệu và giải thuật
– Đệ nhị chiêu: Thiết kế đối tượng và tính năng
– Đệ tam chiêu: Thiết kế các module chức năng dựa trên yêu cầu nghiệp vụ

Đạo đẳng

Đây là trình độ bậc thầy, có thể lập tông phái
– Đệ nhất chiêu: Nghệ thuật sử dụng debugger để soát lỗi và đọc code
– Đệ nhị chiêu: Viết makefile và quản lý phiên bản
– Đệ tam chiêu: Kiến trúc hệ thống.
Tất cả các chiêu đều dễ dàng nắm nội dung, nhưng có thể biến hóa vô cùng nếu nắm được chỗ tinh diệu. Có thể nói, là hồ lô thâu tóm vũ trụ lập trình. Nắm được và sử ba chiêu thành thục thì không cái gì liên quan là không biết.

Fullstack Station

Nhìn chung, nhiều lập trình viên đều tự nhận “học ngôn ngữ lập trình dễ”, “có thể nắm bắt được ngôn ngữ mới trong 2 tuần ~ 1 tháng”, …Nếu bạn đã từng có suy nghĩ này thì chắc là sẽ thay đổi suy nghĩ đó sau khi các chiêu thức lập trình nói trên. Về cơ bản, một lập trình viên có kinh nghiệm, đã thành thạo 1 ngôn ngữ lập trình ở mức “Nghệ đẳng” sẽ mất khoảng 1 tháng để đạt “Nghệ đẳng”, tuy nhiên để đạt tới mức Pháp và Đạo thì chắc chắn thời gian sẽ lâu hơn.

Mặc dù ở các ngôn ngữ lập trình khác nhau, cũng sẽ có những biến thể khác nhau, nhưng nhìn chung không tách rời bản chất các đẳng Thuật, Nghệ, Pháp, Đạo như đã trình bày. Mình cũng sẽ áp dụng các chiêu thức này để đo xem trình độ của mình đang ở đâu trong mỗi ngôn ngữ lập trình.

Trong các đẳng ở trên, các bạn chú ý ở Đệ nhất chiêu của Pháp đẳng: cấu trúc dữ liệu và giải thuật, mặc dù ở đây được đưa ra ở mức cao, nhưng tính tái sử dụng khá cao cho các ngôn ngữ lập trình khác nhau nên phải học kỹ.

Tóm lại, tất các các chiêu thức nói trên thật ra đều được dạy cơ bản trong trường Đại Học/Cao Đẳng về công nghệ thông tin. Nếu bạn tự học, thì có thể tìm các khoá học phù hợp ở http://study.kienhoc.vn/courses bằng tiếng Việt, hay bằng tiếng Anh ở các trang học online đã nổi tiếng như Coursera, EDX, Udemy, Udacity, Lynda…

Read more