Skip to main content
Despite the fairly recent addition of real functions and subs to the language, Liberty Basic still pushes you to use the old gosub/return construct. This pressure is not obvious until you're actually writing programs.

Let's see how the pressure builds:
  1. Parameters passed to a function or sub are "by value". This means that a copy is made and no changes can be made to original variable in the function call.

  2. Global variables are not visible in a function or sub with the exception of arrays, structs, handles and system variables.

  3. Sometimes you need to return more than one value.

  4. Using single-dimensioned, 1-element arrays as global variables is ugly.

  5. The cleanest solution is to make the code global as a chunk of gosub/return code.

This might be a partial answer to the question I had about why so many Liberty Basic programmers keep on using this construct instead of switching entirely to functions and subs.

There are a few things that require functions -- recursion and useful code libraries.

Comments

Popular posts from this blog

How to set the System Restore and Shadow Copy storage limit in Windows Vista

I ran into a problem recently where Windows Vista kept using up all of my available disk space for System Restore and Shadow Copy storage. There is a feature in the Disk Cleanup utility that lets you manually delete all but the most recent snapshot. I did that for months before I finally took the time to figure out how to set the limit. My problem was pretty extreme. My HP Pavilion laptop has a 105 gig disk drive. I have about 47 gigs free and over a period of about a month, Vista would use it all up. Vista is supposed to use only 15% of the hard disk for this storage, but apparently sometimes that limit can become UNBOUNDED. I don't know how that happens. To see the current setpoint for your system, go to a command prompt and type the following: vssadmin list shadowstorage You should see something like the following: To change the current setpoint for your system, type the following but change what's necessary to match your system. For example, you may need to change the drive

BASIC turns 50

Well, the BASIC language actually turned 50 on May 1, 2014, and I'm very late to the party. Born at Dartmouth in 1964 (along with the first commercial time sharing), here is the university's tribute page . There is even a great 38 minute documentary that they made for the occasion. 10 PRINT "ENJOY" 20 GOTO 10