<story><title>Clojure/Conj 2017 – Opening Keynote by Rich Hickey [video]</title><url>https://www.youtube.com/watch?v=2V1FtfBDsLU</url></story><parent_chain><item><author>hellofunk</author><text>No one in this thread is yet talking about the content of this talk, which I think is interesting. Rich is doubling down on dynamic typing. As the world is gradually moving to more statically-typed languages (Rust, Swift, Go, Elm, Purescript, Typescript are all popular tools that come to mind), Clojure remains in the embrace of dynamic typing, and this talk is an interesting look at the perspective of why that is, and adds perhaps a little bit to the debate between static and dynamic typing.&lt;p&gt;I admire Rich a lot, but I also admire John Carmack, and it is apropos that yesterday another comment was shared on another post here [0] about &lt;i&gt;his&lt;/i&gt; opinions on static typing, and how in just a few years (his talk was in 2013), the industry as a whole has made considerable changes in its opinions of static typing; according to his talk, in 2013 most of the industry was still not convinced of the benefits of static typing.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=15460604&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=15460604&lt;/a&gt;</text></item></parent_chain><comment><author>kenshi</author><text>I think its a mistake to directly compare the experiences (and conclusions) of these two exceptional programmers.&lt;p&gt;Rich Hickey explains at the start of his talk where he is coming from, what the context of his development work, and he calls it &amp;quot;Situated Software&amp;quot;. His background and the context for his development is building information systems in organisations where the rules are messy and no doubt change often. One of the things he calls out explicitly in his talk is the messiness of dealing with the &amp;quot;Two for Tuesday&amp;quot; rule in one of the systems he worked on. He also spoke about how different working in that domain was, to doing compiler development.&lt;p&gt;John Carmack&amp;#x27;s experience and domain expertise is building high performance game engines. I&amp;#x27;d argue this is closer to compiler writing in the sense that it is a much more rigid problem than say having to serve the needs of an organisation whose requirements may change often and in seemingly arbitrary ways, and usually on a tight deadline.&lt;p&gt;I am not trying to elevate one domain over the other. They are different kinds of problems, and have different kinds of limitations and constraints applied to them. As such I don&amp;#x27;t think its any surprise that the priorities for each of these developers is different.&lt;p&gt;Choosing between more dynamic or more static approaches without considering the context in which you are working in, is a mistake.</text></comment>
<story><title>Clojure/Conj 2017 – Opening Keynote by Rich Hickey [video]</title><url>https://www.youtube.com/watch?v=2V1FtfBDsLU</url></story><parent_chain><item><author>hellofunk</author><text>No one in this thread is yet talking about the content of this talk, which I think is interesting. Rich is doubling down on dynamic typing. As the world is gradually moving to more statically-typed languages (Rust, Swift, Go, Elm, Purescript, Typescript are all popular tools that come to mind), Clojure remains in the embrace of dynamic typing, and this talk is an interesting look at the perspective of why that is, and adds perhaps a little bit to the debate between static and dynamic typing.&lt;p&gt;I admire Rich a lot, but I also admire John Carmack, and it is apropos that yesterday another comment was shared on another post here [0] about &lt;i&gt;his&lt;/i&gt; opinions on static typing, and how in just a few years (his talk was in 2013), the industry as a whole has made considerable changes in its opinions of static typing; according to his talk, in 2013 most of the industry was still not convinced of the benefits of static typing.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=15460604&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=15460604&lt;/a&gt;</text></item></parent_chain><comment><author>Jach</author><text>I think it&amp;#x27;s important to note Carmack also tried Racket after that, even wrote a server that was in production for a while. As I recall from his twitter feed he really likes it especially for beginners (got his son to make games with it) and especially for getting things done as a beginner to the language. Later he discovered Typed Racket and appreciated it, I remember something about with proper types at least at the interface level he found some design flaws to fix.&lt;p&gt;Just like some people think dynamic types are limited to the subset of static types with Any type for everything and think JavaScript is a great example of its utility and power instead of e.g. Common Lisp, a lot of people think static types are limited to what you get in C++98 instead of e.g. Haskell. The type flame threads would be a lot more interesting if people had tried using more than the most popular representatives of each side before forming opinions...</text></comment>