3 ms·
are people without a degree in type systems even allowed to express their opinion on dynamic vs static? because if their opinion is automatically viewed as infe
by keymone 9y ago
are people without a degree in type systems even allowed to express their opinion on dynamic vs static? because if their opinion is automatically viewed as inferior whenever a person with a degree chimes into a discussion, isn't dynamic typing stuck in the limbo of not having competent defenders and the only path for a defender to become competent is to spend years of their lives learning the opposite thing?
i think (as a person without a degree in type systems) that relative success of Erlang and Clojure are a testament that pragmatic approach works, and that is not in any way evidence that static typing is inherently bad or can't work.
- dgllghr 9y agoErlang & Elixir have a very interesting approach to typing. The support for pattern matching in function definitions provides a kind of structural typing for functions. And they both embrace typespecs for type analysis through a separate program analyzer. So a lot of the benefits of static typing are there without the static types.
- keymone 9y agoclojure has destructuring, which isn't quite pattern matching but it does help to detect wrongly shaped inputs. also dialyzer is amazing and i wonder if clojure.spec can be used like that.
- DigitalJack 9y agoclojure has pattern matching too. As a library. Much of the interesting functionality of clojure comes from libraries. (core.async, core.spec, core.match, etc..) The matching library is good. I wouldn't use it in a tight performance loop, but as a productivity booster it's very nice.
- cutler 9y agoRelative success? In what sense? As far as the jobs market is concerned Erlang/Elixir and Clojure have failed to make an impression. Ok, Wallmart, Bleacher Report etc. but search Indeed.com by job title and you'll get what I mean.
- keymone 9y agothat's why it's called "relative", isn't it? Erlang and Clojure are undoubtedly a success for me in terms of productivity. Erlang is undoubtedly a success in a telekom industry since 90s, where extreme reliability is a basic requirement. isn't static typing promoted as a path to achieve reliability "once it's compiled"? go figure. imo, that majority of developers are being indoctrinated into false-OOP paradigm is rather unfortunate historical curiosity than a success indicator.
- iLemming 9y agoaccording StackOverflow survey - Clojure developers are the most well paid in the industry. What a miserable failures they are.
- hellofunk 9y agoWithout a degree? I think that work experience in both dynamic and static languages is enough to offer a perspective. I don't have a degree in type systems but have done a lot of work in both Clojure and also C++ and Swift. I still can't decide if I prefer dynamic or static, they have nice tradeoffs.
- whalesalad 9y agoWhen you say degree are you specifically referring to an academic certificate? Honestly, real world experience and decades of software engineering trump anything you can get from a university.
- keymone 9y agoi agree, but not everybody does because i do find this sentiment repeated in such debates in different forms. for instance: https://i.warosu.org/data/g/img/0504/16/1442936748844.png https://i.warosu.org/data/g/img/0504/16/1442936748844.png
- iLemming 9y agoOne thing that was a personal shocker for me to hear, from not just anyone, but Matthias Felleisen himself - "My research group has investigated the topic for almost 3 decades, and we came to the conclusion that Hindley-Millner doesn't really work". I was really baffled. That was at ClojureWest 2016. Here's the talk itself https://www.youtube.com/watch?v=XTl7Jn_kmio https://www.youtube.com/watch?v=XTl7Jn_kmio. That talk is not about Clojure - Felleisen doesn't even use Clojure. That happened before Clojure.spec was announced. I couldn't really figure out what exactly he was talking about. Not until later, when I tried Spec.