This video reflects on the speaker's least favorite programming language: GW Basic. Developed in the early 1980s and bundled with MS-DOS, GW Basic is criticized for its highly unstructured nature, dependence on sequential line numbers, and the pervasive use of GO TO statements which often led to "spaghetti code" when modifying or expanding programs. The speaker highlights the absence of modern development tools like debuggers, proper procedures, and functions, alongside its inferred data typing which, while seemingly modern, could easily lead to crashes. Despite acknowledging that some, like FreeDOS founder Jim Hall, held positive views of it, the speaker expresses a strong aversion. The video concludes by contrasting GW Basic with Turbo Pascal, which the speaker quickly adopted and credits for instilling sound, structured programming practices.
My Programming Nightmare: The Horrors of GW Basic
0:00 The speaker introduces their "nightmare" programming language, which evokes a chill down their spine.
0:26 The language in question is GW Basic, which came free with MS-DOS discs in the early 1980s (around 1983-84).
0:40 The meaning of "GW" is speculative, with "G-Whiz" being a popular theory.
1:00Key Takeaway: Unstructured and Line-Number Dependent. GW Basic was described as extremely unstructured, requiring all code to be organized by sequential line numbers (e.g., 10, 20, 30).
1:43"Spaghetti Code" Problem: The reliance on line numbers necessitated leaving gaps (e.g., 10-line increments) for code insertion. If more than 10 lines were needed, code had to be placed elsewhere in the program and linked via GO TO or GO SUB statements, leading to convoluted "spaghetti code" rather than structured functions.
2:55Lack of Modern Tools: GW Basic lacked essential programming tools like editors, debuggers, and the ability to define named procedures or functions.
3:06Inferred Data Types: Variables did not require explicit declaration, with their types being inferred. While a modern concept in languages like Python, this often led to program crashes in GW Basic if operations were performed on unexpected data types.
3:54Contrasting Opinions: The speaker notes that some individuals, such as Jim Hall (founder of FreeDOS), enjoyed programming with GW Basic, but the speaker adamantly states they never want to use it again.
4:37Transition to Structured Programming: The speaker quickly moved away from GW Basic in the mid-80s, considering expensive C compilers before adopting Turbo Pascal.
5:53Turbo Pascal's Advantages: Turbo Pascal provided a completely different, structured environment with named procedures, functions, explicit variable declarations, strict typing, and robust error checking, which taught the speaker sound programming practices and how to avoid "spaghetti code."
6:42Final Dislike and Invitation: Turbo Pascal became the speaker's first serious language, and they express a strong dislike for GW Basic, inviting viewers to share their own experiences with "scarring" programming languages.