Javascript? Has it come to that?

Sometimes I really have to wonder at the sanity of the computer industry. It’s almost as if we do things because it’s the flavor of the week, not because it actually makes any damned sense.

Now for me, my own belief in what it takes to build good software boils down to (1) an expressive programming language, (2) adequate operating support for building the type of software I want to build, and (3) good IDE support. (By that I mean a development environment that allows me one-button compile and test. Because the key to writing great software is making the ‘edit-compile-debug’ cycle as short and painless as possible, with debugging tools that allow a direct correlation between what I write and what I debug. MacsBug is a last resort, not a development tool.)

I like the iPhone. It meets all three criteria. I like Android for the same reason.

I’m not a fan of Javascript because so far, I haven’t seen an adequate development environment. Now one may exist that I’m not aware of–but thus far, the best I’ve seen is a combination of Coda and Safari’s debug tools. Part of my problem is that a major part of Javascript programming involves manipulating a web page’s DOM, and, um, it’s not like Microsoft has ever played well with this whole “standards” thing.

I’m also not a fan of weakly typed languages. (One place where I draw an exception here is LISP and LISP variants such as Scheme–but then, really, all variables are references to objects, so it’s not as much “weakly typed” as it is “everything is either an ATOM or an object cell.”) And I’m really not a fan of Perl’s variable prefixing system.

So the idea of the Palm OS’s using Javascript for programming, or Google’s vaporware Chrome OS using Javascript: it just seems, um, weak.

Though one upside (I guess) would be a demand for a much better WebOS-based IDE. Because right now, Dashcode and the Google GWT both seem like hacks to me; rather than helping me write great Javascript they both hide everything behind a “helpful” layer of abstraction.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s