One thing that Xojo brought to me when I started using it, and that I wasn’t used to, was finding an abusive use of timers everywhere and conflicts between them. It was brought to my attention that some code in ARM crashed, because for ARM, one event was firing out of the expected order of the developer, but worked flawlessly on Intel. For ARM, 2 events switched places, probably due to some use of timers internally instead of a queue of events. Using Queues, when you say RunFIFO(fireA); RunFIFO(fireB) you will run the events fireA() followed by fireB() always, but if you use a RunInOneMillisecond(fireA); RunInOneMillisecond(fireB); you have no guarantee of the sequence.
The Sigma-7 FORTRAN compiler had the following. You could put a label number in an integer variable (such a JAIL) and then put GO TO JAIL in your code.
This caused the compiler to emit the following warning:
WARNING: GO DIRECTLY. DO NOT PASS GO AND DO NOT COLLECT $200.
Turbo Pascal for DOS had a language ability is later versions (for the IDE anyway, not the apps it produced). It read the compiler messages and such from a simple text file. One enterprising chap I know changed the “; expected” message to read “purple worm expected”. Strange chap but it always makes me laugh when I use PHP or other languages that require a ; end of line.
b. This code is related to html; it adds a banner into the top of an html document. I had my brain set to “programming html” and until it changed to Xojo, I was unable to understand my mistake.
And I replaced ‘:’ with ‘/’ in case it worked (or the reverse !).