**Altair BASIC** là một trình thông dịch (đã ngừng phát triển) cho ngôn ngữ lập trình BASIC chạy trên MITS Altair 8800 và các máy tính S-100 bus tiếp theo. Đó là sản phẩm đầu tiên của Microsoft (lúc đó tên là Micro-Soft), được MITS phân phối theo hợp đồng. Altair BASIC là sự khởi đầu của dòng sản phẩm Microsoft BASIC.

Nguồn gốc và phát triển
-----------------------

Bill Gates nhớ lại rằng, khi ông và Paul Allen đọc về Altair trong số ra tháng 1 năm 1975 của tạp chí *Popular Electronics*, họ hiểu rằng giá máy tính sẽ sớm giảm xuống đến mức bán phần mềm cho máy tính sẽ là một hình thức kinh doanh có lợi nhuận. Gates tin rằng, bằng cách cung cấp một trình thông dịch BASIC cho các máy tính mới, họ có thể khiến các dòng máy này trở nên hấp dẫn hơn đối với những người có sở thích. Họ liên lạc với người sáng lập MITS Ed Roberts, nói với anh rằng họ đang phát triển một trình thông dịch, và hỏi liệu Ed có muốn xem một chương trình mẫu hay không. Điều này bắt chước thực hành ngành công nghiệp kỹ thuật với các thử nghiệm sản phẩm, chỉ thông báo về một sản phẩm không tồn tại để đánh giá sự quan tâm. Roberts đồng ý gặp họ trong một vài tuần sau đó, vào tháng 3 năm 1975.

Lúc đó Gates và Allen không có trình thông dịch nào, hay thậm chí cả một hệ thống Altair để phát triển và thử nghiệm hệ thống. Tuy nhiên, Allen đã viết một giả lập Intel 8008 cho liên doanh trước đây của họ Traf-O-Data chạy trên một máy tính chia sẻ thời gian PDP-10. Ông đã phỏng theo chương trình mô phỏng này dựa trên hướng dẫn lập trình Altair, và họ đã phát triển và thử nghiệm viết trình thông dịch trên PDP-10 của Harvard. Các nhân viên của Harvard không hài lòng khi họ phát hiện ra điều này, nhưng không có chính sách bằng văn bản nào đề cập đến việc sử dụng máy tính. Gates và Allen đã mua thời gian sử dụng máy tính từ một dịch vụ chia sẻ thời gian ở Boston để hoàn tất việc gỡ lỗi chương trình BASIC của họ. Họ đã thuê sinh viên Harvard David Davidoff để viết các thủ tục số học dấu phẩy động cho trình thông dịch, một tính năng không có sẵn trong nhiều phần mềm cạnh tranh.

Trình thông dịch đã hoàn thành, bao gồm hệ thống I/O và trình soạn thảo theo dòng của riêng nó, chỉ vừa với bốn kilobytes bộ nhớ, để lại nhiều khoảng trống cho chương trình được diễn giải. Để chuẩn bị cho bản demo, họ đã lưu trữ trình thông dịch đã hoàn thành trên một băng đục lỗ mà Altair có thể đọc, và Paul Allen bay tới Albuquerque.

Khi máy bay sắp tới nơi, Allen nhận ra rằng họ đã quên viết một chương trình bootstrap để đọc băng đục lỗ vào bộ nhớ. Viết bằng ngôn ngữ máy 8080, Allen hoàn thành chương trình trước khi máy bay hạ cánh. Chỉ sau khi họ nạp chương trình vào Altair và thấy một dấu nhắc hỏi về kích thước bộ nhớ của hệ thống thì Gates và Allen mới biết rằng trình thông dịch của họ đã làm việc trên phần cứng Altair. Sau đó, họ đặt cược xem ai có thể viết chương trình bootstrap ngắn nhất, và Gates đã thắng.

Phiên bản và các bản phân phối
------------------------------

Altair 8K BASIC trên giấy đục lỗ
Roberts đồng ý phân phối trình thông dịch trên. Ông cũng thuê Gates và Allen để duy trì và cải thiện nó, khiến Gates phải nghỉ học tại Harvard. Họ đã sản xuất một số phiên bản: bản gốc BASIC 4K và sau đó là BASIC 8K, BASIC mở rộng, ROM BASIC mở rộng và Disk BASIC.

Phiên bản nhỏ nhất, 4K BASIC, đã có thể chạy trong một máy có 4k RAM, chỉ còn khoảng 790 byte miễn phí cho mã chương trình. Để làm cho ngôn ngữ phù hợp với không gian nhỏ như vậy, phiên bản 4K thiếu xử lý chuỗi và loại bỏ một số hàm toán học. Chúng được thêm trở lại vào BASIC 8K, trong đó có thư viện chuỗi, một tập hợp các hàm toán học lớn hơn bao gồm RND cho các số ngẫu nhiên, toán tử boolean, và PEEK và POKE. Phiên bản 8K là cơ sở cho hầu hết các phiên bản BASIC trong thời đại máy tính gia đình. BASIC mở rộng đã thêm vào lệnh PRINT USING và lệnh đĩa cơ bản, trong khi Disk BASIC mở rộng thêm các lệnh xử lý đĩa để cho phép các lệnh I/O thô.

Vào tháng 10 năm 1975, 4K BASIC được bán với giá 150 đô la, BASIC 8K với giá 200 đô la và BASIC mở rộng với giá 350 đô la. Giá đã được giảm xuống còn 60 đô la, 75 đô la và 150 đô la tương ứng cho những người đã mua "bộ nhớ 8K của Altair và bảng điều khiển Altair I/O." Các phiên bản ngôn ngữ có sẵn trên băng giấy hoặc băng cassette.

Như họ đã mong đợi, Altair rất phổ biến với những người có sở thích như Câu lạc bộ Máy tính Homebrew. Altair BASIC, với tư cách là trình thông dịch BASIC ưa thích của MITS, cũng rất phổ biến. Tuy nhiên, những người có sở thích đã sử dụng phương pháp "chia sẻ tương tự" với phần mềm và không nghĩ gì về việc sao chép chương trình thông dịch BASIC cho những người có sở thích khác. Thành viên Homebrew Dan Sokol đặc biệt nhiệt tình; sau khi bằng cách nào đó có được một băng giấy của chương trình thông dịch trên, ông đã tạo ra 25 bản và phân phối chúng tại cuộc họp Homebrew tiếp theo, thúc giục người nhận tạo thêm bản sao. Gates đã trả lời năm 1976 với một bức thư ngỏ với ngôn ngữ mạnh mẽ với cáo buộc những người sao chép phần mềm của ông là hành vi trộm cắp và tuyên bố rằng ông không thể tiếp tục phát triển phần mềm máy tính mà mọi người không trả tiền. Nhiều người có sở thích dùng BASIC phản ứng chống lại bức thư trên.

Theo các điều khoản của thỏa thuận mua, MITS sẽ nhận được quyền đối với trình thông dịch sau khi đã trả một số tiền nhất định trong tiền bản quyền. Tuy nhiên, Microsoft đã phát triển phiên bản của trình thông dịch cho các hệ thống khác như Motorola 6800. Khi họ quyết định rời bỏ MITS, một tranh chấp phát sinh về việc liệu toàn bộ số tiền đã được thanh toán chưa và liệu thỏa thuận đó có áp dụng cho các phiên bản khác không. Microsoft và MITS đã tranh chấp với một trọng tài, và thật bất ngờ của Roberts, đã quyết định ủng hộ Microsoft dựa trên việc MITS thất bại trong việc tiếp thị phần mềm với "nỗ lực tốt nhất" của họ. Phiên dịch BASIC vẫn là cốt lõi của hoạt động kinh doanh của Microsoft cho đến đầu những năm 1980, khi công ty chuyển sang bán MS-DOS.

Đọc thêm
--------

* Freiberger, Paul; Swaine, Michael (1999). *Fire in the Valley: The Making of the Personal Computer*. New York, NY: McGraw Hill. ISBN 0-07-135892-7.
* Gates, Bill; Nathan Myhrvold; Peter Rinearson (1995). *The Road Ahead*. New York: Viking. ISBN 0-670-77289-5.
* Cringely, Robert X.. *Triumph of the Nerds*. PBS, 1996.
* Bunnell, David (tháng 4 năm 1975). "Altair BASIC — Up and Running". *Computer Notes*. Altair Users Group, MITS Inc. **1** (1): 1, 3. Bản gốc lưu trữ ngày 23 tháng 3 năm 2012. Truy cập ngày 18 tháng 4 năm 2007.

Chú thích
---------

1. ↑  Raiders of the Lost Altair BASIC Source Code, Andrew Orlowski, ngày 13 tháng 5 năm 2001, The Register
2. ↑  Altair 8800 BASIC Reference\_Manual 1975, Page 3 of PDF, *...and the joint authors of the ALTAIR BASIC interpreter, Bill Gates, Paul Allen and Monte Davidoff, will be glad to assist you.*
3. ↑  Microsoft Fast Facts: 1975, Posted ngày 9 tháng 5 năm 2000, *Bill Gates and Paul Allen complete BASIC and license it to their first customer, MITS of Albuquerque, N.M. the manufacturer of the Altair 8800 personal computer. This is the first computer language program written for a personal computer.*, *Gates and Allen’s BASIC officially ships as version 2.0 in both 4K and 8K editions.*
4. ↑  microsoft's timeline from 1975 - 1990 Lưu trữ 2008-05-14 tại Wayback Machine, *July 1, Bill Gates' and Paul Allen's BASIC officially ships as version 2.0 in both 4K and 8K editions.*
5. ↑  Computer\_Notes 1975 01 05, Page 14, *ALTAIR BASIC, CLAIM: Not just anybody's BASIC, FACT: Not just anybody's BASIC, BY: KEITH BRITTON,ROBERT MULLEN,* Altair BASIC version 2.0 had a serious problem in that a jump out of a FOR.... NEXT loop left garbage on the stack.. Do this too often and the stack would grow relentlessly down from high memory until it ate the program. This has been fixed in version 3.0, according to Paul Allen
6. ↑  Computer\_Notes 1975 01 05, Page 15, Advert: Altair BASIC]
7. ↑  Freiberger, Paul; Swaine, Michael (2000). *Fire in the Valley: The Making of the Personal Computer*. New York, NY: McGraw-Hill. tr. 53. ISBN 0-07-135892-7. "While walking through Harvard Square one day, Allen spotted the Popular Electronics cover that features the Altair.... Allen ran to tell Bill that he thought their big break had finally come. Bill agreed."
8. ↑  Wallace, James; Jim Erickson (1992). *Hard Drive: Bill Gates and the Making of the Microsoft Empire*. John Wiley & Sons. tr. 81–83. ISBN 0-471-56886-4.
9. ↑  "We have a BASIC". New Mexico Museum of Natural History and Science. Bản gốc lưu trữ ngày 23 tháng 3 năm 2012. Truy cập ngày 18 tháng 4 năm 2007.
10. ↑  Wallace, James; Jim Erickson (1992). *Hard Drive: Bill Gates and the Making of the Microsoft Empire*. John Wiley & Sons. tr. 78. ISBN 0-471-56886-4.
11. ↑  "4 Altair Language Systems". *Altair BASIC*.
12. ↑  *Altair BASIC* (PDF). MITS. ngày 25 tháng 8 năm 1975.
13. ↑  Altair Basic for the 6800 Lưu trữ 2020-02-07 tại Wayback Machine, *In January 1978 I purchased Altair 680 Basic from Computer Kits in Berkeley CA. I paid full price, $200, I didn't want Bill Gates to go broke. If you bought an Altair 680B kit with 16 K of RAM for $685 you would get BASIC for free.*, Michael Holley's SWTPC Collection Home Page
14. ↑  Allen, Paul (2011). *Idea Man: A Memoir by the Cofounder of Microsoft*. New York: Penguin Group. tr. 107. ISBN 978-1-59184-537-9. MITS/Pertec 'materially breached its best efforts obligation...'

Liên kết ngoài
--------------

* Altair BASIC 3.2 (4K) - Hợp ngữ
* Mã nguồn Altair BASIC dịch ngược, do Reuben Harris biên dịch tại archive.org
* Writing an Altair Basic, phỏng vấn Bill Gates, Người phỏng vấn: David Allison (DA), Phòng vi tính, Thông tin & Xã hội, Bảo tàng Lịch sử Quốc gia Hoa Kỳ, Viện Smithsonian
* Video Lịch sử của Microsoft: Bill Gates nói về Altair Basic Lưu trữ 2015-09-12 tại Wayback Machine, (Lisa Feigenbaum) 24 Jun 2009, The Visual Basic Team, MSDN Blogs

| * x
* t
* s
Các biến thể của ngôn ngữ lập trình BASIC |
| --- |
| Cổ điển | 
* Altair BASIC
* Applesoft BASIC
* Atari BASIC
* Atari Microsoft BASIC
* Atari ST BASIC
* BASICA
* BASIC A+
* BASIC Programming
* BASIC XE
* BASIC XL
* Casio BASIC
* Chipmunk Basic
* Color BASIC
* Commodore BASIC
* Extended Color BASIC
* Dartmouth BASIC
* Disk Extended Color BASIC
* Family BASIC
* GFA BASIC
* GW-BASIC
* HP BASIC for OpenVMS
* HP Time-Shared BASIC
* IBM BASIC
* Integer BASIC
* Locomotive BASIC
* Mallard BASIC
* Microsoft BASIC
* MSX BASIC
* Pure Basic
* Rocky Mountain BASIC
* S'-BASIC (Tandy, Casio, Sharp Pocket Computers)
* ScriptBasic
* Sinclair BASIC
* Southampton BASIC System
* STOS BASIC
* TI BASIC (TI 99/4A)
* TI-BASIC (calculators)
* TI Extended BASIC (aka XBasic)
* Tiny BASIC
* Turbo-Basic XL
* Tymshare SUPER BASIC
* UBASIC
* Vilnius BASIC
* XBasic

 |
| Hướng thủ tục | 
* AmigaBASIC
* AMOS BASIC
* ASIC
* BBC BASIC
* Beta BASIC
* DarkBASIC
* FreeBASIC
* FutureBASIC
* GFA BASIC
* GLBasic
* Liberty BASIC
* Microsoft Small Basic
* PowerBASIC
* PureBasic
* QBasic
* QB64
* QuickBASIC
* SmallBASIC
* SuperBASIC
* ThinBasic
* True BASIC
* Turbo Basic
* XBasic
* Xblite
* Basic4ppc
* Visual Test
* B4J

 |
| Với mở rộng đối tượng | 
* AutoIt
* Basic For Qt (KBasic)
* BlitzMax
* Chipmunk Basic
* FreeBASIC
* Gambas
* GLBasic
* Monkey X
* OpenOffice Basic
* PowerBASIC
* ProvideX
* RapidQ
* REALbasic
* Run BASIC
* Visual Basic
* Visual Basic .NET
* Xojo

 |
| Cho thiết bị di động | 
* B4X
* Basic4android (B4A)
* Basic4ppc
* GLBasic
* NS Basic
* Basic4ios (B4i)

 |
| Microsoft | 
* Microsoft BASIC
	+ MBASIC
	+ IBM BASIC/BASICA
	+ GW-BASIC
	+ QuickBASIC
	+ QBasic
* VBScript
* Visual Basic
* VBA
* Visual Basic .NET
* Embedded Visual Basic
* VB 5 for Microsoft Excel 5.0
	+ VSTO
	+ VSTA
* WordBASIC
* TRS-80 Basics (Level I, Level II, Level III)
* Microsoft Small Basic

 |
| Phần mềm của hãng thứ 3 mô phỏng VB | 
* B4X
* Basic For Qt
* Gambas
* Hummingbird Basic
* LotusScript
* WinWrapBasic
* Xojo

 |