# 43: Biết cách sử dụng các công cụ dòng lệnh

Ngày nay, nhiều công cụ phát triển phần mềm được đóng gói dưới dạng Môi trường phát triển tích hợp (IDE). Visual Studio của Microsoft và phần mềm mã nguồn mở Eclipse là hai ví dụ phổ biến mặc dù bên cạnh đó có rất nhiều phần mềm khác.Có rất nhiều điều để thích về IDE. Không chỉ dễ sử dụng, chúng còn giúp lập trình viên suy nghĩ về rất nhiều chi tiết nhỏ liên quan đến quá trình xây dựng.

Dễ sử dụng, tuy nhiên, có nhược điểm của nó. Thông thường, khi một công cụ dễ sử dụng, đó là vì công cụ đang đưa ra quyết định cho bạn và tự động thực hiện nhiều việc, đằng sau hậu trường. Do đó, nếu IDE là môi trường lập trình duy nhất mà bạn từng sử dụng, bạn có thể không bao giờ hiểu đầy đủ những gì công cụ của bạn đang thực sự làm. Bạn bấm vào một nút, một số điều kì diệu xảy ra và một tệp thực thi xuất hiện trong thư mục dự án.

Bằng cách làm việc với các công cụ xây dựng dòng lệnh, bạn sẽ học được thêm rất nhiều về những gì các công cụ đang làm khi dự án của bạn đang được xây dựng. Viết các tập tin của riêng bạn sẽ giúp bạn hiểu tất cả các bước (biên dịch, lắp ráp, liên kết, v.v.) mà đi vào việc xây dựng một tập tin thực thi.Thử nghiệm với nhiều tùy chọn dòng lệnh cho các công cụ này cũng là một kinh nghiệm giáo dục có giá trị. Để bắt đầu với việc sử dụng các công cụ xây dựng dòng lệnh, bạn có thể sử dụng các công cụ dòng lệnh nguồn mở như GCC hoặc bạn có thể sử dụng các công cụ được cung cấp với IDE bản quyền của bạn. Xét cho cùng, một IDE được thiết kế tốt chỉ là một giao diện đồ họa cho một bộ công cụ dòng lệnh.

Ngoài việc cải thiện hiểu biết của bạn về quá trình xây dựng, có một số tác vụ có thể được thực hiện dễ dàng hoặc hiệu quả hơn với các công cụ dòng lệnh so với IDE. Ví dụ, các khả năng tìm kiếm và thay thế được cung cấp bởi các tiện ích grepsed thường mạnh hơn các khả năng tìm thấy trong IDE. Các công cụ dòng lệnh vốn đã hỗ trợ kịch bản, cho phép tự động hóa các tác vụ như sản xuất các bản dựng hàng ngày theo lịch trình, tạo nhiều phiên bản của dự án và chạy các bộ thử nghiệm. Trong IDE, loại tự động hóa này có thể khó thực hiện hơn (nếu không thể thực hiện được) vì các tùy chọn xây dựng thường được chỉ định bằng hộp thoại GUI và quá trình xây dựng được gọi bằng một cú click chuột. Nếu bạn không bao giờ rời khỏi IDE, bạn thậm chí có thể không nhận ra rằng các loại tác vụ tự động này có thể thực hiện được.

Nhưng chờ đã. IDE không tồn tại để làm cho việc phát triển dễ dàng hơn và để cải thiện năng suất của lập trình viên ư? Vâng, chuẩn luôn. Gợi ý được trình bày ở đây không phải là bạn nên ngừng sử dụng IDE. Gợi ý là bạn nên “nhìn dưới mui xe” và hiểu IDE của bạn đang làm gì cho bạn. Cách tốt nhất để làm điều đó là học cách sử dụng các công cụ dòng lệnh. Sau đó, khi bạn quay lại sử dụng IDE của mình, bạn sẽ hiểu rõ hơn nhiều về những gì nó đang làm cho bạn và cách bạn có thể kiểm soát quá trình xây dựng. Mặt khác, khi bạn thành thạo việc sử dụng các công cụ dòng lệnh và trải nghiệm sức mạnh và tính linh hoạt mà chúng cung cấp, bạn có thể thấy rằng bạn thích dòng lệnh hơn IDE.