@ skyraker
"a good doorstep".. what, do you want to make people pissed off? It's very, very good when it comes to developing software, as it's very rigid and it makes it known once you've made an error. It has excellent debugging facilities and for once there's an established API, no more "this trick works, great, let's use it even though it's not in the documented features" which leads to a solid and stable OS.
Something which enforces rules, and teaches you good coding practices, you call a door step? I won't deny it has its shortcomings, such as compatibility. However if you want one, you can't have the other, not if you want to do it in a clean way.