>>>Seems like an ill-designed feature to me.
>
>
>Actually no, it's cute, and powerful, once you get used to it. >
>Yeah...I know..we're macho programmers...we love this kind of stuff
You bet. First it catches me by surprise, next thing I find a good use for it, and the first revision of the code I find an even better solution
without it :)
>Ever patch a running monitor?
You mean HARDWARE? Hey, but that's
hardware!
>Write self-modifying code? (actually, that's pretty much what VFP macro substituion is since the macros are interpreted at run time)
Self-modifying, no, thanks. Besides, it's not the way I use it - it's rather the data driven, with names of things being stored in tables - but then, check your registry. You won't find too many addresses of things, but you'll find their names. So, I'm committing no great heresy - I'm using the names of things, which are written somewhere in tables, and referred to at runtime, and make quite sure there's nothing undefined there.
>Don't you feel just a little cheated not having a bonafide "GOTO" statement in VFP (I'm not talking about table navigation...I'm talking about program execution control) ... what could be cuter? or more powerful?
Having written enough of Basic (in some dozen dialects of it, under 6 operating systems) and Cobol... funny, but that nostalgy note doesn't bring any happy memories ;). Even back in ZX Spectrum basic, I'd sacrifice a couple of variables, and assign them the value of line numbers, so I had GOTO There, instead of GOTO 1300.
Don't ever have a programmer give the name to a newborn child. They use all the possible funny names routinely. Imagine having a kid named lkJohn (l for local, k for kid class of objects).