Lập trình

Bật Mí Cách Học Lập Trình Căn Bản Cho Người Mới Bắt Đầu

Huy Erick

Bắt đầu học lập trình có thể rất thú vị nhưng cũng có thể rất kinh khủng. Bạn cần duy trì tính kỷ luật và sự hứng thú để có đủ sức mạnh chiến đấu...

Bắt đầu học lập trình có thể rất thú vị nhưng cũng có thể rất kinh khủng. Bạn cần duy trì tính kỷ luật và sự hứng thú để có đủ sức mạnh chiến đấu tới cùng. Dưới đây là 7 điều sẽ giúp việc học lập trình của bạn trở nên “dễ thở” hơn rất nhiều.

1. Đặt Mục Tiêu Cho Việc Học

Mục tiêu đầu tiên: của bạn nên là “Viết những dòng code đầu tiên” (Thật đấy!)

Mục tiêu thứ 2: là “Biến việc học lập trình trở nên đơn giản và nhanh chóng hơn”

Mục tiêu thứ 3: “Trở thành lập trình viên giỏi”

2. Những Điều Bạn Nên Lưu Ý Khi Tự Học

#1: Bắt đầu với Lập trình Front-end cho những phản hồi trực quan Sau nhiều khoá học, chúng tôi nhận ra mọi người sẽ cảm thấy dễ dàng hơn nếu bắt đầu với những thứ có thể nhìn thấy được. Nào bắt đầu với mục tiêu đầu tiên của chúng ta: “BẮT ĐẦU VIẾT CODE”. Với lập trình web Front-end, bạn nên bắt đầu học bộ đôi ngôn ngữ lập trình html và CSS đầu tiên. Bởi lẽ nó rất dễ dàng cho một bài học khởi động. Những gì bạn viết đều sẽ hiển thị ngay trên trình duyệt của bạn.

Sau HTML và CSS, bạn nên bắt đầu với Javascript để tạo ra sự tương tác cho website. HTML/ CSS được sử dụng để tạo ra một website có giao diện đẹp mắt và Javascript được sử dụng để:

  • Tạo tương tác với trang web như cách bạn click trong trò card matching và chọn ô bạn muốn lật
  • Thuật toán được viết bởi Javascript giúp xác định các ô giống nhau sẽ “matched”
  • Khi bạn bắt đầu với lập trình front-end, bạn sẽ có những phản hồi trực quan trong suốt quá trình code. Bạn không cần phải mất công tưởng tượng ra kết quả vì nó hiển hiện ngay trước mắt của bạn và bạn sẽ biết ngay rằng code của bạn có hoạt động hay không.

#2: Những ngôn ngữ học lập trình cho người mới bắt đầu Tiếp theo, cho lập trình backend, bạn nên lựa chọn gì? Bạn sẽ thấy một đống các chọn lựa: Java, C, C++, JavaScript, Ruby, Python, Elixir,…

Điều gì làm chúng khác biệt? Nói đơn giản, ngôn ngữ lập trình bậc thấp được tạo ra để cho máy tính đọc được, còn ngôn ngữ lập trình bậc cao là để con người hiểu rõ. Cách giao tiếp với máy tính tốt nhất thường là thứ con người thường không hiểu được: machine code. Để giúp cho cuộc sống của chúng ta dễ dàng hơn, các lập trình viên đã tạo ra các ngôn ngữ lập trình bậc cao, bằng cách thêm thắt vào machine code. Ngôn ngữ khác nhau sẽ có những điểm khác biệt.

Vì vậy, sau khi thành thạo ngôn ngữ lập trình bậc cao và có thể viết thuật toán một cách dễ dàng, bạn có thể học thêm các ngôn ngữ bậc thấp hơn (với điều kiện kiến thức nền tảng của bạn đã vững vàng)

#3: Học code không chỉ là học cú pháp Tại phần trước, bạn đã thấy được sự khác biệt giữa machine code, ngôn ngữ lập trình bậc thấp và bậc cao. Ngôn ngữ lập trình bậc cao sẽ dễ hiểu, dễ học nhất đối với người sử dụng. Cú pháp là một lý do chính lý giải vì sao nhiều người thích ngôn ngữ này hơn ngôn ngữ khác. Bạn có thể nhận thấy rằng, mỗi ngôn ngữ có cách triển khai đặc thù riêng. Còn xét tính dễ hiểu thì cả 3 đều khá tương tự.

Nếu bạn có nền tảng vững chắc với 1 ngôn ngữ bậc cao, bạn sẽ không gặp khó khăn khi làm quen với ngôn ngữ lập trình bậc cao khác. Mọi người thường cho rằng họ biết cách code khi họ biết về cách viết cú pháp. Nhưng sự thật là cú pháp rất đơn giản. Vấn đề khó nhằn nằm ở việc xâu chuỗi các cú pháp lại để nó hoạt động được.

#4: Hiểu và Thành Thạo Những Nội Dung Lập Trình Cốt Lõi Những nội dung chính rất quan trọng. Nếu so sánh Python, Ruby và Javascript, bạn sẽ nhận thấy chúng khá tương đồng về bộ dữ liệu và cách triển khai. Bạn cũng có thể hiểu rõ các nội dung cốt lõi như Object-Oriented Programming (OOP), Model-View-Controller (MVC),…

Có rất nhiều nội dung được ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> phổ biến trong lập trình. Ruby và Python là 2 ngôn ngữ giúp bạn dễ dàng học được những nội dung này. Đảm bảo rằng bạn hiểu chúng đủ để biết cách triển khai. Khi bạn hiểu một ngôn ngữ rõ ràng, bạn sẽ nhanh chóng học được cách làm sao để triển khai chúng khi sử dụng các ngôn ngữ lập trình khác. Vì vậy, hiểu rõ các nội dung là chìa khóa giúp củng cố nền tảng của bạn.

Đừng vội vã tìm hiểu bất cứ framework hay library nào trước khi bạn hiểu những nội dung chính một cách kỹ càng. Nền tảng yếu sẽ cản trở khả năng học hỏi của bạn. Tìm hiểu Python/ Ruby sẽ giúp bạn củng cố hiểu biết về OOP và MVC.

#5: Library và Framework Đây là khi mọi thứ trở nên quan trọng hơn. Nhiều người lựa chọn ngôn ngữ lập trình dựa trên việc truy cập vào library và framework. Học phải dự trên nhu cầu!

Sự tương đồng giữa library và framework: Tưởng tượng bạn muốn xây một ngôi nhà ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> , bạn sẽ tới cửa hàng để tìm xem có vật liệu/ công cụ nào đang bán mà bạn có thể dùng (library). Bạn có thể chọn bản vẽ thiết kế (framework) để làm theo.

Python: library và framework Python là ngôn ngữ lập trình được biết tới với nhiều ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> Nhiều người học Python vì họ muốn tìm hiểu về machine learning, AI và data science. Nó có nhiều library toán học được thành lập từ rất lâu và hiện nay, nhiều trường đại học ưu tú tại Mỹ đang sử dụng Python cho khoa học máy tính (computer science). Một số Python framework hỗ trợ phát triển web: Flask, Django…

Ruby: library và framework Ruby được biết tới rộng rãi nhờ framework Ruby on Rails. Nếu bạn muốn so sánh tốc độ xây dựng ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> thì Ruby on Rails sẽ đứng hàng đầu bởi có rất nhiều ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> được tạo ra từ framework này.

Ruby library được gọi là gem. Xây dựng ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> với Ruby on Rails kết hợp với gem sẽ cực kỳ dễ dàng. Nó hoàn toàn thích hợp với những người muốn xây dựng MVP nhanh và sớm đưa startup của họ đi vào hoạt động. Nếu bạn muốn củng cố nền tảng của bạn, hãy bắt đầu với framework Sinatra.

JavaScript: library và framework JavaScript có thể được sử dụng cho cả lập trình front-end và back-end.

Frontend Nếu bạn muốn trang web của bạn có tính tương tác, hãy sử dụng JavaScript. Với tư cách là một người mới bắt đầu, sử dụng ngôn ngữ này sẽ giúp trang web của bạn sống động hơn. Framework front-end nổi tiếng là ReactJS. (Framework này thích hợp với những ai có kinh nghiệm code front-end với JavaScript)

Backend Một trong những tính năng chính của JavaScript là khả năng thích ứng, đây là lý do vì nhiều người thích sử dụng framework NodeJS cho những ứng dụng class='hover-show-link replace-link-5' ứng dụng span class='hover-show-content'> cần mở rộng. Tuy nhiên, NodeJS thường gây nhầm lẫn và tốn nhiều thời gian để hiểu. Vì vậy, bạn nên có kinh nghiệm lập trình trước khi sử dụng NodeJS

Với những người mới bắt đầu, bạn có thể học JavaScript cho lập trình back-end SAU KHI bạn đã có kinh nghiệm với Python hoặc Ruby. Python và Ruby là ngôn ngữ lập trình hướng đối tượng. Cả 3 ngôn ngữ lập trình trên đều có thể viết kịch bản và xây dựng web app, với tư cách là người mới bắt đầu, bạn nên học JavaScript cho lập trình front-end. Đối với back-end, bạn nên bắt đầu trước với Python hoặc Ruby. Nếu bạn muốn tìm hiểu thêm về machine learning, AI hoặc data science bên cạnh việc xây dựng app thì Python là lựa chọn lý tưởng cho bạn.

#6: Tham gia vào các cộng đồng Ruby, Python và JavaScript có những cộng đồng rất lớn mạnh. Các cộng đồng IT này hợp tác giúp đỡ nhau mỗi khi gặp khó khăn trong các dự án. Ruby có một cộng đồng được thành lập riêng cho framework Ruby on Rails và phần lớn tập trung vào web development.

Bên cạnh phát triển web, Python còn có cộng đồng khoa học có những khám phá lớn trong các lĩnh vực như data science, AI và machine learning. Cộng đồng JavaScript phần lớn tập trung vào lập trình front-end. Đối với lập trình back-end, NodeJS là framework hot nhất nhưng còn khá mới.

#7: Rèn Luyện Tư Duy Logic & Kỹ Năng Giải Quyết Vấn Đề Định nghĩa về một lập trình viên giỏi là người có tháo vát, độc lập, có nền tảng vững chắc và có kỹ năng giải quyết vấn đề tốt. Tư duy logic và kỹ năng giải quyết vấn đề là chìa khoá để trở thành một lập trình viên giỏi.

Có 2 phần chính trong lĩnh vực lập trình:

  • Ngôn ngữ lập trình & framework
  • Giải quyết vấn đề & tư duy logic

Khi nộp hồ sơ xin việc, bạn sẽ phải trải qua vòng phỏng vấn technical. Thông thường, các công ty sẽ nói: “Chúng tôi không quan tâm đến ngôn ngữ bạn sử dụng trong dự án, cái chúng tôi quan tâm là kỹ năng giải quyết vấn đề của bạn”

Vậy liệu có cần thiết phải học ngôn ngữ không?

Ngôn ngữ lập trình cũng giống như hệ thống chữ ABC, nếu bạn không thể đặt hoàn thiện 1 câu, viết 1 đoạn văn có nghĩa hay giao tiếp được với mọi người thì dù có biết mặt chữ đến mấy cũng không có tác dụng gì. Và điểm khác biệt của một lập trình viên giỏi là khả năng giải quyết vấn đề và khả năng sử dụng ngôn ngữ lập trình để viết ra các giải pháp. Lập trình là ngôn ngữ đáng học nhất nếu bạn đã hoạch định rõ ràng các mục tiêu. Sự thật là, có QUÁ NHIỀU thứ để học và bạn có thể bị quá tải. Việc học lập trình cho người mới bắt đầu phải dựa trên nhu cầu. Nó sẽ giúp bạn giữ được hứng thú trong quá trình chinh phục mục tiêu.

Nếu bạn thật sự đam mê, và muốn con đường đi của mình đúng hướng, bạn có thể tìm cho mình "người bạn đồng hành" thật chất lượng, đó có thể là những người làm nghề đi trước, hay các trung tâm dạy về mảng công nghệ thông tin. Dù sao đi nữa, chúc bạn thành công với ước mơ "trở thành lập trình viên" của mình!

Nguồn: Next Academy

1