3 ms·
>> would not be improved by adding static typing Well, that's a matter of opinion, even by long-term Clojure veterans. There is a reason Core.Typed was develop
by hellofunk 9y ago
>> would not be improved by adding static typing
Well, that's a matter of opinion, even by long-term Clojure veterans. There is a reason Core.Typed was developed, though it hasn't been maintained recently. The fact that Rich felt the need to give the keynote at the last Clojure conference about the dynamic vs static issue shows that it is still a highly debated topic within the Clojure world.
- joncampbelldev 9y agoI think the debate may be leaning towards dynamic. - The aforementioned keynote highlighting the various reasons Rich chose to make it dynamic. - CircleCI (one of the major users and propronents of core.typed) dropping it. - The introduction of spec as an alternative for some of the reasons people use type systems (its certainly not a drop in replacement and doesn't intend to be). - Spec allowing different kinds of verification not possible with a type system on its own.
- mbrodersen 9y agoI find it interesting that Rich (and other Clojure people) feel they need to continue defending themselves again and again. While strongly typed language communities usually don't feel the need. There must be some deep doubt in the Clojure community that triggers this.
- jhhh 9y agoI think it's more a acknowledgement of the current state of popularity of languages and an attempt to win people over rather than a manifestation of latent doubt.
- joncampbelldev 9y agoForgive me, but your comment seems a little disingenuous with the way it generalises the static community (every static language??) vs the clojure community. Many of the comments on this page show why Rich gave the keynote. Because the same advantages of type checking are put forward as a reason to not use clojure over and over. They're not wrong, static typing has advantages, but I see little acceptance of any tradeoffs (or even acceptance that such tradeoffs exist: concretion of information, coupling of distant components by shared types etc etc etc I'm just paraphrasing the keynote). He was highlighting the value proposition and tradeoffs of: being data-oriented, being dynamic and clojure.spec niceness. He felt the need to do this because he clearly felt that some people who were wavering about clojure were unsure why it was dynamic: "can't we have all this great stuff AND static types". He wanted to say "yes quite possibly you could, BUT here's the reasons why I didn't add types".