(this post previously appeared on bring back tables)
Whilst I realise that this blog may well incur the wrath of all web developers everywhere, I feel I must write something now about the parlous state of the web development industry.
I am a senior developer and, as such, I deal with new blood coming to the company every so often and feel that I often have to break them in so that they build websites in a pragmatic way.
Divs and CSS alone shouldn’t be the only way to code websites.
There. I’ve said it. I don’t feel dirty or ashamed. Try it. It feels good.
Now try this – I will do my best to code all sites with just divs, but if sometimes a page will take 2 hours to code with divs and just 5 minutes to code with tables, I will use tables.
Did I just go too far? For some people, I think the answer will be yes.
Web Developers who come straight out of university and who don’t have real world experience think that every design they encounter could and should be coded with divs, and who am I to tell them it shouldn’t? Our clients expect that their site should look pixel perfect and exactly the same in every single browser, and I feel that sometimes developers think that using tables is backwards and strange.
I tell you what is backwards and strange – using CSS hacks to make dynamic content align vertically centred. It’s like my dad using an electric carving knife in the 80’s because it was the latest thing. Why did he do it? It wasn’t easier, it wasn’t quicker, it wasn’t necessarily better. He just did it because it felt like it was the future.
Personally and collectively we should always strive to make things better; to take discoveries, inventions and innovations as far as we can and then to discover new things and new ways of being and doing. But this cannot be at the expense of pragmatism.
There are many developers out there doing a brilliant job of finding new ways to make divs look like tables. The code is lighter, there isn’t a need for transparent gifs any more. It’s brilliant.
However, I am putting this site together so that I can have a vent for my frustrations at the web industry in general and Microsoft in particular, and to make myself and others question the need for divs at all times.
Use them mostly, please, I beg you. But if you hit a brick wall, or have to nest 3 divs together to accomplish what one table would do then please just use the table. It doesn’t make you a worse developer. It makes you a pragmatist, and that is an achievement in itself – to know when to cut your losses and move on.
Bring back tables.