Tài liệu

Lập trình tân binh | 1.2. Các phần mềm quan trọng cho việc lập trình

Huy Erick

Sau khi chúng ta đã hiểu thêm về C++, chúng ta có thể bắt đầu thực hành rồi đúng không? Nhưng chờ đã, trước khi chúng ta có thể bắt đầu lập trình, chúng ta...

Sau khi chúng ta đã hiểu thêm về C++, chúng ta có thể bắt đầu thực hành rồi đúng không? Nhưng chờ đã, trước khi chúng ta có thể bắt đầu lập trình, chúng ta cần phải có các phần mềm cần thiết. Trong phần này, chúng ta sẽ tìm hiểu về việc cài đặt và sử dụng chúng.

Bạn hãy kiên nhẫn chút, chỉ cần đợi chương sau và chúng ta sẽ bắt đầu lập trình thôi.

Vậy chúng ta cần những công cụ gì? Nếu bạn đã đọc kĩ phần trước, bạn hẳn đã biết một trong số các công cụ đó. Bạn có đoán được không?

Đúng rồi, đó là trình biên dịch (compiler), chương trình giúp dịch ngôn ngữ C++ của bạn sang ngôn ngữ nhị phân. Có rất nhiều trình biên dịch dành cho C++. Tuy nhiên, việc lựa chọn trình biên dịch không quá phức tạp trong trường hợp của chúng ta.

Vậy còn gì nữa? Đừng lo, chúng tôi sẽ không để bạn phải đoán thêm. Dưới đây là danh sách những công cụ cần thiết cho một lập trình viên:

Một trình soạn thảo:

  • Để viết mã nguồn của chương trình bằng C++. Trong lý thuyết, một phần mềm như Bloc-Notes trên Windows hoặc vi trên Linux có thể làm được điều đó. Tuy nhiên, sẽ tốt hơn nếu bạn có một trình soạn thảo thông minh có khả năng tô màu các thành phần khác nhau của mã nguồn mà bạn viết, giúp bạn dễ dàng nhận diện chúng hơn. Đó là lý do tại sao không có lập trình viên "bình thường" nào sử dụng Bloc-Notes.

Một trình biên dịch (compiler):

  • Để dịch mã nguồn của bạn sang mã nhị phân.

Một trình soát lỗi (debugger):

  • Giúp bạn tìm ra lỗi trong chương trình. Đáng tiếc là con người chưa phát minh ra trình sửa lỗi để tự động sửa các lỗi này.

Sự thật là, nếu bạn là một người có tài năng bẩm sinh về lập trình, có thể bạn sẽ không cần đến trình soát lỗi... Nhưng tôi biết rằng chỉ sau 5 phút, bạn sẽ quay lại hỏi tôi bạn có thể tìm một trình soát lỗi hoạt động tốt ở đâu.

Giờ chúng ta có hai lựa chọn:

  1. Tải từng công cụ một cách riêng rẽ. Phương pháp này có phức tạp trong việc thi hành, nhưng bạn vẫn có thể thử. Đặc biệt là với Linux, nhiều lập trình viên lựa chọn 3 công cụ riêng rẽ. Chúng tôi sẽ không mô tả chi tiết cách làm này ở đây. Thay vào đó, chúng tôi sẽ giới thiệu cách thứ hai đơn giản hơn.

  2. Sử dụng một chương trình "3 trong 1" (giống như nước giặt tổng hợp). Chương trình này bao gồm cả trình soạn thảo, trình biên dịch và trình soát lỗi. Nó có tên gọi là IDE (integrated development environment), dịch sang tiếng Việt là môi trường phát triển tích hợp.

Có rất nhiều môi trường phát triển khác nhau. Ban đầu, bạn có thể gặp khó khăn trong việc lựa chọn môi trường phát triển mà bạn hài lòng. Tuy nhiên, có một điều chắc chắn là bạn có thể tạo ra bất kỳ loại chương trình nào với bất kỳ môi trường phát triển tích hợp nào mà bạn chọn.

Khi bạn xây dựng một chương trình, bạn đang làm việc trên một project. Một project được tạo nên từ nhiều file code: file .cpp, .h, hình ảnh của chương trình, ...

Vai trò của một IDE là tập hợp tất cả các file của project tại một giao diện. Chính nhờ thế mà bạn có thể truy cập đến tất cả các phần khác nhau của project thông qua một cú nhấp chuột.

Đó là lý do tại sao khi bạn muốn tạo một chương trình mới, bạn cần yêu cầu IDE chuẩn bị cho bạn một "new project".

Dưới đây là một số IDE phổ biến nhất được biết đến. Tất cả đều miễn phí. Cá nhân tôi đã sử dụng tất cả trong số chúng, tùy thuộc vào hoàn cảnh mà tôi lựa chọn một trong số chúng.

  • Code ::Blocks: Đây là một IDE miễn phí và hỗ trợ cho hầu hết các hệ điều hành. Tôi khuyên bạn nên sử dụng phần mềm này khi mới bắt đầu học lập trình (và thậm chí sau này nếu bạn cảm thấy phù hợp). Code ::Blocks hoạt động trên Windows, Mac và Linux.

  • Visual C++: Đây là IDE nổi tiếng nhất trên Windows, được phát triển bởi Microsoft. Phiên bản gốc là phiên bản trả phí và có giá khá cao. May mắn thay, bạn có thể tìm thấy phiên bản miễn phí có tên Visual C++ Express, hoạt động rất tốt và không có nhiều khác biệt so với phiên bản trả phí. Nó rất đầy đủ và có trình soát lỗi hiệu quả. Visual C++ (và Visual C++ Express) chỉ hỗ trợ trên hệ điều hành Windows.

  • Xcode: Đây là IDE sử dụng trên Mac OS X, thường được cung cấp kèm CD cài đặt Mac OS X. Đây là một IDE rất được ưa chuộng bởi các lập trình viên Mac. Xcode chỉ hỗ trợ trên Mac OS X.

Lưu ý đối với người dùng Linux: Tồn tại rất nhiều IDE cho Linux, tuy nhiên các lập trình viên có kinh nghiệm thường lựa chọn biên dịch chương trình "bằng tay" thay vì sử dụng IDE. Điều này tất nhiên sẽ khó hơn một chút, bạn sẽ học nó trong phần sau. Hiện tại, chúng ta sẽ bắt đầu bằng việc sử dụng một IDE. Nếu bạn sử dụng Linux, tôi khuyên bạn nên cài đặt Code ::Blocks để dễ dàng theo dõi các giải thích của tôi.

Ngoài ra, bạn có thể tham khảo Eclipse cho người lập trình C/C++, một IDE mạnh mẽ không chỉ dành cho việc lập trình Java như nhiều người nghĩ.

Có IDE nào tốt nhất không? Tất cả các IDE cho phép bạn lập trình và cho phép bạn tiếp tục theo dõi các phần còn lại của giáo trình mà không gặp phải khó khăn. Một số IDE có nhiều tùy chọn hơn, nhưng trong tất cả các trường hợp, chương trình bạn tạo ra sẽ giống nhau bất kể IDE bạn sử dụng. Vì vậy, việc lựa chọn IDE không quan trọng như người ta thường nghĩ.

Trong suốt giáo trình này, tôi sẽ sử dụng Code ::Blocks. Nếu bạn muốn có các ảnh màn hình giống như tôi, đặc biệt là khi bạn mới bắt đầu học để không cảm thấy bối rối, tôi khuyên bạn hãy bắt đầu bằng cách cài đặt Code ::Blocks.

Code ::Blocks là một IDE miễn phí, hỗ trợ trên Windows, Mac và Linux. Hiện tại, nó chỉ có phiên bản tiếng Anh. Điều này có thể không gây phiền toái vì chúng ta sẽ rất ít khi phải sử dụng các menu.

Tuy nhiên, bạn cũng cần biết rằng khi lập trình, chắc chắn bạn sẽ phải đọc tài liệu bằng tiếng Anh thường xuyên. Đó là một trong những lý do tại sao bạn nên cải thiện khả năng tiếng Anh của mình.

Đối với việc tải Code ::Blocks, nếu bạn sử dụng Windows, hãy chuyển đến phần "Windows" ở phía dưới. Tải phần mềm bằng cách chọn chương trình có chứa "mingw" trong tên (ví dụ: codeblocks-10.05mingw-setup.exe). Phiên bản còn lại không có trình biên dịch, bạn sẽ gặp khó khăn trong việc biên dịch chương trình.

Nếu bạn sử dụng Linux, tốt nhất là tải Code ::Blocks thông qua kho lưu trữ (ví dụ: sử dụng lệnh apt-get trong Ubuntu). Bạn cũng cần cài đặt trình biên dịch: gói build-essential. Để cài đặt trình biên dịch và IDE Code ::Blocks, bạn cần nhập lệnh sau:

apt-get install build-essential codeblocks

Cuối cùng, nếu bạn sử dụng Mac, hãy chọn phiên bản mới nhất trong danh sách.

Tôi muốn nhấn mạnh rằng nếu bạn sử dụng Windows, hãy tải phiên bản chứa "mingw" trong tên (hình ảnh bên dưới). Nếu bạn chọn sai phiên bản, bạn sẽ không thể biên dịch chương trình.

Việc cài đặt rất đơn giản và nhanh chóng. Hãy để tất cả các lựa chọn mặc định và chạy chương trình.

Trong cửa sổ trên, chúng ta thấy có 4 phần chính:

  1. Thanh công cụ: Nó bao gồm rất nhiều nút, nhưng chỉ một số chúng sử dụng thường xuyên. Tôi sẽ nói chi tiết về chúng sau.

  2. Danh sách các tệp của project: Danh sách các file nguồn của chương trình được hiển thị ở bên trái. Bạn hãy nhớ rằng, trong ảnh chụp màn hình trên, chưa có một project nào được khởi tạo: vì vậy chúng ta không nhìn thấy file trong danh sách. Bạn sẽ thấy danh sách các file này sau khi bạn đã tạo một project.

  3. Phần trung tâm: Đây là nơi bạn viết mã nguồn C++.

  4. Phần thông báo: Còn được gọi là "vùng chết", đây là nơi bạn nhìn thấy các lỗi biên dịch chương trình được hiển thị nếu đoạn code của bạn có lỗi. Điều này xảy ra thường xuyên.

Bây giờ chúng ta hãy tìm hiểu một phần đặc biệt trong thanh công cụ. Bạn sẽ thấy các nút sau theo thứ tự trên thanh công cụ: Build, Run, Build and Run, Rebuild. Hãy nhớ rằng, chúng ta sẽ sử dụng chúng thường xuyên.

  • Build: Tất cả các tệp nguồn của project của bạn được gửi đến trình biên dịch. Nếu có lỗi (điều này xảy ra thường xuyên), chương trình sẽ không thể chạy và bạn sẽ nhận được thông báo lỗi trong Code ::Blocks.

  • Run: Biểu tượng này chỉ chạy phần mã nguồn cuối cùng mà bạn đã biên dịch. Điều này giúp bạn kiểm tra chương trình của bạn và xem nó sẽ cho ra kết quả gì. Theo thứ tự, nếu bạn tuân thủ, chúng ta cần biên dịch trước, sau đó thực thi phần mã nhị phân để kiểm tra. Bạn cũng có thể sử dụng nút thứ ba...

  • Build and Run: Đây là sự kết hợp của hai nút trên. Đây cũng là nút bạn sẽ sử dụng nhiều nhất. Bạn cần lưu ý rằng, nếu có lỗi trong quá trình biên dịch, chương trình sẽ không thể chạy. Thay vào đó, bạn sẽ nhận được danh sách lỗi để sửa.

  • Rebuild: Khi bạn chọn trình biên dịch, Code ::Blocks chỉ biên dịch lại các tệp đã thay đổi kể từ lần biên dịch trước. Thỉnh thoảng (tôi muốn nhấn mạnh là chỉ thỉnh thoảng), bạn cần yêu cầu Code ::Blocks biên dịch lại tất cả các tệp. Chúng ta sẽ tìm hiểu khi nào chúng ta cần sử dụng nút này và chi tiết quá trình biên dịch trong một chương sắp tới. Hiện tại, chúng ta chỉ cần hiểu một số kiến thức cơ bản để không nhầm lẫn các yếu tố với nhau. Nút này sẽ không cần thiết cho bạn trong thời điểm hiện tại.

Tôi khuyên bạn nên sử dụng phím tắt thay vì nhấp chuột vào các nút, vì đây là cách mà những người lập trình thường sử dụng. Bạn hãy đặc biệt ghi nhớ rằng bạn phải nhấn phím F9 để biên dịch và chạy chương trình.

Để tạo một project mới, rất đơn giản: Bạn hãy chọn File > New > Project. Trong cửa sổ được hiển thị, bạn hãy chọn Console application.

Như bạn có thể thấy, Code ::Blocks đề xuất thực hiện rất nhiều loại chương trình khác nhau, sử dụng các thư viện nổi tiếng như SDL (2D), OpenGL (3D), Qt và wxWidgets (cửa sổ)... Trước mắt, các biểu tượng này chỉ có tác dụng trang trí vì các thư viện này chưa được cài đặt trên máy tính của bạn. Do đó, bạn chưa thể sử dụng chúng.

Chúng ta sẽ khám phá các kiểu chương trình khác sau này. Trong khi chờ đợi, bạn hãy quen với Console vì bạn chưa đạt đến trình độ cần thiết để tạo ra các loại chương trình khác.

Khi bạn đã ấn vào nút Go để tạo một project, một cửa sổ mới sẽ xuất hiện. Bạn có thể bỏ qua trang đầu tiên và ấn Next. Bạn sẽ được yêu cầu chọn giữa C và C++. Hãy chọn C++. Bạn cũng sẽ được yêu cầu nhập tên và thư mục lưu trữ cho project của bạn. Cuối cùng, trang cuối cùng cho phép bạn chọn cách chương trình sẽ được biên dịch. Bạn có thể giữ các tùy chọn mặc định, điều này sẽ không gây trở ngại gì cho chúng ta vào lúc này.

1