Sunday, February 8, 2009

There's Going To Be Many More Rails(es)

Think about this. Many programmers use a language at work that they have no faith in. Meanwhile, emacs is the most ridiculously hyper-evolved piece of software ever. Why? Why do we have hyper-evolved text editors, and jobs where we use crap software and crap tools?

Imagine if you went to the doctor's office and found that the doctor uses a transdimensional laser scalpel to open his letters, but he plans to do surgery on you with a sharpened rock.

Recently the VP of Software Development at justin.tv posted a bunch of clueless nonsense about TDD that is so flat-out ignorant your jaw will drop. The funny thing is, TDD's been around for decades, and this VP's precise misconception's been around for decades too. The mainstream will never catch up, because new people get the same shit wrong for the first time every year.

In the days when emacs first developed its transdimensional laser powers, there was nothing we could do about this. Chained to C++ for life, emacs hackers wrote Lisp in the dark of night just to stay sane. Today, commodity hardware and open source software make it so easy to deploy web apps in any language that there's no excuse for whining about "but my company won't let me use Foo."

This is where Rails came from. This is also where Seaside came from, and Happs, and Lift, and Xavante. This is where the first Potion web server will come from. Hackers will code new Io web servers just to prove they can.

And the company to bring it to you will not be AT&T. It's the rise of small business on the Internet that gives programmers more options than ever before. At CUSEC 2009, Avi Bryant said that if you want to develop innovative software, don't preach to developers. Ship to users. Developers resist change and cling to their beliefs. Users don't know or care.

More and more people on the Web don't have to care what pointy-haired bosses or bossy "senior architects" think. The rise of small business means an inevitable boom in languages and frameworks. It also means better software.