Python Notes

Thursday, May 05, 2005

Living with Javascript

It's nice to be back after a couple months of unrelated work... let's start catching up, a lot of interesting things are going on the Python world.

First of all, there is a interesting discussion going on the Python Web SIG regardingJavaScript libraries. After a long thread discussing why everyone else loves Rails (which is something that really makes many Python programmers envy!), we're starting to talk about doing something real. And a good base of Javascript code would be handy, don't you think?

Well, it's not that simple. Javascript seems to be everyone's little dirty secret. Everyone uses, but most people don't really like it. Some (like me) dislike it for no other reason than being another language that they have to use. Some others dislike it for being named Javasomething (which is indeed something very strange). Yet others dislike it because it's a hell of a language to work with, mainly because it breaks the usual development cycle... it's hard to debug, trace, or otherwise analyze because it runs inside the browser. Most of the times, Javascript can't stand on its own legs; it requires other 'real' languages, such as Python or Java (or even PHP!) for something to be done. To top it all, there's the DOM, incompatibilities, you name it.

Once you understand that - Javascript may be tolerated, but (almost) never loved - it's easy to understand why there is so little movement in the OS camp involving Javascript libraries. I mean, the amount of quality & well documented JS libraries is ridiculous if compared to the relative importance of the language for the industry. The lack of real communities of developers is also telling. Please note that in no way I mean to disrespect the few brilliant people that is working with Javascript. Projects like Kupu are really brilliant, but overall, things do not look good.

For all the reasons above, I can't see it changing anytime soon. Perhaps if we had better support in some browser -- and Firefox is the perfect candidate here -- to improve the development experience; a more convenient enviroment, just to start with. So far, programming in Javascript it's been a long trip into a U2-class sub with the lights turned off, and no sonar to point the direction.


Post a Comment

<< Home