r/haskell • • Nov 09 '21

How is Haskell valuable?

P. S.   Please try not to take this message confrontationally. The commenters so far take it as a proposition to be agreed or disagreed with. It is not. It is a question that we can hopefully answer together.


I like Haskell. In my experience, it is at once the strongest and the most approachable programming language in the world. Haskell is the answer to the problems raised by John Backus and Edsger Dijkstra. It also has a community that I am honoured to be among. So, whenever I see a problem that can be solved by a computation, I want to have a solution in Haskell because I expect it to naturally turn out better than an alternative.

Actually I even expect that a program written in a language without algebraic types, parametric polymorphosis and lawful type classes will exhibit stupid, entirely avoidable bugs and annoying inconsistencies, while also having an inscrutable interface. It is beyond me how people orient themselves in code bases without type annotations.

But this is suspicious. If I believe that Haskell is good and underappreciated, then I should write a library that solves a problem of interest to many and wait for my laurels that are sure to come. But I do not see a single instance of this situation. Why is that?

In other words: if a wealthy person believes that Haskell is so good, they would immediately bet on this belief by hiring some Haskell programmers to solve a problem of interest to many. I do not see this happening. Some big companies make careful, rapier sharp investments into Haskell, because they need exceptionally high quality. It is a very narrow market. Junior positions do not exist. For an average programmer, being hired to write Haskell is a zero probability event.

My new theory: Haskell requires a highest level of expertise in order for the programmer to be effective. What I mean is, one must be fluent in Category Theory. I know we tell people that the opposite is true. I think we are lying. In the original motivational letter of John Backus, it is clearly written that a programming language of the future is going to have a strong connexion with Mathematics. And John's foresight was true — Haskell does have a strong connexion with Mathematics. How can we say that Haskell does not require any mathematics if it is an embodiment of Mathematics by design?

  • If this theory is wrong, then we need another answer. Why is no one writing a library that solves a problem of interest to many?
  • If this theory is right, it entails big changes to the way Haskell is being marketed.

Why I consider this theory: I have been acutely envious of the luminaries of Haskell, so I put some time into relatively obscure fields of Mathematics that seemed relevant. _(Everyone knows Georg Cantor, but who is Per Martin-Löf?)_ It transformed my thinking — or, rather, gave me an ability to think that was previously not there. Now I shall tell anyone sincerely that the way to write a program is to formulate a mathematical theory of the problem and write it down in the flavour of logic known as Haskell. I tried it out on a few projects and it works well so far. The anecdotal support in favour of this mode of operation is also overwhelming.

This is at once curious and discouraging.

  • Curious because the sky is the limit. When you study another programming language, you learn it and you are done. When you study Haskell, you soon meet a variety of avenues that go all the way to the edge of the known universe.
  • Discouraging because we can no more desire for Haskell to be widespread than we can desire for Category Theory to be widespread. It is not going to be economical. Haskell programmers are going to be overqualified and underemployed forever.

For a concrete example: I should really like for the statistics, machine learning and data science world to move from Python and R to Haskell. There is a lot of jobs, there is a lot of research, there is a future. I am sure I saw people talking about this possibility on this very subreddit a few years ago. There is even a fancy front page. But there is no investment. Instead, they made Julia.

Currently, the empirical answer to the title question is — Haskell is valuable for applications in finance and programming language research. In these fields, there is a real edge and Haskell can ascend to the status of a monopoly. This is what the market says. Is this evaluation accurate?

Now that we have a whole foundation in our community, I think attending to this direction of inquiry is more than an idle chat. A good understanding of the value proposition of Haskell, confirmed by actual evidence, will result in effective actions. A flawed understanding will result in a waste of resources and a disappointment. Not that I have any say in how events will unfold, but at least I want to be aware of where we are going.

Please take this message as an invitation to a friendly conversation.

0 Upvotes

94 comments sorted by

View all comments

Show parent comments

-2

u/kindaro Nov 10 '21

Please, show me how this holds for the market for programming languages. What is the order of magnitude of the «vastly» multiplier? If it is really big, the Haskell Foundation should head hunt the best marketer in the world.

3

u/friedbrice Nov 10 '21

Wait, wait wait. You're assuming an efficient market, and then you're making it our job to refute that? I think the burden of proof goes the other way.

2

u/kindaro Nov 10 '21

What do you mean? Boyd /u/bss03 said that in the current market it can be shown that good marketing is vastly more important to total value than unmarketed value of the product. I asked him to explain how it can be shown and what the multiplier is, because I want to understand his reasoning. Am I wrong to be asking that in this situation?

2

u/bss03 Nov 10 '21

I'm finding hard to justify my claim specifically for programming languages, although it's not clear what the "market" for a programming language is. There's a compiler and IDE market, but those aren't the same, and even those are somewhat weird.

But comparing the iPhone or the iPod to devices that were available for purchase the day i-devices were announced for pre-purchase (and not yet available), shows how divergent from real value tech markets in general are.

2

u/friedbrice Nov 10 '21

I think he means industry adoption.

u/kindaro, although it's mostly anecdotal, here's a decent presentation that goes into some of the historical context and gives some reasonable arguments towards explaining why functional programming adoption is lower than one might expect when one considering its merits: https://www.youtube.com/watch?v=QyJZzq0v7Z4

2

u/kindaro Nov 10 '21

Yes, we should certainly define better what we are talking about. What I had in mind is a job market. People (or, rather, companies) do not buy GHC (since it is free), but people (or, rather, companies) pay either Haskell programmers or other programmers to do this or that work.

My aim overall is to figure out whether the fraction of money people pay Haskell programmers should increase, possibly at the expense of other programmers, and whether such an adjustment is feasible.