Đạo lập trình [3]

Quyển 3 – Thiết kế.

Lập trình sư truyền rằng: “Quá muộn màng để thay đổi thiết kế khi một chương trình đã đang được kiểm thử.”

Chương 3.1

Khi xưa, có một người anh chàng đến một hội chợ bán máy tính. Mỗi lần vào cổng, anh ta bảo với bảo vệ rằng:

“Ta là một tên trộm vĩ đại, khét tiếng về trộm cắp vặt. Ta cảnh báo trước vậy vì hội chợ này cũng sẽ không là ngoại lệ với ta.”

Lời nói này làm người bảo vệ rất lo lắng, bởi lẽ có bao nhiêu thiết bị máy tính trị giá hàng triệu đô-la trong hội chợ, nên ông theo dõi anh chàng này rất ghê. Tuy vậy, anh ta cũng chỉ lượn lờ hết quầy này đến quầy nọ, miệng tự lầm rầm khe khẽ.

Khi anh chàng ra về, người bảo vệ yêu cầu anh ta đứng ra một bên, lục soát rất kỹ toàn bộ quần áo anh ta nhưng chẳng tìm thấy gì cả.

Ngày tiếp theo của hội chợ, anh chàng lại quay lại và tỏ vẻ bực dọc với người bảo vệ:” Hôm qua tôi đã thoát ra với một mẻ lớn, hôm nay chắc còn thu hoạch được hơn nữa.” Thế là người bảo vệ lại dõi theo anh chàng chặt hơn nhưng cũng chẳng thu được kết quả gì.

Ngày cuối cùng của hội chợ, người bảo vệ không thể kìm chế sự tò mò hơn được nữa bèn đánh tiếng hỏi : Thưa ngài trộm, tôi băn khoăn trăn trở mãi. Xin hãy cho tôi biết với. Ngài ăn trộm được gì vậy?”

Anh chàng mỉm cười, nói rằng: “Ta ăn trộm các ý tưởng.”

Chương 3.2

Có một lập trình sư viết những chương trình phi cấu trúc. Một lập trình viên mới vào nghề, tìm cách bắt chước, cũng bắt đầu viết các chương trình phi cấu trúc. Khi lập trình viên ấy nhờ lập trình sư đánh giá tiến triển của mình, lập trình sư đã chỉ trích lỗi viết chương trình không có cấu trúc gì cả rằng “Không phải cái gì của lập trình sư cũng sẽ phù hợp với tay non. Cậu phải hiểu được Đạo trước khi bỏ qua được cấu trúc.”

Chương 3.3

Có lần, một lập trình viên bị triệu đến công đường của tướng Vũ. Vị tướng hỏi lập trình viên rằng: “Việc nào dễ hơn để thiết kết: một gói phần mềm kế toán hay một hệ điều hành?”

“Hệ điều hành,” lập trình viên đáp lời.

Vị tướng tỏ vẻ rất ngạc nhiên ra chiều không tin. “Chắc chắn là một gói phần mềm kế toán kém phức tạp hơn nhiều so với hệ điều hành chứ nhỉ?”

“Không hẳn vậy”, lập trình viên trả lời, “khi thiết kế một gói phần mềm kế toán, người lập trình viên cần đóng vai như người trung gian giữa những người có ý kiến khác nhau về đủ thứ như: nó sẽ vận hành thế nào, báo cáo phải ra sao và còn phải phù hợp với luật thuế nữa. Trái lại, một hệ điều hành thì không bị giới hạn bởi yếu tố ngoại lai. Khi thiết kế  hệ điều hành, người lập trình viên chỉ cần tìm kiếm sự hài hoà tối giản giữa máy tính và ý tưởng mà thôi. Đó là lý do vì sao thiết kế hệ điều hành dễ hơn.”

Tướng Vũ gật đầu và mỉm cười: “Nói thế thì quả là đúng quá, Nhưng cái nào thì dễ bắt lỗi hơn? ”

Lập trình viên im lặng không hồi đáp.

Chương 3.4

Một quản lý đến gặp và đưa cho lập trình sư tài liệu yêu cầu của một ứng dụng mới. Quản lý hỏi lập trình sư:”Phải mất bao lâu để thiết kế xong hệ thống này nếu tôi giao cho 5 lập trình viên làm?”

“Sẽ mất một năm” lập trình sư nhanh chóng đáp lời.

“Nhưng chúng ta cần hệ thống này ngay và sớm hơn nhiều! Thế sẽ mất bao lâu nếu tôi giao cho 10 lập trình viên cùng làm?”

Lập trình sư nhướn mày đáp:”Trong trường hợp đấy thì sẽ mất đến hai năm.”

“Vậy chuyện gì nếu tôi giao cho 100 lập trình viên thực hiện?”

Lập trình sư nhún vai đáp: “Thế thì bản thiết kế sẽ không bao giờ hoàn thành được.”

Quyển 4 – Lập trình

Lập trình sư truyền rằng:

“Một chương trình được viết tốt chính nó đã là một thiên đường; một chương trình tồi chính là địa ngục.”

(Còn nữa)


Đạo lập trình [4]