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.