Is strict type-checking an anti-pattern?


(Andy Wootton) #1

In this talk, Rich Hickey looks at the types of systems he worked on, in C++ and Java. He classifies them as “Situated programs”. They sit in the world for an extended period of time - continuous and logic is a small part, surrounded by information [data] processing, which our programming languages are bad at plus libraries, databases and protocols.

Clojure is “small, though not as small as Scheme”. It is good at “information driven situated programs” and may be “the language of cranky old, tired programmers” :slight_smile:

“Just use [callable] maps”.
Types cause coupling. Types are an anti-patttern!
Complex types lead to “programming language colloquialism”.

“We just want to move data over wires”. Unix = bit streams. I learned to code with strictly typed languages and I’m almost convinced. Does anyone disagree?