2013-03

ECMAScript 6: TC39’s January 2013 meeting

[2013-03-21] esnext, tc39, dev, javascript
TC39 [1] is the committe that currently plans ECMAScript 6 (code-named ECMAScript.next), the next version of the JavaScript language standard. January 29–31, they had another meeting. Thanks to Rick Waldron’s notes, we can read up on what has been decided. This blog post describes the highlights. Previous blog posts summarized prior meetings.

(Note: a blog post on the March TC39 meeting will be posted at some time in the future.)

Subclassing builtins in ECMAScript 6

[2013-03-18] esnext, dev, javascript
[Update 2015-02-15] Newer version of this blog post: “Classes in ECMAScript 6 (final semantics)

In JavaScript, it is difficult to create sub-constructors of built-in constructors such as Array. This blog post explains the problem and possible solutions – including one that will probably be chosen by ECMAScript 6. The post is based on Allen Wirfs-Brock’s slides from a presentation he held on January 29, during a TC39 meeting.

Encoding permutations as integers via the Lehmer code (JavaScript)

[2013-03-13] dev, javascript, jslang
This blog post explores the Lehmer code, a way of mapping integers to permutations. It can be used to compute a random permutation (by computing a random integer and mapping it to a permutation) and more.

JavaScript: try-finally

[2013-03-11] dev, javascript, jslang
This blog post is a quick reminder of how try-finally works.

Will the term “web platform” replace “HTML5”?

[2013-03-07] dev, html5, webdev
When it comes to platforms for implementing applications, the term “web platform” seems to increasingly replace “HTML5” (which itself has largely replaced “Ajax” [1]). In this context, both terms denote the programming platform of web browsers. The former includes JavaScript. The latter doesn’t, strictly speaking, but it includes JavaScript-based APIs.

2013-02

ECMAScript 6’s parameter destructuring and forEach()

[2013-02-28] esnext, dev, javascript
This blog post gives a brief introduction to destructuring in ECMAScript 6 and how the array method forEach() profits from it.

Perl and Python influences in JavaScript

[2013-02-24] esnext, dev, javascript, jslang
If you search the Mozilla Central code base for the texts "Perl" and "Python" (don’t ignore case) then the comments mention what methods have been borrowed from those languages. The paths mentioned below are relative to /js/src/.
[Inspiration: a blog post by Ziyun Fei.]

Link-friendly content

[2013-02-20] blogging, publishing, computers
Have you published a blog post or a GitHub project? This document gives tips for making your content appealing to link to. They are based on things I noticed while collecting material for the JavaScript Weekly email newsletter. The tips should also make your content more appealing to “normal” readers.

asm.js: closing the gap between JavaScript and native

[2013-02-16] jsfuture, dev, javascript
Update 2013-12-30:

asm.js defines a subset of JavaScript that can be compiled to fast executables. It has been created at Mozilla by David Herman, Luke Wagner and Alon Zakai. According to the specification, “[asm.js] effectively describes a safe virtual machine for memory-unsafe languages like C or C++.” This blog post describes how asm.js works, it is based on the specification.

The Edge 2013 videos are online

[2013-02-13] dev, webdev, video
Edge 2013 was a web development conference that took place on February 9, 2013, in London. Its approach was different from most conferences. Quoting the website:
Edge is a different kind of conference, for developers with experience to share, who want to see and bring improvements to the web platform. Our emphasis is on creating a good environment for productive debate and discussion, rather than presenting the experiences of a single speaker.

Each themed session is an hour long, and starts with a maximum 10 minute talk by an expert in that topic, outlining the current state of the platform in that area. [...] The remainder of the session will be given over to an open but structured discussion, with a professional moderator and a panel of seasoned developers who have in-depth knowledge of the subject. [...]

Session participants will include [...] a notetaker to record the discussion so we can share it on the web later.