Tag Archives: javascript

Software in 2014

JavaScript is hor­ri­ble.

> [5, 10, 1].sort();

[ 1, 10, 5 ]

Et cetera. Thus Cof­fee­script and Dart and other ef­forts to route around TheElephantInTheRoom.​js.

more on tbray.org.

By 2014 I got used to the fact that every so often a backend engineer must look at the state of client side development and cry out loud.

The JavaScript Event Loop: Explained

JavaScript’s event-driven interaction model differs from the request-response model many programmers are accustomed to – but as you can see, it’s not rocket science. With a simple message queue and event loop, JavaScript enables a developer to build their system around a collection of asynchronously-fired callbacks, freeing the runtime to handle concurrent operations while waiting on external events to happen.

Good explanations of the programming model behind JavaScript event loop.

Reinventing the Wheel

But, more desperately, we need to push the state of the art, not spend our time repeating ourselves. At the risk of repeating myself (for maximum irony), we are competing against other delivery platforms and so the best way to do that is to improve existing solutions not recreate them.

more on aerotwist.com.

Innovation in on the web platform is thriving, at least when you measure it by the number of libraries that are created every week. Unsurprisingly, that results in a fragmentation, excess of basic building blocks and lack of larger and more complete frameworks.

Why asm.js bothers me

But I don’t believe that normal JavaScript is anywhere near the end of it’s performance path. On the contrary I believe that JavaScript code of kinds from hand-written jQuery to a Emscripten-generated can be sped up even more!

When I sit down and think about performance gains that asm.js-implementation OdinMonkey-style brings to the table I don’t see anything that would not be possible to achieve within a normal JIT compilation framework and thus simultaneously make human written and compiler generated output faster.

more on mrale.ph

Thorough critique of asm.js from the Vyacheslav Egorov, a V8 engineer.

JavaScript is the new Perl

Still don’t believe that JavaScript is the new Perl? jQuery and NodeJS modules, likened to a very distributed collection of Perl modules, are the glue that holds together the JavaScript ecosystem, provides browser compatibility, and it admittedly does a pretty good job; however, sooner or later, the lack of language constructs like truly enforceable namespace boundaries, and the general mess created when teams get a little bit bigger is going to set in. This is seen over and over as the new wave of developers comes into corporate life: Larger companies try out new technologies all the time, then decide it’s costing measurably, and switch back to a stack that is resilient enough to withstand sloppy code.
more on ocpsoft.org

Luckily I don’t have to worry about the mythical “enterprise” beast anymore. While JavaScript is sure to evolve and I am in fact looking forward to features similar to introduced by TypeScript, I don’t see it being replaced by something like Java anytime soon. That would be a regression.

Best Practices Exist for a Reason

We can’t front-load complexity and let people sort it out. That way lies madness. We must distill the rules down so that people can be effective, and help them along their journey towards JavaScript mastery. It’s a learning curve, not a learning cliff.
more on tomdale.net