Data Science Up and Down the Ladder of Abstraction

02 Dec 2016

I wrote an article for InfoQ as part of their Getting a Handle on Data Science series.

The article was titled Data Science Up and Down the Ladder of Abstraction and in it I aim to set out my reasons for adopting Clojure, including its:

  • Excellent tooling for REPL-driven development and notebooks for exploratory analysis and live charting.
  • Suitability for creating shareable browser-based visualisations and interactive simulations with modern UI frameworks like Facebook's React.
  • Interoperability with Java, JavaScript, and Scala for making use of established and actively developed numerical optimisation, distributed computing, and machine learning libraries.
  • Data-oriented functional core with a focus on composable sequence processing interfaces which scale with the volume of data you have.
  • Clean and unambiguous syntax which even aids my comprehension of transcribed algorithms.
  • Macro system which enables extensibility at the language level for custom algorithmic abstractions and cleaner code.