GW-BASIC

Saat Microsoft merilis MS-DOS 5.0, GW-BASIC pun digantikan oleh Microsoft QBASIC, sebuah versi kompiler Microsoft QuickBASIC yang ringan (tidak semua fiturnya dimiliki). Kemajuan besar GW-BASIC terhadap BASICA adalah bahwa GW-BASIC tidak membutuhkan interpreter BASIC di dalam ROM, sehingga dapat digunakan di dalam komputer selain IBM PC.
Inisial "GW" dalam "GW-BASIC" mungkin diambil dari Greg Whitten, seorang karyawan awal di Microsoft Corporation yang mengembangkan standar-standar di dalam jajaran kompiler bahasa BASIC Microsoft. Teori lainnya adalah bahwa GW merupakan singkatan dari Gee Whiz, seperti yang ditulis dalam buku manual pengguna untuk GW-BASIC yang diterbitkan oleh Microsoft Press. Teori lainnya mengatakan bahwa GW juga singkatan dari "Gates, William", nama asli dari Bill Gates (William Henry Gates III). Dan teori terakhir adalah "Graphics and Windows", mengingat kedua fitur tersebut tidak dimiliki oleh BASICA.
GW-BASIC memiliki sistem "Integrated Development Environment" (IDE) yang bersifat "command-line" yang dibuat berdasarkan aslinya yang dikembangkan di Dartmouth College; semua baris program harus diberi nomor angka baris, dan semua baris yang tidak diberi nomor angka baris dianggap sebagai perintah langsung yang akan dieksekusi secara langsung. Antarmuka pemrograman yang digunakannya hampir semuanya bersifat "command-line", kecuali untuk jalan pintas ("shortcut") tombol fungsi yang diletakkan pada bagian bawah layar dan peringatan hak cipta pada atas layar. Semua berkas yang dibuat oleh GW-BASIC akan disimpan dalam format biner terkompres GW-BASIC, tetapi GW-BASIC juga menawarkan pilihan untuk menyimpan berkas BASIC dalam format teks biasa (berkas ASCII). IDE GW-BASIC memiliki perintah-perintah untuk codice_1 (menjalankan), codice_2 (memuat), codice_3 (menyimpan), codice_4 (menampilkan) program yang sedang terbuka atau codice_5 (untuk keluar ke sistem operasi yang digunakan). Meskipun perintah-perintah tersebut dapat digunakan sebagai statemen program, penggunaannya sangatlah jarang kecuali untuk perintah codice_5.
GW-BASIC sebenarnya mendukung sedikit pemrograman terstruktur, akan tetapi hal tersebut justru terlalu banyak bagi para programmer GW-BASIC untuk membuat struktur program yang baik. Semua pernyataan bersyarat codice_7...codice_8...codice_9 harus ditulis dalam satu buah baris, meskipun pernyataan codice_10...codice_11 dapat ditulis dalam beberapa baris. Fungsi-fungsi hanya dapat didefinisikan dengan menggunakan statemen codice_12 (contoh codice_13.