by that method should you not be able to use PRINT, LINE, OPEN ect as line labels too? seems to me QB64s approach is more, shall we say 'Logical', once you define a SUB\FUNCTION shouldn't its name be treated like syntax?
I had an odd occurance though, I ran the following code in QB45,
the first time I ran this, It hung. it treated the "THEN HELLO" as a "goto hello" and waited until i pressed ESC
but the second time and then on it treated the THEN HELLO as a sub call and printed 0 and quit on its own. I had to restart DOSBOX to cause it to repeat this and then only randomly. might be an error with my copy of dosbox.
now I havent used GOTO since GWBasic and then only rarely,so why can't I do this,
That one says "Label not defined"
BUT
that one says "duplicate label"
I mean WTH!, it can't find the label to GOTO in the SUB but if I add it in the SUB all the sudden IT knows there is already a hello label? or is it now realizing that Hello is already taken as the SUB name? by all means it should flag the first occurrence of hello and SUB hello as duplicate label or else treat the 'label' hello as a syntax and call the sub there first. its not like it lets you use PRINT as a label, but by all means to be fair with this phenomenon you should be able to.
maybe Galleon realized it wouldn't be worth it to allow such poor coding practices to propagate on. or maybe I am just ranting because of such vulgar coding practice and lack of sleep(3 am here) coupled with my extreme (irrational) hatred of GOTO jumping. or I have completely missed the whole point of the issue,(reporting that QB64 doesn't behave just like QB45) QB64 isn't meant to be a 100% clone of QB45, just really close as modern OS can allow. This is one thing I personally believe we don't need to duplicate.