Optimization Coaching for JavaScript

Optimization Coaching for JavaScript - St-Amour & Guo, 2015 Because modern programming languages heavily rely on compiler optimizations for performance, failure to apply certain key optimizations is often the source of performance issues. To diagnose these performance issues, programmers need insight about what happens during the optimization process. Consider the following program snippet from the … Continue reading Optimization Coaching for JavaScript

The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript

The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript - Pradel and Sen, 2015 Updated to fix conditional coercion example: "0" == "false" is false, but "0" == false is true. "JavaScript is notorious for its heavy use of implicit type coercions" - and many of those are … Continue reading The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript

Declarative Interaction Design for Data Visualization

Declarative Interaction Design for Data Visualization - Satyanarayan et al. 2015 We've looked at the power of declarative approaches before when it comes to data and distribution (The Declarative Imperative, Bloom, Edelweiss, and of course let's not forget SQL itself!); today's paper applies a declarative approach to interactive data visualizations. With thanks to Dion Almaer … Continue reading Declarative Interaction Design for Data Visualization

Consistency analysis in Bloom: a CALM and collected approach

Consistency analysis in Bloom: a CALM and collected approach - Alvaro et al. 2011 This week I'm delighted to bring you another edition of Desert Island Papers, featuring Jonas Bonér. And it seems fitting that Jonas' first choice is a paper by our previous Desert Island Paper guest, Peter Alvaro. There are several big ideas … Continue reading Consistency analysis in Bloom: a CALM and collected approach

Generative Communication in Linda

Generative Communication in Linda - Gelernter 1985 This is the second of five papers selected by Peter Alvaro as part of his 'Desert Island papers' nominations. Generative communication is the basis of a new distributed programming language called Linda... Where most distributed languages are partially distributed in space and nondistributed in time, Linda is fully … Continue reading Generative Communication in Linda

Predicate Logic as Programming Language

Predicate Logic as Programming Language - Kowalski 1974 The purpose of programming languages is to enable the communication from man to machine of problems and their general means of solution. Kowalski shows us that predicate logic can be used as the basis of a "useful and practical, high-level, non-deterministic programming language with sound theoretical foundations." … Continue reading Predicate Logic as Programming Language

Scala Actors: Unifying thread-based and event-based programming

Scala Actors: Unifying thread-based and event-based programming - Haller & Odersky 2008 Yesterday we saw a Haskell-based approach to unifying events and threads, today's paper shows how to apply some of those same ideas on top of the JVM using Scala. There is an impedance mismatch between message-passing concurrency and virtual machines, such as the … Continue reading Scala Actors: Unifying thread-based and event-based programming