2013-03

Parallel JS (River Trail): soon in Firefox

[2013-03-24] dev, javascript
2013-12-23: A new blog post on ParallelJS (as Parallel JS is now called) supersedes this post.

Parallel JS will soon be included in Firefox Nightly builds. This project was initially called River Trail [1]. It automatically parallelizes code that uses the ParallelArray type and its array-like methods (map() etc.). [Source of this post: “Parallel JS lands” by Nicholas D. Matsakis.]

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.