the original gosub was something like
gosub 2000
and no it wasn`t descriptive at all, back then you jumped to the line numbers directly, named points had not been invented, functions allow you make a function like the darkbasic functions that are built in, for example you could have a function that adds vat to numbers like this
function vat(number#)
number#=number#*1.175
endfunction number#
then when you want to find the vat on a number just do something like
print "the cost (with vat) is ";vat(99.99)
and the vat function will automaticaly add the vat to the number you gave it, the advantage is that the number# variable is only seen and used by the function, so you can another variable called number# elsewhere and it will not get affected by whatever you are doing inside the function, think of functions as seperate programs that use all their own variables and only pass one number back to the main program, all the other numbers inside a function are local to that function (unless you make em global...eg you want three numbers back from the function), this way you can write routines to do jobs and all you have to do is include them into your code and then call the function with correct values, it doesn`t matter if the function uses a variable name that is also in your main loop, since altering the variable inside the function won`t change the one in the main loop, so you don`t need to keep track of variable names in a large program and keep altering them when they clash.
Mentor.
PC1: P4 hyperthreading 3ghz, 1gig mem, 2x160gig hd`s, Nvidia FX5900 gfx, 6 way surround sound, PC2: AMD 1.2ghz, 512mb ram, FX5200 ultra gfx, stereo 16 bit soundblaster.