Commodore BASIC: Difference between revisions

Content deleted Content added
Technical details: was just a nonspecific rant against 8-bit BASICS. removed unspecific and unhelpful final sentence
Line 35:
Many BASIC extensions were released for the Commodore 64, due to the relatively limited capabilities of its native BASIC 2.0. One of the most popular extensions was the [[DOS Wedge]], due to its inclusion on the [[Commodore 1541 Test/Demo Disk]]. This 1 KB extension to BASIC added a number of disk-related commands, including the ability to read a disk directory without destroying the program in memory. Its features were subsequently incorporated in various third-party extensions, such as the popular [[Epyx FastLoad]] cartridge. Other BASIC extensions added additional keywords to make it easier to code sprites, sound, and high-resolution graphics like [[Simons' BASIC]].
 
From a modern programming point of view, the earlier versions of Commodore BASIC presented a host of bad programming traps for the programmer. BASIC line-numbering meant that with bad planning, inserting lines in a program often meant restructuring the whole program (later BASIC versions included a DELETE and RENUMBER command). In addition, all variables are treated as global variables. Clearly defined loops are hard to create, often causing the programmer to rely on the [[GOTO]] command (this was later rectified in BASIC 3.5 with the addition of the DO, LOOP, WHILE, UNTIL, and EXIT commands). Flag variables often needed to be created to perform certain tasks. Furthermore, the 80 character line limit in earlier BASICsversions of Commodore BASIC often meant splitting tasks up into multiple routines, often resulting in [[spaghetti code]]. Earlier BASICs from Commodore also lack debugging commands, meaning that bugs and unused variables are hard to trap. Syntax error messages are often unspecific and unhelpful.
 
==Versions and features==