Hacker News new | ask | show | jobs
by jacobolus 5771 days ago
No, no, a thousand times no to your whole outlook here. If powerful general APIs are provided, people will build the (hopefully open source even) abstractions on top which wrap those up in cute, easy-to-read, easy-to-use bundles of functionality. JavaScript should have access to some real binary data type, should have some general APIs for doing fast math on those types, should have direct-ish access to APIs like cryptography and data compression, &c.

The reason that the web is built on a giant pile of hacky taped-together spaghetti (to mangle some metaphors) is that instead of providing access to real low-ish level features, every browser has had its own special set of half-baked high-level APIs and leaky abstractions.

So, for example, I hope that WebSocket stays as simple as possible, the way it is now (the way Ian Hickson argues for it to stay), instead of sprouting complex authentication, encryption, specialized compression, various multiplexing and tricky framing features, &c. &c. on top (as the Java community and the IETF mailing list on the subject keep bickering about).

The worst thing that can happen for the language and its community of developers is to continue to be treated as second-class novices who need our hands held and must be guided through APIs providing the precise features envisioned by some enlightened browser vendor. If instead we’re treated like adults, there are plenty of really really smart JavaScript coders who will be happy to experiment with abstractions on top of the language and give the high-level website developers awesome tools, which can evolve and grow over time. We should be making it possible in the language John Resig to build jQuery and processing.js, rather than making it easy for Joe Random Developer to access some specific high level thing in as few lines as possible.