Bill Gates và DONKEY.BAS

Bài viết được dịch từ blog Coding Horror

Thật khó để tưởng tượng vào lúc này, nhưng trong những ngày đầu của Microsoft, Bill Gates là một lập trình viên thực thụ. Một chút bằng chứng là chương trình được viết bằng ngôn ngữ BASIC có tên là DONKEY.BAS đi kèm với thế hệ máy tính ban đầu của IBM chạy hệ điều hành IBM DOS 1.10. Lịch sử của chương trình nhỏ và kỳ lạ này được làm sáng tỏ trong một phát biểu của chính Bill Gates tại sự kiện TechEd 2011:

Hồi trẻ Bill Gates có phải là một lập trình viên thực thụ?Hồi trẻ Bill Gates có phải là một lập trình viên thực thụ?

ARI BIXHORN: Vâng, tôi rất hân hạnh được có mặt ở đây ngày hôm nay, bởi vì tuần này chúng ta tiến hành tổ chức sinh nhật 10 năm của một công cụ mạnh mẽ nhất, năng suất nhất và phổ biến nhất thế giới dành cho các lập trình viên. Và dĩ nhiên là tôi đang nói về ngôn ngữ Visual Basic.

Bây giờ, để giúp tạo ra bối cảnh để biết ngôn ngữ Visual Basic đã đi được bao xa hay nói đúng hơn là ngôn ngữ Basic đã đi được bao xa, chúng ta sẽ quay lại một số năm về trước để xem một ứng dụng đã được viết ra bằng ngôn ngữ Basic. Ứng dụng này, có tên là Donkey.bas đã thực sự được viết bởi không ai khác hơn là quý ông đang đứng bên trái tôi ngay lúc này. Bill, anh đã viết chương trình Donkey.bas này được bao lâu rồi?

BILL GATES: Thực ra, đó là chương trình mà chính tôi và Neil Konzen đã viết ra vào lúc 4h sáng trên chiếc máy tính nguyên mẫu IBM PC được đặt trong một căn phòng nhỏ. IBM cứ khăng khăng rằng chúng tôi phải khóa cửa và chúng tôi giống như là bị nhốt vào trong một cái buồng nhỏ với một ổ khóa bên ngoài vậy, vì vậy chúng tôi đã phải làm tất cả công việc phát triển của mình trong đó và nhiệt độ phòng thì luôn trên 100 độ F (khoảng 37,8 độ C), nhưng vào nửa đêm chúng tôi đã viết một chương trình nhỏ để cho thấy rằng ngôn ngữ Basic có thể tích hợp được vào máy IBM PC. Và vì vậy đó là lý do trò game Donkey.bas ra đời. Đó là thời điểm mà chúng tôi cảm thấy rất xúc động. Sau đó, chúng tôi đã mang đến cho họ thấy chương trình trông như thế nào.

Đây là một ảnh động nhỏ mà tôi đã chụp lại giao diện chương trình DONKEY.BAS khi chạy trên một máy ảo:

Hình chụp giao diện trò game Donkey của Bill GatesThay vì xúc động. Cộng đồng Macintosh đã tỏ ra không mấy ấn tượng với trò game này:

[PC-DOS] đi kèm với một số trò game được viết bằng ngôn ngữ BASIC đặc biệt đáng xấu hổ. Trò game đáng xấu hổ nhất là một trò game lái xe có giao diện đồ họa ở độ phân giải thấp có tên là “Donkey”. Người chơi được cho là đang lái một chiếc xe hơi, thông qua hiệu ứng một “con đường” được hiển thị quá xấu cứ cuộn xuống một cách chầm chậm, và bạn nhấn phím Space Bar để nhảy một cách giật cục từ làn đường bên này sang làn đường bên kia. Mỗi lần như vậy, một đốm màu nâu xuất hiện trên màn hình, nó được xem là một con lừa xuất hiện ở giữa con đường đó. Nếu bạn không nhấn phím Space Bar đúng lúc, thì bạn sẽ đâm vào con lừa và bị thua cuộc.

Chúng tôi nghĩ rằng khái niệm của trò game này là rất tệ với phần giao diện đồ họa của nó quá thô kệch. Vì trò chơi này được viết bằng ngôn ngữ BASIC nên bạn có thể mở mã nguồn và xem nó đã được viết như thế nào. Chúng tôi đã rất ngạc nhiên khi thấy rằng những comment trên cùng trong phần code của trò game đó tự hào thông báo các tác giả là: Bill Gates và Neil Konzen. Neil là một tay hacker tuổi teen sáng chói mà tôi biết khi anh ta làm việc trên dự án Apple II (người mà sau đó đã trở thành một Technical Lead cho Microsoft), nhưng điều chúng tôi ngạc nhiên nhất là trò game dở như vậy lại có thể có đồng tác giả là nhà sáng lập Microsoft, và rằng ông ta thực sự muốn có danh tiếng qua phần comment đó.

Thật buồn cười khi nghĩ rằng DONKEY.BAS là một phần di sản của Gates với tư cách là một lập trình viên. Nếu không có gì khác, ít nhất thì ông ta cũng có một cảm giác lành mạnh của sự hài hước về quá khứ của mình. Bản sao duy nhất mã nguồn của DONKEY.BAS mà tôi có thể tìm thấy đã bị lược bỏ hết phần comment của Gates và Konzen. Nó là một chương trình khá ngắn, nhưng cũng là một lời nhắc nhở đau đớn về cách lập trình rất khó khăn vào thời điểm năm 1981. Cập nhật: Leon đã rất tốt bụng khi gửi cho tôi một bản sao gốc của chương trình DONKEY.BAS từ đĩa DOS 1.1.

Trong phát biểu quan trọng tại sự kiện TechEd 2001, Microsoft đã trình diễn một bản cập nhật 3D vui nhộn của trò Donkey được viết lại bằng phiên bản beta ngôn ngữ lập trình VB.NET, để minh họa nó đã phát triển xa như thế nào khi so sánh với ngôn ngữ BASIC cách đó 20 năm.

Thông báo: Chỉ có một con lừa bị đau trong suốt quá trình làm trò game nàyThông báo: Chỉ có một con lừa bị đau trong suốt quá trình làm trò game này

Bạn vẫn có thể tải về phiên bản Donkey được viết bằng VB.NET từ Microsoft. Thậm chí còn có thể convert sang Visual Studio 2005 và .NET 2.0 rất tốt. Nhưng tôi không thể làm cho nó chạy bởi vì sự phụ thuộc kỳ quặc của nó vào DirectX 8.

Tôi cho rằng đó cũng là một bài học lâu dài của DONKEY.BAS; việc triển khai rất nhiều phiên bản BASIC khác nhau chẳng bao giờ được biết đến với khả năng tương thích xuất sắc của chúng cả.

Các bài viết liên quan:

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack ExchangeDiscourse.

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s