Dvorak Rants on CSS
John Dvorak writes on CSS after working on redesigning his weblog, the article ended up being extremely funny. From the write-up:
As we move into the age of Vista, multimedia's domination on the desktop, and Web sites controlled by cascading style sheets running under improved browsers, when will someone wake up and figure out that none of this stuff works at all?!
I've been writing code since I was 5 when my dad taught me Fortran. As a pre-teen, I learned BASIC. In high school, I learned C and Pascal. In college, I learned LISP, Ada, and C++. My "favorite" language right now, simply because I am having more fun with chip design, is Verilog. Suffice it to say that I have a lot of experience with programming and programming languages and quite radically different ways of thinking about encoding algorithms (software and hardware design are very different from each other).
Coding web pages makes me violently ill.
Back in 2003, I decided to learn web programming. In the process, I learned to hand-code HTML, CSS, Javascript, Java, SQL, and PHP. PHP, I can handle, because it's simple and straight-forward and designed to make back-end writing easy (although I understand that there have been some developments with Ruby since then). SQL makes sense, since it's specialized for database manipulation.
But when it comes to developing front-end web content, I just cannot justify using three different languages for one thing. I mean, I do understand the idea behind specializing languages (PHP vs. SQL), so in the abstract, I see a reason for making a separation between structure/content (HTML) and formatting (CSS). I just have a visceral reaction to having to use two different languages with two different syntaxes at once in this context. Embedding SQL in PHP doesn't bother me. For some reason, CSS and HTML bother me. I think it's because I feel like they're haphazzardly slapped together and FORCED to get along. PHP and SQL have no relation. Each is designed for its function. HTML evolved from a structural markup language into a total mess, and then CSS was invented as a bandaid. Along the way, no one ever thought to actually unify them. And then there's Javascript.
CSS, HTML, Javascript, and Java each has its own different name for each kind of DOM object. WTF!
If you want to do the full gamut of web front-end programming, you have to learn four names for every object or attribute!
What were these people thinking?
They weren't.
And it's never going to get better. 100 years from now, web programming will be tainted by the legacy evolutionary path everything went through.
Just wait for the Semantic Web. Yet another syntax to learn. No unification AT ALL.
Yes, Microsoft is at fault for not updating IE in so many years and then only supporting a few new things in ie7. However, its not just Microsoft. Netscape didn't follow standards until it was too late (netscape 6 was not soon enough). Mosaic sucked for a long time. As a designer, I want all browsers to support the exact same things with the exact same behavior in 99 percent of cases. (implementations will vary some) However thats a pipe dream.
How about this: All browsers must support CSS1 completely and CSS 2.1's positioning at least. floats and centering with margin: auto should frickin' work. Then we need something like SVG and png w/ transparency. That would at least allow us to do flash like things and use a decent graphics format. Flash is bad since it doesn't support all platforms. Most people say its great because it work on x86 linux, windows and the latest OSX. What about everyone else? (*bsd, solaris, linux on any other kind of processor, OS/2, etc)
We also need a decent video format that is cross platform for streaming. I don't care what it is just so that everyone actually has it. I'm sick of not getting to watch news feeds because i don't use MSIE with WMP 10 or 11 series. (yes MSNBC you suck) I can't even watch it in firefox on WINDOWS.
Please someone with a brain come up with standards and find a way to force these people to use them. That is the real trick. Its not just microsoft but all the idiots who only develop for whatever the hell is on their computer that they like.
MidnightBSD: The BSD for Everyone