**Microsoft BASIC** là sản phẩm nền tảng của công ty Microsoft. Nó xuất hiện lần đầu vào năm 1975 với tên Altair BASIC, là chương trình BASIC đầu tiên của Microsoft và là ngôn ngữ lập trình bậc cao đầu tiên có sẵn cho máy vi tính Altair 8800.

Trong cơn sốt máy tính gia đình vào cuối những năm 1970 và đầu những năm 1980, Microsoft BASIC đã được chuyển sang chạy trên PC và được cung cấp cho mọi dạng máy tính tại nhà trên thực tế. Các biến thể của Microsoft BASIC nhằm mục đích hỗ trợ cho các chức năng cụ thể của từng loại máy dẫn đến sự phong phú về các thiết kế chương trình có liên quan như Commodore BASIC và Atari Microsoft BASIC.

Khi các máy tính gia đình đầu tiên nhường chỗ cho các mẫu thiết kế mới hơn như IBM PC và Apple Macintosh, BASIC không còn được sử dụng rộng rãi nữa, mặc dù nó vẫn có được một số lượng lớn người dùng trung thành. Việc phát hành Visual BASIC đã khiến ngôn ngữ này lại trở nên phổ biến lần nữa và nó vẫn được sử dụng rộng rãi trên các nền tảng Microsoft Windows trong phiên bản mới nhất của nó, Visual Basic.NET.

Altair BASIC và các máy vi tính đầu tiên
----------------------------------------

Trình thông dịch Altair BASIC được phát triển bởi những người sáng lập Microsoft Paul Allen và Bill Gates với sự giúp đỡ của Monte Davidoff, sử dụng bộ mô phỏng phần mềm Intel 8080 tự chế chạy trên máy tính mini PDP-10. Phiên bản MS được thiết kế dựa trên BASIC-PLUS của Digital Equipment Corporation trên PDP-11, mà Gates đã sử dụng ở trường trung học.

Altair BASIC đã được đưa vào máy bằng băng giấy và trong phiên bản gốc của nó chiếm 4 KB bộ nhớ. Phiên bản này thiếu chuỗi ký tự và các tính năng khác để nhét vừa dung lượng bộ nhớ nhỏ bé này, và thậm chí sau đó nó chỉ còn 790 byte miễn phí cho mã chương trình trên một máy tính với 4k bộ nhớ.

Đối với các máy có nhiều bộ nhớ hơn, phiên bản 8 kB thêm vào chuỗi ký tự, các hàm toán học bổ sung và các lệnh PEEK và POKE. BASIC mở rộng đã thêm hỗ trợ dấu chấm động "chính xác kép". Các phiên bản sửa đổi của phiên bản 8k và phiên bản mở rộng đã thêm các lệnh đĩa mềm để tránh phải thoát khỏi BASIC để thực hiện các tác vụ nhỏ như sao chép các tập tin.

Phiên bản mở rộng 8 KB sau đó được tổng quát thành BASIC-80 (8080/85, Z80), và được chuyển sang BASIC-68 (6800), BASIC-69 (6809) và 6502-BASIC. Phiên bản 6502 có mã hợp ngữ ít dày đặc hơn và mở rộng kích thước xuống chỉ dưới 8k cho phiên bản đơn, hoặc 9k cho phiên bản mở rộng. Nó cũng được chuyển sang BASIC-86 16 bit (cho 8086/88).

Bộ lệnh và cú pháp cốt lõi giống nhau trong tất cả các phiên bản triển khai của Microsoft BASIC và nói chung, một chương trình có thể chạy trên bất kỳ phiên bản nào nếu nó không sử dụng các tính năng phần cứng cụ thể hoặc số thực có độ chính xác kép (không được hỗ trợ trong một số triển khai).

Giấy phép cho các nhà sản xuất máy tính gia đình
------------------------------------------------

Sau thành công ban đầu của Altair BASIC, Microsoft BASIC đã trở thành cơ sở cho một doanh nghiệp cấp phép phần mềm sinh lợi, được chuyển sang phù hợp với phần lớn các máy tính cá nhân và gia đình của thập niên 1970 và đặc biệt là những năm 1980 và tiếp tục mở rộng. Trái ngược với bản gốc Altair BASIC, hầu hết các phần mềm BASIC của máy tính tại nhà đều nằm trong ROM, và do đó có sẵn trên các máy ở chế độ bật nguồn với dấu nhắc "READY." Do đó, Microsoft BASIC và các biến thể khác của BASIC tạo thành một phần đáng kể và nhìn thấy được trong giao diện người dùng của nhiều hệ điều hành thô sơ của máy tính gia đình.

Vào năm 1981, Microsoft BASIC phổ biến đến nỗi ngay cả các công ty mà đã có giấy phép cấp ngôn ngữ BASIC, chẳng hạn như IBM cho máy tính cá nhân của họ, và Atari, công ty đã bán Microsoft BASIC cùng với Atari BASIC của riêng mình. Don Estridge của IBM cho biết, "Microsoft BASIC đã có hàng trăm ngàn người dùng trên khắp thế giới. Bạn làm sao tranh cãi với điều đó được?" Microsoft đã cấp phép các phiên bản tương tự cho các công ty cạnh tranh với nhau. Ví dụ: Sau khi cấp giấy phép BASICA cho IBM, Microsoft đã cấp phép GW-BASIC tương thích cho các nhà sản xuất máy tương thích PC và cũng bán bản sao cho khách hàng bán lẻ. Tương tự, Microsoft đã cấp phép một phiên bản BASIC tương thích với Applesoft cho VTech cho bản sao Apple II Laser 128 của công ty đó.

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

1. ↑  Martin S. Fridson, *How to be a billionaire: proven strategies from the titans of wealth*, John Wiley and Sons, 1999 ISBN 0-471-33202-X pages 116-120
2. ↑  Manes, Stephen (1993). *Gates*. Doubleday. tr. 61.
3. ↑  Curran, Lawrence J. Shuford, Richard S. (tháng 11 năm 1983). "IBM's Estridge". *BYTE*. tr. 88–97. Truy cập ngày 19 tháng 3 năm 2016.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
4. ↑  "PC Tutor". *PC*. ngày 13 tháng 1 năm 1987. tr. 325. Truy cập ngày 18 tháng 1 năm 2015.
5. ↑  Grevstad, Eric (tháng 12 năm 1986). "Laser 128 / An Affordable Compatible". *inCider*. tr. 58. Truy cập ngày 29 tháng 6 năm 2014.

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

* Trứng Phục sinh Cá nhân của Bill Gates trong 8 bit BASIC

| * 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

 |