JavaScript galore

All timestamps are based on your local time of:

Posted by: stak
Posted on: 2007-08-19 18:00:07

(Warning: apparently staring at JavaScript addles my English-writing skills. Beware of poor grammar below that I'm too lazy to fix.)

So I haven't posted for a while. Haven't really done much of anything for a while, actually, except work on a mountain of JavaScript code. I haven't really done any serious JavaScript programming since I pushed out my first website back in the late 90's, and back then JavaScript was still in its infancy. By which I mean it sucked. It still kinda sucks, but at the same time it doesn't.

I tend to prefer strongly typed languages, since they catch a lot more errors at compile-time and make it easier to debug at run-time. I also like being able to look at a piece of code and know exactly what type of data a variable contains. JavaScript's not so great in those respects (although I gotta say, Opera's developer and error consoles are really awesome for debugging this stuff. Presumably FireBug would be too, except I'm using a PowerBook and F12 is mapped to the dashboard.)

Another thing I don't like about JavaScript is doesn't have great documentation. The reference at the MDC was the best one I found, and I wouldn't consider it to be all that great. There's also the crummy one at W3CSchools that always manages to beat the MDC one in the Google rankings. Eh well.

Anyway, the good stuff about Javascript is that most of the stuff I wrote that worked in one browser also worked in the others. This happened even with what I considered relatively arcane cases where I thought the browser's JavaScript implementation details might make a difference. The noticeable exception was with Safari - for some reason it just does stuff differently, and I'm still having problems with a dom.appendChild call breaking everything.

Also nice about JavaScript is how it's become a functional language, complete with lexical closures. I'm not sure if it had this way back in the last millenium, but it's definitely new to me, and I quite like it. JavaScript also uses a prototype-based object construction mechanism, which is pretty nifty since you can basically dynamically change the types you're creating instances of, and do all sorts of crazy stuff that ends up backfiring and causing you debugging nightmares. But still, cool.

Steve Yegge claims that JavaScript 2.0 will be the next big language. I'm still on the fence about that one. There are still some serious issues with JavaScript, and unless those are worked out, it's not going anywhere. And of course, as he pointed out in his OSCon keynote, it has a brand problem too. There's still a lot of people out there who dislike JavaScript because of what it used to be, and that isn't going to just disappear even though JavaScript itself has changed. I guess we'll just have to wait and see.

[ Add a new comment ]

(c) Kartikaya Gupta, 2004-2024. User comments owned by their respective posters. All rights reserved.
You are accessing this website via IPv4. Consider upgrading to IPv6!