Tolong jelaskan mengenai Pemrograman dengan GW-BASIC dari GW-BASIC

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 IF...THEN...ELSE harus ditulis dalam satu buah baris, meskipun pernyataan WHILE...WEND dapat ditulis dalam beberapa baris. Fungsi-fungsi hanya dapat didefinisikan dengan menggunakan statemen DEF FNf(x)=<fungsi matematika dari x> (contoh DEF FNLOG(basis, angka)=LOG(angka)/LOG(basis).

Variabel-variabel juga kadang ditulis dengan menggunakan simbol jenis data pada akhir namanya, A% untuk integer, A$ untuk string, dan lain-lain. Sekelompok variabel yang tidak didefinisikan juga dapat diset ke dalam sebuah jenis data tertentu berdasarkan huruf pertamanya dengan menggunakan perintah DEFINT, DEFSTR dan lain sebagainya. Tipe data yang diguakan oleh variabel yang tidak mengikuti penamaan ini adalah bilangan floating-point dengan presisi tunggal.

Karena banyak programmer GW-BASIC memprogram tanpa adanya latihan formal, kadang-kadang mereka tidak menggunakan struktur sederhana untuk program yang mereka buat. Hasilnya, mereka membuat program yang kurang teratur khususnya untuk penggunaan statemen GOTO.

GW-BASIC mengizinkan penggunaan joystick dan perangkat input sejenis pena pada saat itu, tetapi tidak untuk mouse. GW-BASIC dapat membaca dan menulisi berkas, port LPT, dan port COM; bahkan ia dapat melakukan "jebakan" terhadap port-port tersebut, meski ia tidak dapat menangani perangkat tape.

GW-BASIC dapat memainkan musik sederhana dengan menggunakan statemen PLAY, dengan menggunakan nada-nada yang ditulis dalam string, seperti PLAY ""edcdeee2dfedc4". Kontrol suara yang arasnya lebih rendah lagi dapat dilakukan dengna menggunakan statemen SOUND, yang dalam argumennya terdapat frekuensi dalam Hertz dan panjang beep-nya dihitung dalam waktu internal speaker PC dalam mesin IBM PC. Akan tetapi, penggunaan suara terbatas hingga beep yang bersifat monoaural (satu kanal) saja. Meski demikian, beberapa PC rumahan seperti Tandy 1000 mengizinkan penggunaan tiga buah kanal suara untuk perintah SOUND dan PLAY. GW-BASIC juga mengimplementasikan perintah NOISE, yang memiliki 8 efek suara yang dapat diubah parameter pitch, speed, dan length-nya.