|
|
|
|
|
by pron
3679 days ago
|
|
First, higher-kinded types is a feature; dependent types is an entire philosophy. Second, I think you're misjudging the adoption of those languages/ideas: the percentage of real-world programs using HM type-systems (and similar) has hardly changed in the past two or even three decades. Scala is special because it's a single language with lots of paradigms. If you count only those who make good use of sophisticated typed abstractions in Scala and add those to the HM languages, there would still be a very small uptick. The major change in the past few years, I think, has to do with mainstream adoption of higher-order functions. That idea took fifty years to break into the mainstream. As to language effectiveness, I can't argue with you because neither of us has any real data, but I can say that there's a lot of religion surrounding the question of how much linguistic features (as opposed to extra-linguistic ones, like GC) actually increase productivity. What is certain is that we still haven't broken the 10x productivity boost Brooks said wouldn't happen between 1986 and 1996, and it's been thirty years -- not ten -- and it seems like we won't do it in another decade. |
|
Totality is a philosophy; you can have dependent types as a feature without it. Maybe immutability or purity are better comparisons for what Idris brings to the table, but if you're just talking about dependent types then I'm using them already.
> the percentage of real-world programs using HM type-systems (and similar) has hardly changed in the past two or even three decades.
Is that really true? I can't imagine a recruiter asking about Haskell, or a Facebook-sized company talking about their OCaml strategy, ten years ago.
> As to language effectiveness, I can't argue with you because neither of us has any real data, but I can say that there's a lot of religion surrounding the question of how much linguistic features (as opposed to extra-linguistic ones, like GC) actually increase productivity.
That feels like gerrymandering your definitions to me. GC is usually a language-level feature.
> What is certain is that we still haven't broken the 10x productivity boost Brooks said wouldn't happen between 1986 and 1996, and it's been thirty years -- not ten -- and it seems like we won't do it in another decade.
How would we tell? The productivity of the technology industry as a whole has certainly risen enormously. My general impression is that coding is the bottleneck a lot less often - even for a technology company - than it was five or ten years ago.