• Thứ Hai, 27/08/2007 17:02 (GMT+7)

    Công cụ nào cho phát triển ứng dụng C/C++?

    Khảo sát một số công cụ phát triển dạng môi trường tích hợp (IDE - Integrated Development Environment, kết hợp các chức năng soạn thảo, biên dịch, sinh mã và gỡ lỗi chương trình) hiện đang được dùng phổ biến, từ đó đưa ra những so sánh, đánh giá để giúp những ai yêu thích lập trình sử dụng ngôn ngữ C/C++ có thể lựa chọn chính xác công cụ mà mình mong muốn.

    1. CÔNG CỤ IDE

    Có rất nhiều công cụ phát triển IDE dành cho ngôn ngữ C/C++, trong bài viết này tôi chỉ tập trung vào các công cụ được sử dụng rộng rãi nhất, sắp xếp theo thứ tự tính tiện ích tăng dần.

    1.1. Turbo C++ 3.0

     

    Hình 1: Giao diện của Turbo C++ 3.0

    Turbo C++ 3.0 là công cụ phổ biến nhất hiện nay được dùng trong các môi trường giáo dục khi cần dạy về lập trình C/C++ cơ bản. Phần mềm của hãng Borland International Inc này ra đời từ năm 1992, rất quen thuộc với đa số sinh viên, lập trình viên vì giao diện giống giao diện của Turbo Pascal, vốn cũng là một phần mềm khác của hãng Borland. Turbo C++ 3.0 có khá nhiều ưu điểm: miễn phí (do hãng Borland không còn hỗ trợ và phát triển tiếp), không cần cài đặt, môi trường tích hợp thuận tiện, dung lượng nhỏ (khoảng 4,3 MB), biên dịch và chạy chương trình nhanh, có thể chạy trên mọi thế hệ máy tính có hệ điều hành DOS. Tuy nhiên phần mềm này có một số nhược điểm cơ bản: không cập nhật, vì thế chỉ có thể sử dụng cho những người mới học lập trình, viết các chương trình chạy trên DOS hay chương trình chạy trên hệ thống nhúng, mô phỏng một số thuật toán đồ họa trên DOS. Các nhược điểm khác của Turbo C++ 3.0: không hỗ trợ các tính năng mới của C/C++ (như kiểu dữ liệu bool, namespace, thư viện STL, các phương thức chuyển đổi kiểu dữ liệu ...), không thể biên dịch chương trình chạy trên nền Windows, không hỗ trợ các công nghệ mới như Intellisense (nhắc người dùng các từ khóa, hàm và kiểu dữ liệu). Bên cạnh đó, thao tác soạn thảo của Turbo C++ 3.0 cũng không tiện lợi vì đòi hỏi sử dụng các tổ hợp phím khá phức tạp. Vì các lý do trên, theo nhận xét của cá nhân tôi, chúng ta không nên tiếp tục sử dụng phần mềm này trừ khi dành cho các mục đích đặc biệt.

    Có thể tải về Turbo C++ 3.0 tại địa chỉ sau: http://www.programfan.com/down/2005/tcpp3full.zip.

    1.2. DevCpp

    Hình 2: Giao diện của DevCpp

     

    DevCpp (phiên bản hiện tại 4.9.9.2) là một phần mềm mã nguồn mở, dung lượng bộ cài đặt DevCpp khoảng 8,89 MB, có thể tải về từ website của hãng Bloodshed Software (http://www.bloodshed.net). DevCpp là công cụ IDE sử dụng trình biên dịch Mingw (một trình biên dịch mã nguồn mở phát triển từ trình biên dịch GCC trên môi trường Linux), hoàn toàn chạy trên Windows, hỗ trợ đầy đủ các tính năng mới của ngôn ngữ C/C++, cho phép gỡ lỗi, soạn thảo chương trình, quản lý project, thêm các thư viện hỗ trợ C/C++ khác. DevCpp hiện nay được khá nhiều lập trình viên sử dụng trong việc phát triển phần mềm thương mại, nguồn mở cũng như trong môi trường giáo dục (có khá nhiều website dạy lập trình C/C++ sử dụng DevCpp để làm bài tập lập trình, project môn học ...). Có lẽ mã nguồn mở, miễn phí, chạy trên Windows chính là ưu điểm lớn nhất của DevCpp. Tuy nhiên DevCpp cũng có một số nhược điểm: chương trình chạy chậm (mặc dù theo như tài liệu trợ giúp đi kèm, yêu cầu hệ thống của DevCpp khá thấp: chạy trên các hệ thống Windows với 8 MB Ram, 30 MB ổ cứng, CPU 100 Mhz (cấu hình đề nghị là Windows 2000/XP, 32 MB Ram, 200 MB ổ cứng, CPU 400 Mhz); việc biên dịch chương trình cũng khá chậm, mã chương trình sinh ra lớn (ví dụ một chương trình C++ đơn giản sử dụng thư viện STL sinh ra file .exe có dung lượng tới 470 KB, sau khi nén bằng UPX còn 270 KB), giao diện soạn thảo và cấu hình có đôi chỗ còn rối rắm, không thuận tiện. Nói chung DevCpp vẫn là một công cụ nên dùng, đặc biệt là trong môi trường giáo dục, hay khi cần sử dụng một công cụ IDE miễn phí. Hầu hết các ứng dụng phát triển với Visual C++ 6.0 (tất nhiên là trừ các ứng dụng viết bằng MFC) khi chuyển sang DevCpp biên dịch đều không gây lỗi.
    Địa chỉ tải: http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe.

    1.3. Pelles C for Windows

     

    Hình 3: Giao diện của Pelles C for Window

    Pelles C for Windows (phiên bản hiện tại 4.50.113) là công cụ IDE miễn phí dành cho việc phát triển ứng dụng C trên Windows. Dung lượng bộ cài đặt là 7.4 Mb. Phần mềm này là một phần dự án của Independent JPEG Group. So sánh với DevCpp, Pelles C for Windows có một số điểm tương đồng: chạy trên Windows, giao diện thân thiện (một phần tương đối giống MS Visual C++ 6.0), hỗ trợ các tính năng mới của C, tính tích hợp cao. Ngoài ra Pelles C có một số ưu điểm so với DevCpp: bộ trợ giúp tốt hơn, đầy đủ hơn (trên website còn có các ứng dụng mẫu khá đa dạng), chương trình biên dịch và chạy nhanh, mã chương trình nhỏ (nhỏ hơn nhiều so với MS Visual C++). Tuy nhiên điểm khác biệt cơ bản chính là Pelles C chỉ dành cho việc phát triển ứng dụng sử dụng ngôn ngữ C (đúng như tên gọi của phần mềm này) trên Windows (tất nhiên các chương trình C viết trên DOS vẫn có thể chạy được). DevCpp khi biên dịch một chương trình đơn giản (chỉ có 1 file chẳng hạn) thì không cần tạo Project để quản lý nhưng Pelles C thì luôn sử dụng project để quản lý các chương trình. Pelles C for Windows sử dụng trình biên dịch riêng và các thư viện API của Windows cung cấp. Nói chung Pelles C for Windows rất thích hợp để phát triển các chương trình hệ thống trên Windows và trên Pocket PC, SmartPhone.

    Có thể tải về tất cả những gì liên quan tới Pelles C for Windows tại địa chi: http://smorgasbordet.com/pellesc/

    1.4. C-Free

    Hình 4: Giao diện của C-Free 3.5.2

     

    Là công cụ IDE của hãng phần mềm xuất xứ từ Trung Quốc ProgramArts, C-Free là phần mềm thương mại, phiên bản chạy ổn định là 3.5.2 (7.07 Mb) và 4.0 (8.4 Mb). Đặc biệt từ C-Free 4.0 có bản Education miễn phí dành cho mục đích dạy học và các môi trường giáo dục. Cũng sử dụng trình biên dịch Mingw nhưng C-Free dịch nhanh hơn so với DevCpp, file kết quả .exe cũng nhỏ hơn. C-Free sử dụng kỹ thuật gọi là Intelligence Input (gần giống với công nghệ Intellisense của Microsoft) cho phép lập trình viên nhanh chóng chèn các đoạn mã lệnh theo kiểu nhắc lệnh và các đoạn mã template vào file đang làm việc. So với DevCpp và Pelles C, C-Free tỏ ra vượt trội ở giao diện, khả năng hỗ trợ soạn thảo mã nguồn. Nói chung nếu để làm việc với C/C++ thì C-Free là một lựa chọn tuyệt vời.

    Có thể tải các bản dùng thử và bản Education của C-Free tại địa chỉ: http://www.programarts.com.

    1.5. Visual C++ 6.0

    Nằm trong bộ phần mềm Visual Studio 6.0 của Microsoft (1 đĩa CD), Visual C++ 6.0 (hiện đã có bản Service Pack 6) chuyên nghiệp hơn so với các công cụ đã được liệt kê ở trên. Đây là một phần mềm thương mại với các tính năng tuyệt vời: biên dịch, gỡ lỗi, soạn thảo và trợ giúp (bộ trợ giúp MSDN) tích hợp, có tính năng trợ giúp soạn thảo bằng nhắc lệnh. Do sự thống trị của hệ điều hành Windows nên trong một thời gian dài Visual C++ 6.0 là công cụ phát triển yêu thích số 1 của rất nhiều lập trình viên. Tuy nhiên nếu chỉ viết các chương trình C hoặc chỉ đơn thuần học tập thì sử dụng Visual C++ 6.0 có lẽ là một sự phí phạm vì yêu cầu về hệ thống cao hơn và chạy chậm hơn so với Pelles C for Windows, C-Free. Bên cạnh đó Visual Studio 6.0 cũng không hỗ trợ lập trình trên nền .NET.

    Yêu cầu về bộ nhớ dành cho phần mềm này khoảng 128 MB Ram và 1 GB ổ cứng.

    1.6. Visual C++.NET 2003

    Visual C++.NET 2003 là phiên bản tiếp theo nối bước thành công của các công cụ IDE dành cho ngôn ngữ C/C++ của Microsoft. Phiên bản này hỗ trợ lập trình C++ trên nền .Net Framework (1.0, 1.1 và 2.0) với công nghệ Intellisense và bộ trợ giúp MSDN đầy đủ hơn. Tuy nhiên cũng giống như đa số các phần mềm khác của Microsoft, MS Visual C++.NET 2003 yêu cầu cấu hình hệ thống cao hơn, chạy chậm hơn. Phần mềm này rất thích hợp dành cho việc phát triển các ứng dụng thương mại, dành cho các lập trình viên chuyên nghiệp hoặc những người muốn tìm hiểu sâu về lập trình trên Windows (qua việc tra cứu MSDN tích hợp), hoặc lập trình trên nền .NET.

    Bộ Visual 2003.NET gồm 3 đĩa CD, bộ trợ giúp MSDN (phiên bản tháng 2 năm 2004) gồm 4 đĩa CD. Sau khi cài đặt chiếm khoảng 3 GB đĩa cứng, dung lượng RAM khuyến cáo là 512 MB.

    1.7. Visual C++ 2005 Express Edition

    Là một phần của bộ phần mềm Visual Studio 2005 Express Edition (bộ phần mềm miễn phí của Microsoft), Visual C++ 2005 Express Edition có lẽ là một trong những bộ phần mềm hệ thống đồ sộ nhất. Trái ngược với tiền lệ không phát triển các phần mềm miễn phí, phiên bản Express Edition của Microsoft có thể khiến nhiều người ngạc nhiên với các chức năng mà nó cung cấp. So với các phần mềm đã được giới thiệu ở trên, Visual C++ 2005 Express Edition hỗ trợ lập trình trên nền .Net Framework tới phiên bản 3.0. Tuy nhiên một số tính năng của Visual Studio 2005 đã bị loại bỏ: không có hỗ trợ phát triển các hệ thống nhúng, không dây, driver, các chương trình Win32. Tuy vậy đây vẫn là một phần mềm miễn phí tuyệt vời.

    IDE này (khoảng 600 MB) có thể tải về tại website của Microsoft: http://msdn.microsoft.com/vstudio/express/downloads/default.aspx.

    1.8. Visual C++ 2005.Net

     

    Hình 5: Giao diện của Visual C++ 2005

    Thực sự là bộ công cụ IDE tốt nhất dành cho việc phát triển chương trình viết bằng ngôn ngữ C/C++, Visual C++ 2005.Net nằm trong bộ Visual Studio 2005 (có nhiều bản khác nhau) của hãng Microsoft. Khác với các phiên bản trước, phiên bản Visual Studio 2005 chỉ gồm 1 IDE chung cho việc phát triển các ứng dụng bằng các ngôn ngữ khác nhau như Visual Basic, C#, C, C++ ... Visual Studio 2005 chia làm nhiều bản, trong đó bản được dùng phổ biến là Visual Studio 2005 Professional (dành cho các lập trình viên chuyên nghiệp, 1 đĩa DVD bao gồm cả bộ MSDN 8.0, bản này yêu cầu phải chép lên đĩa cứng mới cài đặt được), và bản Visual Studio 2005 Team Suite (bản dành cho nhóm dự án với nhiều tính năng hỗ trợ làm việc nhóm, cho phép cài trực tiếp từ đĩa DVD).

    Tuy nhiên cũng giống như các bộ Visual Studio khác, phần mềm này (1 đĩa DVD 2,7 GB) đòi hỏi hệ thống mạnh, yêu cầu bộ nhớ và dung lượng đĩa cứng lớn (khoảng hơn 3 GB sau khi cài đặt xong), và chạy chậm nếu so với C-Free hoặc Pelles C.

    Ghi chú: Còn có một công cụ khác của hãng Borland được dùng phổ biến là C++ Buidler 6.0, tuy nhiên do dùng qua công cụ này nên tôi không đề cập ở đây.

    2. CÔNG CỤ HỖ TRỢ

    Ngoài các công cụ IDE trên, còn có một số công cụ hỗ trợ dành cho một số mục đích đặc biệt: chẳng hạn xem và sửa các file mã nguồn chứ không nhất thiết mở cả project, hoặc hỗ trợ việc nhắc lệnh tốt hơn. Trong phần này chúng ta sẽ xem xét một số phần mềm hỗ trợ kiểu này.

    2.1. Edit Plus

    Hình 6: Giao diện chương trình EditPlus

     

    Có lẽ rất nhiều lập trình viên đã biết phần mềm này, đây là một phần mềm hỗ trợ soạn thảo rất nhiều các loại file chương trình viết bằng các ngôn ngữ khác nhau như C/C++, Pascal, PHP, ASP, Java, HTML ... Khả năng của Edit Plus thể hiện ở chỗ nó hỗ trợ được nhiều loại cú pháp của các ngôn ngữ, môi trường soạn thảo tốt và cho phép liên kết tới các trình biên dịch như C, C++, Java, Pascal, cho phép duyệt trực tiếp file HTML đang soạn thảo nên rất tiện khi chúng ta cần xem, sửa một file mã nguồn nào đó.

    Dung lượng bộ cài đặt (phiên bản 2.31) là 998 KB, có thể tải bản dùng thử tại website http://www.editplus.com. Cũng có thể tải các file chứa cú pháp của các ngôn ngữ tại địa chỉ trên.

    2.2. Visual Assist X

     

    Hình 7: Giao diện chương trình Visual Assist X khi chạy

    Là một phần mềm hỗ trợ, Visual Assist X đã phát triển công nghệ nhắc lệnh Intellisense của Microsoft lên một tầm cao mới. Đây là một sản phẩm tuyệt vời của hãng Whole Tomato Software, phiên bản hiện tại 10.3 có dung lượng 3,55 MB. Sau khi cài đặt Visual Assist X sẽ tạo 1 icon trong giao diện của Visual Studio và bắt đầu cập nhật các từ khóa của C/C++. Khi soạn thảo file mã nguồn, Visual Assist X sẽ thực hiện công việc nhắc lệnh với các từ khóa lưu trong cơ sở dữ liệu của riêng nó (có thể lên tới 100-200 MB). Với phần mềm này, hiệu quả công việc (lập trình) của các lập trình viên sẽ tăng lên đáng kể.

    Có thể tải bản dùng thử tại http://www.wholetomato.com.

    3. KẾT LUẬN

    Tùy các mục đích khác nhau, lập trình viên có thể lựa chọn các công cụ khác nhau. Bài viết này không liệt kê tất cả các công cụ IDE và hỗ trợ phát triển dành cho C/C++ mà chỉ tập trung vào một số công cụ phổ biến nhất hiện nay. Qua việc giới thiệu những điểm cơ bản nhất của các công cụ này, hy vọng cung cấp cho những ai yêu thích lập trình C/C++ một cái nhìn tổng thể, và có thể lựa chọn được công cụ phù hợp với yêu cầu của mình.

    Mặc dù đã hết sức thận trọng và xem xét kỹ các thông tin đưa ra trong bài viết, tuy vậy vẫn có thể không tránh khỏi các sai sót, rất mong nhận được sự đóng góp ý kiến của các bạn. Mọi góp ý, thắc mắc xin gửi về địa chỉ email: tuannhtn@yahoo.com.

    Nguyễn Hữu Tuấn

    Từ khóa: tool_
    ID: A0708_132