Hai hướng tiếp cận để học lập trình: Top-Down và Bottom-Up
Trước đây hơn 1 năm, tôi may mắn được sếp dẫn đi để cùng phỏng vấn một vài bạn có kinh nghiệm 1, 2 năm. Lần đầu được tham gia với vai trò là người phỏng vấn, tôi khá hứng thú và cũng tự mình chuẩn bị một vài câu hỏi chuyên sâu một tý, nhưng lúc trao đổi với sếp (trước khi vào phỏng vấn) thì sếp lại ...
Trước đây hơn 1 năm, tôi may mắn được sếp dẫn đi để cùng phỏng vấn một vài bạn có kinh nghiệm 1, 2 năm. Lần đầu được tham gia với vai trò là người phỏng vấn, tôi khá hứng thú và cũng tự mình chuẩn bị một vài câu hỏi chuyên sâu một tý, nhưng lúc trao đổi với sếp (trước khi vào phỏng vấn) thì sếp lại bảo chưa cần. Tôi cũng có chút thất vọng, nhưng chỉ nghĩ là chắc mình còn chưa có kinh nghiệm nên thôi cứ vào nghe thôi cũng được. Và bất ngờ là trong lúc phỏng vấn, sếp toàn đưa ra những câu hỏi tưởng chừng rất đơn giản của lập trình hướng đối tượng (basic Java), cứ ngỡ sẽ không thể làm khó được những chàng sinh viên IT, nhưng sự thật nó lại làm khó, ấp úng những người đã đi làm 1 vài năm, thậm chí trãi qua 3, 4 dự án. Chợt nhận ra lẽ nào họ đã quên hết những điều cơ bản nhất? hay làm sao họ có thể hoàn thành những dự án mà không cần nắm vững những kiến thức cơ bản đó sao?
Gần đây, đọc một bài viết về những hướng tiếp cận để học lập trình, tôi đã hiểu được nguyên nhân và hiểu được điều mà những người lập trình viên giàu kinh nghiệm như sếp mong muốn ở một beginer hay junior developer. Xin được chia sẻ dưới đây.
Về cơ bản có 2 phương pháp tiếp cận chung để học lập trình là Top-Down và Bottom-Up, và cả 2 đều có những ưu và nhược điểm riêng.
1. The Top-Down Approach
Với hướng tiếp cận này, mục tiêu chính sẽ là học bằng cách tạo ra những (phần nhỏ của) phần mềm thực sự.
Hầu hết những người tự học sẽ hướng mình theo cách tiếp cận này lúc mới bắt đầu học code. Vì đơn giản họ mong muốn mình làm được những thứ hấp dẫn ngay lập tức như một trang web hay một game 2D, 3D...
Và cách nhanh nhất để làm điều đó là học làm theo một bài tutorial - dài và cụ thể, một tutorial được hướng dẫn rất chi tiết. Nếu bạn thực hiện theo các bước chính xác, bạn được đảm bảo sẽ tạo ra một cái gì đó (thú vị với bạn).
1.1 Top-Down: The Good
Điều tốt đẹp mà cách tiếp cận này mang lại là bạn tạo ra một cái gì đó rất nhanh chóng. Cảm giác thật sung sướng khi tạo ra một phần mềm thực sự bằng chính tay bạn trong thời gian ngắn. Bạn có thể bị nghiện cảm giác đó