Rich Hickey explained the design choices behind Clojure and made many statements about static typing along the way. I share an interesting perspective and some stories from my time as a Haskell programmer. I conclude with a design challenge for the statically typed world.
I break down two perspectives (their features and their methodologies) for the three most common paradigms. I also explore why paradigms are so easy to argue about, and what we can do about it.
We address the question directly, but then look deeper to the beliefs behind the question.
We explore when it is safe to extract out an abstraction and when you need to go deeper and rebuild it from scratch.
We explore some of the background behind the meaning of the word abstraction and why we do it.
After exploring why frameworks and why not frameworks, I dive into the design priorities I think a web framework should have.
We explore three arguments against frameworks, address them, then turn them into challenges to be overcome.
While contemplating a Clojure web framework, I explore the reasons we use web frameworks in general. I conclude that the framework should support a learnable development process.
Poor open-source development practices, neglect for the beginner experience, and lack of communication have come up as complaints against how Cognitect stewards Clojure. I address the complaints with a plea that we do more as a community.