• Thứ Sáu, 26/12/2003 15:02 (GMT+7)

    Các nhà phát triển phần mềm nổi dậy

    Không an phận trong tháp ngà môi trường phát triển trọn gói, các nhà phát triển phần mềm luôn tìm kiếm khả năng kiểm soát công việc tốt hơn với công cụ lập trình dòng lệnh thân thiện

    Ngôn ngữ lập trình ngày một phức tạp và các công cụ lập trình cũng ngày càng đồ sộ và rối rắm. Tất cả trút gánh nặng lên vai các nhà phát triển (NPT) và lập trình viên (LTV). Trên TGVT A tháng 10/2003, tr. 90, bài "Các nhà phát triển ứng dụng thích web" cho thấy các NPT thích dùng ngôn ngữ kịch bản đơn giản và giao diện web gọn nhẹ để phát triển ứng dụng. Tương tự, hiện đang có một cuộc cách mạng thầm lặng trong giới làm phần mềm, từ bỏ những công cụ IDE (Integrated Development Environment) cồng kềnh tích hợp nhiều tính năng chuyển sang dùng giải pháp linh hoạt hơn và tự do hơn: công cụ soạn thảo lệnh. Có thể xem đây là sự quay về với những giá trị cơ bản hay đơn giản là nhằm tìm kiếm những công cụ đáp ứng tốt nhất công việc và tiến độ - yếu tố ngày càng được chú trọng.

    Nguyên nhân dẫn đến việc "nổi dậy" này là do sự trói buộc của các IDE được các hãng phần mềm chào mời như là công cụ phát triển thiết yếu. Theo những người ủng hộ giải pháp IDE, LTV làm được nhiều việc hơn nếu thực hiện mọi việc trong một môi trường phát triển chung nhất. Nhưng nhiều LTV (đặc biệt là những người có kinh nghiệm) lại thích giải pháp khác, dùng các công cụ soạn thảo lệnh và các mô-đun bổ sung hay những tính năng mở rộng khác để chọn đúng công cụ cần thiết cho dự án. Họ không thích bị bó buộc trong một môi trường phát triển duy nhất, và cho rằng các IDE quá "bao đồng", nặng nề và có nhiều tính năng dư thừa.
    Câu trả lời là giải pháp công cụ linh hoạt: Chọn công cụ và phương pháp giúp làm việc tốt nhất, nhờ vậy các công ty phát triển phần mềm cũng được lợi và các LTV cũng hài lòng.

    Linh hoạt
    Giải pháp công cụ soạn thảo lệnh, mô-đun bổ sung vượt trội về nhiều phương diện. Trước hết, các công cụ này thường rẻ, có khi miễn phí, vì vậy việc thử nghiệm để tăng hiệu suất làm việc của LTV không đòi hỏi kinh phí lớn.
    Sự tham gia của cộng đồng nguồn mở là một nguyên nhân dẫn đến sự gia tăng các công cụ soạn thảo lệnh gần đây. Đa phần giải pháp soạn thảo lệnh là nguồn mở, hỗ trợ nhiều nền tảng và đa ngôn ngữ (xem bảng "Các công cụ chuyên nghiệp").
    Đối với giới sinh viên và các công ty phần mềm nhỏ thì càng có nhiều giải pháp rẻ và miễn phí càng tốt. Đặc biệt, các công cụ soạn thảo nguồn mở là giải pháp đơn giản cho việc phát triển trên cả hai môi trường Windows và Linux.
    Nguồn gốc nguồn mở còn có một ưu điểm khác: có sẵn mã nguồn. Dùng công cụ nguồn mở, LTV có thể dễ dàng tùy biến để đáp ứng các qui ước của công ty, như mô-đun dùng chung thực hiện truy cập kho mã nguồn tự động.
    Việc tùy biến chỉ là một phần của vấn đề. Còn có những yếu tố khác tạo nên sự khác biệt giữa các công cụ soạn thảo lệnh với các công cụ phát triển khác. Theo các LTV và NPT, trình soạn thảo trong hầu hết các IDE đều kém tính năng và khó xử lý lệnh, thiết kế hướng đến thao tác dùng chuột của các IDE làm chậm tốc độ so với điều khiển bằng bàn phím ở các công cụ soạn thảo lệnh.
    Nhiều NPT thích dạng công cụ soạn thảo như Vim hay Emacs, chúng có thể dùng lập trình, có nguồn mở, nhiều tính năng và có cộng đồng người dùng đông đảo.

    Gắn thêm
    Sự linh hoạt và hiệu quả không phải là những ưu điểm duy nhất của giải pháp công cụ soạn thảo lệnh. Các mô-đun gắn thêm và chế độ mở rộng cho phép thực hiện các dạng công việc đặc biệt cũng là yếu tố quan trọng. Số lượng và sự đa dạng của các mô-đun có sẵn có thể làm bạn kinh ngạc. Chẳng hạn, nếu công ty của bạn dùng mô hình phát triển XP (eXtreme Programming, xem bài "XP thách thứ ISO/CMM" trên TGVT A 7/2003 - tr.90), đã có sẵn mô-đun hỗ trợ cho các bước phát hành phiên bản, phát triển vòng lặp và những công việc cần thực hiện cho dự án XP. Tương tự, nếu công ty của bạn thường thực hiện đóng gói phần mềm, các mô-đun bổ sung có thể giúp qui trình thực hiện tự động. Còn có các mô-đun bổ sung khác hỗ trợ một loạt công việc, từ việc tạo script (kịch bản) Apache Ant đến việc tạo XML và truy cập SQL, và cho phép truy cập tới các công cụ quản lý mã nguồn, như CVS và Rational ClearCase của IBM.
    Giải pháp công cụ soạn thảo lệnh còn hỗ trợ nhiều ngôn ngữ và nền tảng hệ thống cùng với các tính năng như làm nổi bật cú pháp, dùng macro, so sánh file, tính năng cắt-dán nhiều lớp, và khả năng tìm kiếm-thay thế mạnh.

    Ngược lại, nhiều IDE truyền thống chỉ hỗ trợ các công cụ kèm theo của chính hãng sản xuất. Cách tiếp cận "một công cụ dành cho mọi người" có thể đáp ứng cho một số trường hợp nhưng khó có thể phát huy hiệu suất tối đa của tất cả LTV như giải pháp mô-đun. Một số IDE đã "nhận thức" được vấn đề này và bắt đầu thực hiện cách thức phát triển linh hoạt bằng cách cung cấp một số tiện ích soạn thảo và mô-đun gắn thêm (xem "Khi nào dùng IDE").
    Góp phần vào tính linh hoạt của công cụ soạn thảo lệnh là khả năng đa chế độ làm việc cho phép LTV tùy biến công cụ phát triển theo một hay nhiều ngôn ngữ lập trình. Các chế độ làm việc cung cấp tính năng xác định theo ngôn ngữ, LTV đơn giản chuyển đổi giữa các chế độ làm việc để viết các ứng dụng trong những ngôn ngữ khác nhau. Giả sử nhóm phần mềm của bạn phát triển ứng dụng dùng XML, VB .NET, C++, C#, Java và J2EE. Thay vì dùng 3 hay 4 công cụ khác nhau để phát triển, bạn có thể chỉ dùng một công cụ soạn thảo lệnh duy nhất có các chế độ làm việc cho tất cả các ngôn ngữ này.

    Tính mô-đun của giải pháp công cụ soạn thảo lệnh cung cấp cho NPT đúng công cụ cần thiết để đạt được kết quả nhanh chóng, tuy nhiên nó đòi hỏi kỹ năng của NPT. LTV càng nắm vững một ngôn ngữ lập trình thì phát triển chương trình càng nhanh và càng tốt. Mức độ hiểu biết sâu không thể đạt được chỉ với "trỏ và nhấn" (dùng chuột)! Các NPT có kinh nghiệm có thể nắm bắt nhanh chóng và khai thác tốt hơn những công cụ soạn thảo lệnh linh hoạt, đơn giản vì họ quen thuộc hơn với ngôn ngữ và qui trình phát triển.
    Các tính năng phụ trợ của IDE có thể dùng huấn luyện cho các NPT mới làm quen. Tuy nhiên, công cụ soạn thảo lệnh sẽ giúp LTV ít kinh nghiệm nắm bắt những khái niệm cơ bản về ngôn ngữ lập trình dễ dàng hơn vì không bị "trói chặt" bởi những "xiềng xích" của IDE. Ví dụ, Emacs rất "khoan dung" với người dùng mới, nó có phần hướng dẫn và trợ giúp theo ngữ cảnh, và sự hỗ trợ luôn sẵn sàng từ cộng đồng người dùng. Vim cũng có phần hướng dẫn Vimtutor giúp bạn nhanh chóng nắm bắt các thao tác cơ bản.

    Dung hòa
    Nếu công ty của bạn quan tâm đến giải pháp mô_đun linh hoạt, bạn không nhất thiết phải từ bỏ công cụ phát triển hiện tại. Nếu đang dùng một IDE, hãy tìm hiểu xem có thể bổ sung thêm các công cụ soạn thảo, bẫy lỗi và những công cụ khác theo yêu cầu không. Dựa trên số lượng lỗi của phần mềm khi đưa vào sử dụng và thời gian bỏ ra để khắc phục có thể đánh giá chính xác về giải pháp phát triển.
    Tất nhiên, cũng có những giải pháp dung hòa. Có những IDE cho phép mở rộng đưa thêm vào công cụ; cũng có những giải pháp soạn thảo lệnh được "gắn" vào IDE. Ví dụ, Visual SlickEdit có công cụ bổ sung cho WebSphere Studio Application IDE của IBM.
    Hãy để các LTV thử một hay nhiều giải pháp soạn thảo lệnh (may mắn là chúng rẻ hoặc miễn phí) và cho nhận xét đánh giá. Có thể với một số người, dùng IDE truy cập kho mã nguồn là tốt nhất, nhưng với một số người khác thì lại thấy thuận tiện hơn khi dùng công cụ soạn thảo lệnh.
    Những công ty khôn ngoan biết khai thác những tính năng tốt nhất của cả IDE và công cụ soạn thảo lệnh. Các công cụ soạn thảo lệnh hỗ trợ nhiều ngôn ngữ, nền tảng và nhiều mức độ kỹ năng khác nhau, đảm bảo các qui ước của công ty và thường cho hiệu suất cao. Sẽ có lợi nếu để cho NPT có được mức độ kiểm soát nào đó với công cụ phát triển, chính sách công cụ linh hoạt là lựa chọn hợp lý hơn cả.ÿ

    InfoWorld 22/9/2003

     

     

    ID: A0311_112