LooseCannon said:
On the contrary, CSS is very simple.
What's not simple (well it is in essence, but it's quite lengthy, sometimes illogical and with a dozen of caveats) - to use CSS properly you need to know how browsers render HTML, and that requires learning HTML also.
Which just reminds me how i hate "web programming". Sometimes i do some webs for extra cash and it gets on my nerves right away. All customers want fancy interactive sites, while whole idea of World Wide Web and HTTP protocol was made for synchronous, non-interactive workflow. There's HTML for elements and there's CSS for layouts. Then you have backend server processing code, and the frontend client processing code, in whole different languages (PHP/Javascript in my case). Add the asynchronous Javascript capabilities - method for client to communicate with server whenever it wants - called AJAX or buzzed as Web 2.0, and you get a jungle of languages, models and everything else dropped into a giant blending machine.
What's even more bad, is that every "web" language, programming or markup, is really simple. If you know only "web programming" you can't call yourself a programmer. Easy as that. Because none of the normal programming techniques and paradigms are used there (memory management, multiprocessing / multithreading, pointer arithmetics, custom implementations of fast algorithms and complex data structures, etc...). So you have a bunch of "web programmers" today working for low cash that can't program for their own life. Everything could be ok - but if you don't know insides of data parsing, HTTP protocol and the way both client and server handle code, you get a website that's a big security hole.
So instead of trying to push those guys to really learn something, what does the web community do? This : let's make narrow frameworks that won't leave any space for errors...from JQuery to whole CMS'es like Joomla. Wrong in the base, as the saying of a really great powerhouse operating sytem that changed all our lives..."it won't prevent you from doing stupid things, because then it would also prevent you from doing really smart ones". Now those web programmers are just a bunch of JQuery users and Joomla designers. Now they really can't program for their own life, and also don't have a necessary push for learning.
Note : all the above applies not just for web, but for all Microsoft programming philosophies, also.