Chào mừng bạn đến với chuyên đề kỹ thuật lập trình. Đây là chuyên đề lập trình cơ bản giành cho những bạn mới chưa biết gì về lập trình nhưng có mong muốn học và tìm hiểu nó. Bài viết này mình muốn giới thiệu tới bạn những khái niệm và tư duy đầu tiên về cái gọi là lập trình.
Mở đầu
Trước khi bắt đầu học lập trình, bạn cần xác định lại một vài tư tưởng cho bản thân. Đầu tiên bạn hãy tự trả lời cho chính bản thân mình câu hỏi sau đây:
- Vì bắt buộc học, do lỡ chọn nhầm nghề.
- Vì thấy thông tin báo chí nghề lập trình đang rất hot và dễ xin việc.
- Vì nghề này kiếm được nhiều tiền, dễ nổi tiếng.
- Vì xem phim thấy lập trình viên chỉ ngồi máy tính phòng lạnh, không gian đẹp và hiện đại.
- Vì muốn làm hacker, thấy hacker trên phim pro quá.
- Vì thích chơi game nên muốn tìm hiểu để viết game.
- Hoặc đơn giản là tìm hiểu chơi cho biết.
- …
Có muôn vàn lý do phải không nào? Thế nhưng bạn ạ, nếu bạn chọn học lập trình vì những lý do trên thì một lời khuyên chân thành là bạn hãy từ bỏ suy nghĩ đó và tìm học một cái gì đó khác thì sẽ có ích cho bạn hơn. Mình không muốn vẽ ra cho bạn một viễn cảnh màu hồng nào đó về nghề lập trình. Bởi đây là một nghề có sự đào thải rất lớn, và việc học nó cũng không đơn giản hay dễ dàng gì nếu bạn không có sự đam mê, quyết tâm và một chút năng khiếu. Do đó bạn hãy suy nghĩ thật kỹ câu trả lời cho bản thân trước khi bắt đầu. Mình không muốn bạn chọn sai con đường cho tương lai của chính bản thân bạn.
Lập trình là gì ?
Đọc đến đây, nếu bạn đã có câu trả lời và vẫn muốn tiếp tục thì mình xin hoan nghênh. Dù chưa biết câu trả lời của bạn là gì nhưng điều đó cho thấy bạn có quyết tâm. Và khi có quyết tâm theo đuổi thì nghề này cũng sẽ mang lại cho bạn nhiều điều thú vị. OK, vậy thì chúng ta sẽ đi vào khái niệm đầu tiên nhé. Đó là “lập trình là gì?”.
Đầu tiên bạn cần hiểu rằng, máy tính mà bạn đang sử dụng bao gồm: pc, laptop, smartphone, game console,… Đều là sản phẩm của sự kết hợp giữa phần cứng và phần mềm.
- Phần cứng là những bộ phận mà bạn có thể thấy và rờ được (main board, ram, hdd, mouse, keyboard,…).
- Phần mềm là những chương trình được cài đặt trên máy tính nhằm thực hiện công việc hoặc chức năng nào đó phục vụ mục đích sử dụng của con người (hoặc máy, hoặc phần mềm khác). Phần mềm có thể bao gồm cả hệ điều hành (Windows, Linux, Mac, iOS, Android,…), các chương trình ứng dụng, game, virus, plugin hoặc đôi khi chỉ là một module chức năng nào đó.
Và lập trình chính là công việc sản xuất và gia công các sản phẩm phần mềm. Nhưng để làm được điều đó thì bạn cần phải học và biết được một ngôn ngữ lập trình nào đó phù hợp với sản phẩm mà bạn muốn sản xuất. Vậy thì “ngôn ngữ lập trình” là gì? Nó có giống như tiếng Việt hay Anh, Pháp, Đức, Phần Lan,… không?
Ngôn ngữ lập trình là gì?
Trước khi giải đáp câu hỏi này thì bạn cần phải hiểu là máy tính hoạt động và giao tiếp với phần mềm bằng một loại ngôn ngữ. Đó là ngôn ngữ máy tính, ngôn ngữ này là một chuỗi các chỉ thị được thể hiện bởi hai giá trị 0 và 1. Ví dụ: 01100110 01100001 01100010 01101001 01110100 01101001. Nhìn vào chuỗi ví dụ bạn có hiểu gì không? Nếu hiểu thì bạn không cần học chuyên đề này nữa, hãy tìm nội dung phù hợp hơn bạn nhé. Còn nếu không hiểu gì thì cũng đừng lo lắng gì cả nhé, vì mình cũng chẳng hiểu gì cả ^^. Chính bởi vì không hiểu gì cả nên chúng ta cần học một cách thức nào đó để có thể giao tiếp được với máy tính và đó chính là ngôn ngữ lập trình.
Ngôn ngữ lập trình là một dạng ngôn ngữ giúp chúng ta giao tiếp với máy tính. Nói cách khác, ngôn ngữ lập trình đóng vai trò như phiên dịch viên giúp chuyển đổi các chỉ thị của chúng ta thành dạng ngôn ngữ máy tính. Nhờ đó mà máy tính có thể hiểu và thực hiện được các chỉ thị của chúng ta.
Học ngôn ngữ lập trình nào?
Giống như việc bạn học ngoại ngữ, có rất nhiều ngôn ngữ phải không nào? Nào là tiếng Anh, tiếng Pháp, tiếng Phần Lan, … Và ngôn ngữ lập trình cũng vậy, nào là C, C++, C#, Objective C, Swift, Python, Java, PHP, … Thế nhưng do bạn là người mới nên trong chuyên đề này mình sẽ sử dụng C++ nhé. Sau khi nắm vững C++ thì việc học các ngôn ngữ khác sẽ trở nên rất dễ dàng. Lúc đó bạn có thể tự mình tìm học các ngôn ngữ đó trong website này của mình.
Thế còn C/C++ là gì? Nó là C hay C++? Đây cũng là thắc mắc mà khá nhiều bạn hay hỏi mình. Lý do cũng bởi trên mạng hoặc sách báo bạn hay gặp viết liền kiểu như “C/C++”. Thực chất thì C và C++ là 2 ngôn ngữ riêng biệt nhưng không đối lập nhau. C là ngôn ngữ lập trình bậc trung, C++ là ngôn ngữ lập trình bậc cao (một số tài liệu thì chỉ xem C++ là bậc trung mà thôi). Vì vậy mà C++ bao trùm và bổ khuyết cho ngôn ngữ C, hoặc bạn cũng có thể tạm xem C++ là ngôn ngữ mở rộng của ngôn ngữ C.
Thực ra thì ở khía cạnh lập trình cơ bản bạn học ngôn ngữ C hay C++ cũng không có khác biệt gì đáng kể. Do đó bạn có thể bắt đầu bằng ngôn ngữ nào cũng được. Nhưng theo mình thì bạn nên bắt đầu bằng C++, vì với sự cải tiến của ngôn ngữ lập trình bây giờ học C++ thì bạn sẽ nhanh tiếp cận những ngôn ngữ khác hơn do tính chất hướng đối tượng của nó.
Công cụ lập trình
Để lập trình C++ thì có khá nhiều công cụ để hỗ trợ bạn. Có thể kể đến như Visual Studio cho Windows, XCode cho Mac, Eclipse cho đa nền tảng. Những IDE trên đều là những IDE rất tốt để lập trình. Trong chuyên đề này mình muốn giới thiệu tới bạn 03 IDE để sử dụng học lập trình C++, tuỳ vào từng sở thích mà bạn chọn lựa IDE phù hợp cho mình nhé.
Visual Studio 2017
Đây là môi trường lập trình rất mạnh mẽ do Microsoft phát triển. Đối với những bạn mới học thì đây là công cụ có giao diện rất trực quan và dễ sử dụng. Tuy nhiên bộ công cụ này có một nhược điểm đó là khá “nặng”. Đầu tiên, bạn hãy vào đường dẫn bên dưới để cài đặt nhé.
➤ Lưu ý: Các bài viết tiếp theo, mình sẽ sử dụng Visual Studio 2017 để minh hoạ cho bài học. Tuy nhiên nếu bạn không thích Visual Studio 2017 vì nó quá nặng thì bạn có thể tham khảo thêm 02 công cụ mình trình bày bên dưới nhé.
Để cài đặt và sử dụng Visual Studio 2017 thì mời bạn xem video dưới đây nhé. Trong video này mình cũng sẽ hướng dẫn bạn cách thức tạo project và lập trình C++ trong Visual Studio 2017.
Code::Blocks
Đây là IDE khá nhẹ lại hỗ trợ đa nền tảng (có đủ các phiên bản cho cả Windows, Mac, Linux). Đầu tiên, bạn hãy vào đường dẫn sau để download Code:Blocks về nhé.
➤ Lưu ý: Đối với Mac OS và Linux thì bạn cứ chọn phiên bản tương ứng với hệ điều hành của mình. Nhưng đối với Windows thì mình khuyên bạn hãy download phiên bản mingw-setup.exe. Bởi phiên bản này được tích hợp sẵn trình biên dịch GCC/G++ và trình gỡ rối (debugger) GDB. Để cài đặt và sử dụng, bạn hãy xem video dưới đây nhé. Nội dung video sẽ hướng dẫn bạn cách thức để cài đặt Code::Blocks. Đồng thời qua video này mình cũng hướng dẫn luôn bạn phương pháp tạo project luôn.
XCode cho Mac OS
Đây là IDE giành cho những bạn nào đang sử dụng Mac OS. IDE này được Apple phát triển, do đó nếu bạn nào đang sử dụng Mac OS thì XCode cũng là một sự lựa chọn không tồi vì đây là hàng chính chủ.
Để cài đặt và sử dụng XCode thì mời bạn xem video dưới đây nhé. Trong video này mình cũng sẽ hướng dẫn bạn cách thức tạo project và lập trình C++ trong XCode luôn.
Tổng kết
Trên đây mình đã trình bày tới bạn một số khái niệm mở đầu. Đồng thời qua bài viết mình cũng đã hướng dẫn bạn cách thức để download và cài đặt IDE phục vụ cho việc học lập trình cơ bản. Hy vọng rằng qua bài viết này bạn sẽ có một cái nhìn khái quát về lập trình. Nếu có gì thắc mắc bạn hãy comment bên dưới nhé.