Javascript is not a toy any more. Finally, after two decades of stumbling around blindly, wreaking more chaos and mayhem than a shirtless, drunken Australian on a JetStar weekend in Bali, web development has finally matured.
I started writing web apps in 1994. Using CGI.pm in Perl was pretty much state of the art – and the art wasn’t very pretty. ColdFusion appeared shortly thereafter, but only supported basic control structures – no functions or even subroutines at the start. Then came ASP and a disastrous mishmash of security holes, ActiveX objects being called from the only thing worse than PHP for tag soup with spaghetti code for filler. PHP, for our sins, went from being a ‘hey, kids, look – I made a web page!’ app to an actual application platform.
.. and the list goes on.
I’ve lived through the browser standards wars, I’ve seen such sins committed in the name of the Web that I would wake up screaming, ‘Why, Tim Berners Lee?!? WHY???!!’ I’ve lived through <BLINK>, Flash, animated GIFs, <MARQUEE>… and other monstrosities whose names Shall Not Be Spoken.
I’ve used JavaScript since it was a toy.
But this, my child, is the key: It’s not a toy any more. Finally, after two decades of stumbling around blindly, wreaking more chaos and mayhem than a shirtless, drunken Australian on a JetStar weekend in Bali, web development has finally matured. A bit. It’s learned that being cool doesn’t earn you nearly as many friends as being useful. It’s learned that a guy’s gotta eat, fer Chrissakes, and sleep from time to time. It’s learned that popsicle-stick bridges may be neat, but won’t carry the load that a boring old concrete one will.
But, as the scripture says, ‘then I put away my childish things.’ Oh, it’s true that just because we’ve grown up doesn’t mean we’ve learned every lesson ever. It’s true that we Web Developers still get seduced by Teh Shiney. But all in all, we’ve grown; we’ve lost our innocence and our hair. But we sleep at night. And we parallelise. And we scale. We’re grown-ups now. With grown-up tools.
So put down your PHP child. Accept that JavaScript is a language. REST in your Bower and accept that some change is for the better.