Notes from West London

Thursday, May 25, 2006

The Little Language That Could

Drs Chatley and Skipper graced the department with their presence today, and Nick led a very good SLURP discussion about Java wildcards and existential types. Later, Rob and I spotted on Leon's blog that it was "London Javascript Night"...how could I not attend a conveniently-located event about everyone's favourite object-based language.

Paul Hammond from Yahoo showed some Javascript idioms: function shortnames (i.e. aliasing long function names), using objects as packages, and closures (actually very well explained). His advice: "Understand functional programming"! Simon Willison then showed that the state of JS library development is very healthy. Prototype and MochiKit use object prototyping to give JS, respectively, a Ruby-ish (Rubenesque?) and a Python-esque feel. (MochiKit's deferred callbacks look like the start of very interesting RPC patterns.) Meanwhile, Dojo and the Yahoo UI Library are professional-grade in terms of, respectively, deployment+storage APIs and cross-browser support. Simon made an interesting point: "Commit to understanding the library you choose", so that when (not if) its massive internal hackery breaks, you understand how to file down the sharp bit of metal showing through.

Tom Insam's lightning talk on E4X showed features in Firefox's JS that easily compete with C# 3.0. Leon (who almost takes the concept of orange too far) spoke about storing masses of JSON data in cookies so that JS can personalise a site entirely client-side, and hence maintain low server loads and latency. ("Think of it as ... exploiting your users.") Dominic Mitchell showed how to AJAX-ify CGI scripts, so they're driven by RPC initiated by JS in the browser. Surprising that speakers who mentioned AJAX felt the need to explain it to an audience this technical.

I learned three new buzzwords: Hijax, J-INC (Leon's Json IN Cookies - clearly the next big thing!) and "red-dot fever". The last was in Tom Carden's talk about Mapstraction, and refers to the fact that many mapping mashups exist solely to plot a bunch of pushpins. (Mapstraction is a good idea, but reimplementing polylines?!)

PS Due to JSON, eval is suddenly cool with Web programmers. I find this ironic given the trouble that traditional (non-sandboxed) environments have with buffer exploits...as explained in a great article published this week.

0 Comments:

Post a Comment

<< Home