Languages of Choice

I recently checked out a book from the local library on Python (Learning Python, 2nd Ed.) and don’t think it is a very good language. It is too loose where it shouldn’t be, and restrains you where it shouldn’t.

A good programming language should allow you to do almost anything you need, should be consistent throughout, and should allow you to use knowledge of another language as a starting point. C and derivatives, Java, and to some degree Perl and PHP all have enough similarities in syntax that it is fairly nontrivial to learn all of them once you have learned one. For my money, however, the best one to learn is JavaScript.

JavaScript is (almost) essential if you plan on doing any web development. It is designed so that you can learn bits and pieces and do functional stuff within the first half hour or so (without much case and pasting), and is scalable. It can be used for trivial tasks such as image rollovers in a web page, but scales so well that the majority of Mozilla, Firefox, Thunderbird, and pretty much any other Mozilla.org application or extension is primarily written in JavaScript. A good chunk of DreamWeaver is in JS. Not to mention a large portion of Windows (okay, that’s not such a good example, but bad apps can be written in any language).

JS is cross platform. Odds are that the browser you are using can interpret JS. Excellent quality web applications are written in it (Flickr, Google Maps, and GMail come to mind). And if you want to do something more ambitious than a web app (perhaps an app that can save files, for example) you can make a piece of Mozilla chrome (XUL Planet has an excellent tutorial) that will run on any computer that is running any Mozilla.org application.

I long for the day that GNU releases GJSC (GNU JavaScript Compiler).