Zaine, you make a man blush.
My path to machining and programming went something like this:
1. Geography grad student in California - finally hits wall "learning more and more about less and less". Drops out (1975).
2. No geography jobs, desperate, starts Civil Service job as industrial analyst at Navy aircraft overhaul facility. Main duties are carrying clipboard and trying not to spill coffee.
3. Sees notice for machinist apprentice program. Signs up - discards clipboard and tie, keeps coffee cup (1976). Loves it.
4. Wife gets Masters, finds job in North Carolina, husband dutifully follows (1978). Zaine understands.
5. Spends year building house out in the sticks.
6. No computer experience, but gets job as CNC Programmer in local machine shop run by visionary redneck who already has eight CNC machines (computer numerical control). Picks it up quickly and becomes pretty damn good (1980). Happy as a clam with 8" floppies and hundred-pound computer.
7. Buys first computer - Atari ST - and plays around with GFA Basic and Pascal (1985). Discovers that programming is fun!
8. Gets tired of constantly having to research machining data and make manual calculations, decides to try writing a helper program. Uses Quick C on an IBM XT. Program works fine, three people even pay for it (1993). Whoa!
9. Tries VB6, not happy. Bumps into IBasic Standard, feels instant connection. Writes several freeware programs. Many users, few thanks, no more freeware (2004).
10. Writes commercial programs using IBasic Professional. Sells enough to stay motivated. Life is good (2005).
11. IBasic sold by developer (Paul Turley - certified genius, always broke). New owner disappears, language is now user-supported. Not good. Paul creates new language - Aurora - something of a C/C++ hybrid.
12. Have a look at Aurora -
http://www.ionicwind.com 12. Story proves that somebody with no math background or natural programming talent can produce something useful.