Be expecting strict code you force the user to learn clean code, transitional you can code as sloppy as you want and it will often work in one or two browsers
I agree with the overall point, but I think you're exaggerating the difference between HTML 4.01 Transitional and HTML 4.01 Strict DTDs. They're not that different. But still, it would be silly to learn to depend on something present on one dtd only to move up and discover it's not present in a later dtd.
Now, the difference between XHTML 1.0 Strict and HTML 4.01 Transitional might be a bit more drastic... And yes, I would hope that beginners are learning XHTML - it's cleaner and more particular about syntax. More important than that, though, is to learn to write clean, particular code AND follow good design practices. (Valid code can still be ugly and stupid)
It would be nice if the all browsers just spit out a validation error when there was a error like compilers do with compiled languages rather than try and idiot proof it...
XHTML does. Send a real XHTML document as application/xhtml+xml to Firefox and see.
You can even send an XHTML document as application/xml to IE with a small useless XSL stylesheet and get similar results.
Anywho... I feel an off-topic drift...