Học ngôn ngữ lập trình nào bây giờ (Phần 2)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần 2 – Lựa chọn thật ra không quan trọng, học một ngôn ngữ mới là chuyện đơn giản

Đọc tới đây, có lẽ nhiều bạn sẽ quăng bom, ném gạch mình tới tấp “dám chắc thằng chủ thớt không phải coder, phán như thánh”.

Trước khi ném đá, mong các đồng chí bình tĩnh nghe Hoàng giải thích trình bày. Mình cũng từng là sinh viên IT như các bạn. Môn đầu tiên về lập trình mình học khi vào Đại Học là: “Cơ bản lập trình với C”. Mình từng điên đầu với khai báo biến, tách hàm, điều kiện, vòng lặp ,IO…. Môn tiếp theo là “Lập trình hướng đối tượng với C++”. Phải thú thật C++ không phải là ngôn ngữ phù hợp để học hướng đối tượng (Lẽ ra nên dùng Java hay C#). Mình từng nhầm lẫn trước các khái niệm “tính bao đóng, tính kế thừa”. Do đó, bản thân mình cũng biết sự khó khăn gặp phải khi học 1 ngôn ngữ. Tuy vậy, mình vẫn khẳng định học một ngôn ngữ mới là chuyện đơn giản.

ImProgrammer-logo15

Vì sao? Hãy tự xem lại kiến thức lập trình bạn có được khi vừa ra trường:

  • Học qua 1,2 ngôn ngữ gì đó
  • Cấu trúc dữ liệu và thuật toán
  • Thiết kế, truy vấn cơ sở dữ liệu
  • Design pattern (Có thể)
  • Khả năng design front end …..

Khi mới tiếp cận lập trình, chúng ta cảm thấy khó khăn vì phải làm quen với vô số khái niệm mới. Tuy nhiên, khi đã có kiến thức cơ bản, việc tiếp cận ngôn ngữ mới trở nên rất dễ dàng. Bạn có thể tự hỏi, mình học gì khi học 1 ngôn ngữ mới? Đây là câu trả lời:

  • Cách khai báo hàm, biến
  • Cách khai báo vòng lặp, điều kiện if/else
  • Các kiểu cấu trúc dữ liệu: list, set, tuple, …
  • IO, multi-thread, delegate, event
  • IDE phù hợp, cách build, debug
  • Các framework, cách sử dụng, ….

IntelliJ_IDEA_12.0.4_Ultimate

Nếu bạn đã biết cách viết for, if/else, while … trong Java, khi chuyển qua học C# hoặc javascript, cấu trúc hàm for, if/else… vẫn giữ nguyên. Kiến thức của bạn được kế thừa từ ngôn ngữ lập trình trước, do đó việc học sẽ diễn ra nhanh hơn. Hoặc khi bạn đã rõ cơ chế làm việc của ASP.NET RestAPI, việc học cách xây dựng RestAPI bằng Spring của Java cũng không quá khác biệt. Mình từng tự học Python mất 1 tuần, và học framework Django mất khoảng 2 tuần nữa. Lý do mình học nhanh vậy là vì:

  • Mình đã có kiến thức cơ bản về lập trình (class, data structure ….)
  • Mình biết những gì mình cần học. Khi mới lập trình, bạn không biết mình cần học gì. Tuy nhiên nếu đã có kiến thức nói chung về lập trình, bạn sẽ biết mình tập trung học những gì, điều này tiết kiệm rất nhiều thời gian.
  • Mình biết là mình làm được. Khi mình hỏi bạn bè chung ngành “Học 1 ngôn ngữ mới mất bao lâu”, hầu hết đều trả lời “1 tháng hoặc hơn”. Vì thấy tốn nhiều thời gian + khó khăn như vậy nên hầu như họ rất “ngại” học ngôn ngữ mới.

jk3oqtl9qdcykpjticsb

Điều mình muốn nhắn nhủ với các bạn qua bài viết này: Đừng sợ mình sẽ chọn nhầm ngôn ngữ, cứ học đi. Việc học 1 ngôn ngữ mới khi bạn đó có kiến thức cơ sở khá đơn giản, không hề khó khăn và mất thời gian như bạn nghĩ. Thêm vào đó, việc biết nhiều ngôn ngữ sẽ giúp bạn có lợi thế hơn khi xin việc =)).

Hẹn gặp lại các bạn trong phần cuốiLời khuyên của bản thân Hoàng.

Advertisements

4 thoughts on “Học ngôn ngữ lập trình nào bây giờ (Phần 2)”

  1. Đúng đó anh, em năm nay lớp 9, tự học Pascal khoảng 2 tháng rồi chuyển qua C# thấy khá dễ dàng, không những thế mà đọc code bất kì ngôn ngữ nào đều có thể hiểu đại khái nó làm gì (trừ assembly). Tất nhiên là chỉ viết app đơn giản bằng C# chứ chưa đào sâu được 😀

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s