News for hackers. Stuff that matters.
Re:Why GitHub used Haskell for Semantic by solidsnack9000 on Wednesday June 05, 2019 @11:54PM (#20111434)
In fighting games, characters are sometimes described in terms of their “skill cap” and “skill floor”. The “skill cap” is how well you can play, if you really invest in this character. The “skill floor” is about how bad things can get if you don’t play that well.

Some characters are very approachable and easy to play. If you don’t know what you are doing, it’s alright — you can muddle through. If you play them in a really exceptional way, it doesn’t make all that much difference.

Some characters are really tough to play at all; and once you figure it out, they aren’t particularly exceptional and don’t reward further investment.

A “high skill cap” character is one where you can keep learning and learning and your performance at the game will actually get better and better. Some of these characters are also approachable — they have a gentle learning curve. Some of these characters are basically unplayable until you can play them really well — there is an inflection far to the right where you go from dying all the time to actually winning a fair number of matches.

Haskell is like one of these characters. Until you’re really good and know a lot, you’re basically going to ship nothing. This effect is sort of invisible to senior programmers learning Haskell because they are already so skillful and are used to having to skim a CS paper or two, once in awhile, to be able to get their work done. Once you are good at Haskell, vistas really open for you in terms of the kind of programs you can design and build. Many year after setting it aside, I still rely on what I learned about Haskell API design and effects modeling to design reliable, transparent and modular distributed systems (it all starts with the types).

“High skill cap” characters tend to be admired, but not frequently played.

Re:Why GitHub used Haskell for Semantic by yakshaving_jgt on Thursday June 06, 2019 @02:22AM (#20112065)
I have never read a CS paper.

I do not know Category Theory.

I failed high school maths.

I run three business on Haskell.

Re:Why GitHub used Haskell for Semantic by solidsnack9000 on Thursday June 06, 2019 @01:54PM (#20117095)
In Super Smash Brothers, there are some people who play and win with Zelda. Just not that many.
Re:Why GitHub used Haskell for Semantic by yakshaving_jgt on Thursday June 06, 2019 @02:10PM (#20117266)
I don’t say “I failed high school maths” because I’m proud of it. I’m not special. I’m not particularly clever. I don’t know how else to drive the point home that you don’t need to be a genius to build software and enjoy doing it in Haskell.
Re:Why GitHub used Haskell for Semantic by solidsnack9000 on Thursday June 06, 2019 @10:22PM (#20121128)
No one is arguing that you need to be a genius to use Haskell. How does my argument come across that way?
Re:Why GitHub used Haskell for Semantic by yakshaving_jgt on Friday June 07, 2019 @02:45AM (#20122203)
> No one is arguing that you need to be a genius to use Haskell.

I’ve come across this sentiment so many times. Haskell definitely has a reputation for being an “ivory tower” language.

> How does my argument come across that way?

I’m not too familiar with Zelda, but it sounded like you were saying “some people are just able to do these things that most others can’t.”

If that isn’t what you were saying, then I am sorry for misinterpreting. I’m genuinely not trying to argue or take you out of context or anything like that.

Re:Why GitHub used Haskell for Semantic by solidsnack9000 on Sunday June 09, 2019 @11:13AM (#20139713)
I think anybody can write Haskell and anybody can play Zelda or similar characters in fighting games.

What the skill-cap / skill-floor thing is about, is how often do people bother. When the base level of skill required to play at all -- not necessarily play well -- is really high, often those characters don't get used as much. People find a character that demands less up front investment and play that character instead. It's not about ability, it's about time.

Re:Why GitHub used Haskell for Semantic by yakshaving_jgt on Monday June 10, 2019 @08:26AM (#20146058)
Ok, I think that's fair. I won't deny there was a significant time investment on my end.

Thanks for clarifying.

Re:Why GitHub used Haskell for Semantic by tasuki on Thursday June 06, 2019 @04:33AM (#20112645)
Nice. Tell more?
Re:Why GitHub used Haskell for Semantic by yakshaving_jgt on Thursday June 06, 2019 @07:07AM (#20113332)
Summaries of my projects are here: https://jezenthomas.com/
Re:Why GitHub used Haskell for Semantic by tasuki on Sunday June 09, 2019 @04:53PM (#20141832)
Great, thanks Jezen!