</sarcasm>
I've seen some web development in the past that was absolutely horrid, and I hope that after that project not a single programmer has to EVER touch code like that again.
What's your point?
I should have finished that post, I just kinda left it hanging. Something else came into mind at the time and I mindlessly hit submit.
As far as I am concerned I like algorithmization better, but most jobs out there are mostly UI and database related, so I have to deal with that.
Talking to him about the most primitive constructs in computing: say, variables, or calling conventions, or the simplest data structures has been a teeth-pulling experience. One of the tricks he invented involved saving the registers for interruptible code to fixed locations in memory: he reasoned that saving X registers at Y clock-cycles would meet his soft-realtime requirements. He also kept an index, that stored the last instruction that was executing when the code was interrupted, so he can restore the "handler" later.
He "invented" this ~25 years ago.
Let that sink in.
My friend invented context-saving, all by his own, really, and there is no way in bloody hell to tell him that it EXISTED since before he was born.
I am mightly impressed by his work, all of it self-taught and wildly profitable. But it's just sad that I, a two-bit paper-hacker with nothing to his credit can look at his Magnum Opus and have a name for every invention, not to mention research references, and suggest alternatives.
Embedded hackers are competent, but FUCK, sometimes they need to see past board specs and stupid timings. College Freshmen can out produce them, and those kids are running 100% simulated stuff in Java and Flash. Something has to be said for rigor, depth, and breadth of knowledge, but most importantly abstraction. Who cares if you can operate industrial electronic equipment, if some kid with PLT Scheme can create a cycle-accurate simulator of your equipment in 2-weeks, and out-codes you after that?