Clojure

A lisp functional programming language designed by Rich Hickey. The core philosophy is to organize programs around the transformation of values using pure functions and isolated side-effects.

  • Static Types Make it Easier Work on Projects Sporadically

    It’s easier to work on projects intermittently when a strongly typed programming language is used like Rust. That’s because becoming proficient in a codebase often entails holding the whole program in you head. Types provide mental shortcuts around the flow of data–you can skim the program by reading the static types to trace the flow of data and transformations (read the input arg types and return type) without needing to fully read or understand the contents of a method or function. In dynamic programming languages like Clojure you need to pay closer attention to what each step of the program does to anticipate what values are being used where.

  • Rich Hickey

    Computer scientist and musician that designed the Clojure programming language. Has given many influential talks about functional programming.

  • Vega Is a Visualization Grammar

    Vega is a high level charting and visualization library that uses a declarative grammar (a data structure) that is translated into a D3 rendered chart.

  • Programmable Music Environment

    Converts code into generated music on-the-fly. There’s a sub-genre of electronic music that uses programming tools at live shows where the musician grows the program by writing and reinterpreting code as the audience watches and listens.

  • Learning Fringe Programming Languages Makes You Faster

    Learning a programming language that is immature and substantially different from what’s commonly used in the industry makes you faster at programming, specifically debugging and unblocking. These skills generalize to any programming and make you faster at ‘figuring things out’ next time something unexpected happens.