Nhu cầu học lập trình đang ngày càng cao, tuy nhiên không phải ai cũng có điều kiện để vào các trường Đại học hay Cao đẳng, do đó mà các khóa học cấp tốc hay các trang dạy lập trình từ có phí đến miễn phí mọc lên ngày càng nhiều để đáp ứng nhu cầu của người học.
Nếu như ở trong trường đại học, các chủ đề trong các khóa học lập trình từ nhập môn cho đến nâng cao đều được chuẩn bị theo thứ tự để sinh viên có thể nắm bắt tất cả các khái niệm cần biết của một ngôn ngữ lập trình, thì đối với người tự học lập trình từ trên mạng thì thường không biết phải bắt đầu từ đâu và hay học những thứ “nghe là thấy thích” chẳng hạn như có bạn nghe Facebook được viết từ PHP thế là đâm vào học PHP, kéo theo là HTML, CSS, Javascript… hay mình thấy có mấy bạn chuyên ngành kinh tế ngưỡng mộ Flappy Bird của anh Nguyễn Hà Đông thế là lao vào tìm sách và tài liệu lập trình Android, iOS… và thường thì những bạn này cũng không học theo các chủ đề đã được sắp xếp sẵn mà thường học lung tung làm sao để có thể làm được giống như “thần tượng” của mình trước đã. Điều này cũng đúng thôi vì ngay cả mình học đại học chính quy Công nghệ thông tin cũng đâu có tìm hiểu tất cả mọi thứ có trong một ngôn ngữ lập trình.
Tuy nhiên có những thứ mà bất cứ người mới học lập trình nào cũng phải học, đây là những khái niệm cơ bản trong lập trình mà bất cứ ngôn ngữ nào cũng phải có, một khi bạn đã làm chủ những thứ này thì bạn sẽ có thể học các ngôn ngữ khác một cách dễ dàng.
Kiểu dữ liệu
Có một câu nói rất nổi tiếng đó là :
Chương trình (Program) = Cấu trúc dữ liệu (Data Structure) + Thuật toán (Algorithm)
Cấu trúc dữ liệu (hay kiểu dữ liệu) là những thứ như số nguyên, số thực, chuỗi kí tự… đây là những kiến thức cơ bản mà bạn cần phải học, một khi bạn đã làm chủ các kiểu dữ liệu bạn mới có thể tiếp tục tìm hiểu sâu về ngôn ngữ mình đang học hay học các ngôn ngữ khác.
Cấu trúc điều khiển, các phép toán
Đây chính là thành phần tạo nên thuật toán. Chúng là các câu lệnh điều khiển chương trình của bạn. Các phép tính cộng trừ, nhân, chia, so sánh, gán… các lệnh kiểm tra điều kiện (như if…else) và các lệnh lặp (như for, while). Chúng thực hiện việc tính toán dữ liệu và điều khiển chương trình của bạn. Đối với những người mới học lập trình thì lý thuyết về chúng rất dễ hiểu và dễ dùng nhưng để thành thục thì cần thời gian thực hành khá nhiều.
Hàm
Đây là một thành phần quan trọng và rất tiện dụng của một ngôn ngữ lập trình. Hàm (hay có một số tên khác là thủ tục, phương thức…) cho phép bạn tái sử dụng mã nguồn, qua đó giúp bạn tiết kiệm thời gian viết code. Gần như tất cả các ngôn ngữ lập trình đều hỗ trợ hàm và cách sử dụng chúng cũng rất giống nhau.
Hướng đối tượng
Tiếng Anh là Object Oriented Programming (OOP). Khi bạn đã thành thục các thứ trên thì đây là thứ bạn cần học tiếp. Hướng đối tượng là một kĩ thuật lập trình khó nhưng rất quan trọng. Nếu hàm cho phép bạn phân chia chương trình thành những chương trình nhỏ hơn để dễ quản lý thì hướng đối tượng cho phép bạn phân chia chương trình thành những thực thể để quản lý. Hầu hết các ngôn ngữ lập trình cao cấp đều hỗ trợ hướng đối tượng. Thường thì lúc mới học bạn sẽ chưa thấy tầm quan trọng của OOP ngay đâu, chỉ khi bạn làm một chương trình lớn mới thấy được, thực ra thì OOP đúng là được phát minh ra nhằm mục đích giúp cho việc quản lý các chương trình lớn dễ dàng hơn so với hàm mà. Lý thuyết của OOP rất khó hiểu nhưng bạn đừng nản, cứ thực hành nhiều sẽ ngộ ra thôi :).
Tạm kết
Lập trình là một lĩnh vực khó, bạn phải có tư duy của một lập trình viên. Một khi bạn đã làm chủ được những điều trên thì bạn đã là một lập trình viên khá cứng rồi và bạn có thể học bất kỳ ngôn ngữ nào mà bạn thích chỉ trong vòng vài ngày hay thậm chí là vài giờ.