Subclassing in JavaScript, part 1

Paul Crowley wrote “What's the right way to create a subclass in JavaScript? Wrong question, say the JavaScript advocates. JavaScript isn't one of those fuddy-duddy old class-based languages. It's something much more exciting: a prototype-based language! So remember, when you work with JavaScript, remember never to refer to "classes", because JavaScript doesn't have them, and it only shows you're stuck in the old way of thinking. I'm sure that these sentiments have done enormous harm to the reputations of real prototype-based languages, so let me banish it right here. JavaScript is not a prototype based language; it most closely resembles a class-based language, but all its mechanisms for doing the work of a class-based language are horribly broken, which is why its advocates try to pretend it's something else.”

E4X: I want my S-expressions back

Tony Garnock-Jones wrote “E4X is a new ECMA standard (ECMA-357) specifying an extension to ECMAScript for streamlining work with XML documents. It adds objects representing XML to ECMAScript, and extends the syntax to allow literal XML fragments to appear in code. It also supports a very XPath-like notation for use in extracting data from XML objects. So far,…”

Date and Time libraries in various languages

Tony Garnock-Jones wrote “Can a correct, or even sensible Date, Time and Calendar library be designed, for any programming language at all, ever, by anybody, genius, time expert, or not? Certainly [old link: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html ] Java’s Date API isn’t very inspiring, but some systems do manage to do better: here’s a quick survey of the state of Date/Time/Calendar…”

Windows Update broke my Thunderbird, Picasa, NikonScan and EpsonScan

francis wrote “For about a week, I thought my EpsonScan driver was broken: whenever I selected a folder to dump my batch scans, it would just hang there on the “Browse for Folder” dialog box. Then I noticed the same problem in NikonScan…, Picasa… and Thunderbird. Suspicious, huh? I rummaged around and noticed that Windows Update had…”

Best. Language comparison. Evar.

Tony Garnock-Jones wrote “Someone has finally figured out [old link: http://www.iolanguage.com/about/simplicity/] the ultimate metric for language complexity. Legions of ivory-tower academics can now retire. It’s a solved problem. Who knew it would turn out to be that easy? I guess people have just been overlooking the obvious for years!”

Thunderbird’s Ridiculous Menu Structure

Tony Garnock-Jones wrote “It so happened that, having just installed the beta of Thunderbird 1.5, one of the first things I wanted to do was compose an email. Early on in the message, I typed the word “summarise”. This spelling is correct in UK English, but clearly is not in US English, as the check-spelling-as-you-type indicator flashed up.…”

Big bucks for big bugs

francis wrote “I was recently working on a project where the client wanted us to add some features and updates to a web-facing database which they had paid some big name consultants to develop for them. Wow, did what we received look impressive. It used some of the latest industry buzz-words: SQL Server, ASP.NET, Web services, to…”

When will the Haskell community finally get their act together

Matthias Radestock wrote “…and produce a usable package system? The absence of a standardised and user-friendly mechanism to package & distribute libraries, and to locate and install such libraries has been a major stumbling block in the adoption of non-mainstream programming languages for a long time. I wrote about it [here](https://www.lshift.net/news.20030928lispconference.html) in the context of Scheme. Haskell is…”

XML tunnel-vision

Michael Bridgen wrote “In Ant 1.6, properties can be written in XML files. Can someone tell me why <property name="some.property" value="some.value"/> is more desirable than property.name=some.value ? Update The import feature is what’s new in Ant 1.6 that makes this usage possible. So, the answer is, “because you can conditionally set properties in the imported files” (rather than…”