this post was submitted on 30 Aug 2023
314 points (96.2% liked)

Programmer Humor

19471 readers
1359 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

The worldwide Haskell community met up over beers today to celebrate their unprecedented discovery of an industry programmer who gives a shit about Haskell.

On Wednesday, researchers issued a press release revealing that 27-year-old Seth Briars of North Carolina, a Java programmer at Blackwater accounting firm Ross and Fordham, actually gives a shit about Haskell.

"Mr. Briars has followed every single one of our press releases for years," the press release stated. "Probably even this one."

Haskell researcher Dutch Van Der Linde explained how they had stumbled on the theoretical possibility of Briars and his persistent interest in Haskell. "We knew that there are precisely 38 people who give a shit about Haskell," said Van Der Linde, "because every Haskell-related reddit post gets exactly 38 upvotes. It's a pure, deterministic function of no arguments -- that is, the result is independent of what we actually announce. But there are only 37 of us on our mailing list, so we figured there was a lurker somewhere."

"That, or it was an off-by-1 error not detectable by our type system," Van Der Linde added. "But we don't, uh, like to dwell on, I mean with good unit testing practices we can, um... sorry, I need to get some water."

As Van Der Linde stumbled off in a coughing fit, his fellow researcher Bonnie MacFarlane outlined their basic dilemma: "Finding a person who gives a shit about Haskell is an inherently NP-complete computer science problem. It's similar in scope and complexity to the problem of trying to find a tenured academic who didn't have the bulk of his or her work done by uncredited graduate students. So even though we suspected Briars existed, we needed a strategy to smoke him out."

She explained the trap they set for Briars: "We crafted a fake satirical post lampooning Haskell as an unusable, overly complex turd -- a writing task that was emotionally difficult but conceptually trivial. Then we laced the post with deeper social subtext decrying the endemic superficiality and laziness of global industry programming culture, to make ourselves feel better. Finally, each of us upvoted the post, which was unexpectedly contentious because nobody could agree on what the reddit voting arrows actually mean."

"And then we waited to see who, if anyone, would give a shit," she said.

MacFarlane concluded, "Our elegant approach didn't work, so we hired a Perl hacker to go dig up the personal details on all 38 accounts that had ever upvoted a Haskell post, and the only one we didn't know was Seth Briars. So we reached out to him, and thankfully so far he hasn't threatened to sue us."

Briars says he is pleased to have been recognized for his apparently unique shit-giving about Haskell. "I've been giving a shit about Haskell for a long as I can remember. I follow all their announcements and developments closely, just in case I ever get the urge to use the language for something someday."

"It's a beautiful, elegant language," Briars observed as he busied himself cleaning a fingernail. "You'd be hard-pressed to find a more expressive and composable core. And they've made astounding advances over the years in performance, interoperability, extensibility, tooling and documentation."

"I'm kind of surprised I'm the only person on earth who gives a shit about it," Briars continued. "I'd have thought there would be more people following the press releases closely and then not using Haskell. But they all just skip the press releases and go straight to the not using it part."

"People see words like monads and category theory," Briars continued, swatting invisible flies around his head for emphasis, "and their Giving a Shit gene shuts down faster than a teabagger with a grade-school arithmetic book. I'm really disappointed that more programmers don't get actively involved in reading endless threads about how to subvert Haskell's type system to accomplish basic shit you can do in other languages. But I guess that's the lazy, ignorant, careless world we live in: the so-called 'real' world."

Haskell researcher Javier Escuella remains hopeful that one day they may be able to double or even triple the number of industry programmers who give a shit about Haskell. "I believe the root cause of the popularity problem is Haskell's lack of reasonable support for mutually recursive generic container types. If we can create a monadic composition-functor wrapper that is perceived as sufficiently sexy by hardened industry veterans, then I think we will see an uptick in giving a shit, possibly as much as a full extra person."

Haskell aficionado Harold MacDougal is not quite as sanguine as his colleague Escuella. "I doubt Haskell will ever be appreciated by the uneducated natives of this industry. As exciting as it is, the discovery of Briars should be considered an anomaly, and not as a sign that more people will ever give a shit. Programmers only seem to pay attention to things when there is humor involved."

"We do have an experimental humor monad," added MacDougal. "But it doesn't seem to be getting much adoption. Haskell fans just don't see the need for it."

Source

all 28 comments
sorted by: hot top controversial new old
[–] [email protected] 85 points 1 year ago (1 children)

a writing task that was emotionally difficult but conceptually trivial

Lmao

[–] [email protected] 9 points 1 year ago

Finally, each of us upvoted the post, [...]"

"And then we waited to see who, if anyone, would give a shit," she said.

MacFarlane concluded, "Our elegant approach didn't work, so we hired a Perl hacker to go dig up the personal details on all 38 accounts that had ever upvoted a Haskell post, and the only one we didn't know was Seth Briars.

This is the one that got me

[–] [email protected] 52 points 1 year ago

“I’m kind of surprised I’m the only person on earth who gives a shit about it,” Briars continued. “I’d have thought there would be more people following the press releases closely and then not using Haskell. But they all just skip the press releases and go straight to the not using it part.”

I know right!

[–] [email protected] 47 points 1 year ago

I would love an Onion for software. This was great.

[–] [email protected] 41 points 1 year ago (1 children)

IIRC, the majority of Haskell enthusiasts’ day jobs are coding in Java, and things like monad transformer stacks and applicatives are things they daydream about as a coping mechanism against the tedium. Which is probably why Scala exists.

[–] [email protected] 5 points 1 year ago

Can confirm, I write Scala at my current workplace and spend my days over the moon about the fact I’m not writing Java.

[–] [email protected] 28 points 1 year ago (3 children)

My company's entire backend is in Haskell, and boy are all these devs super enthusiastic for the language. It is rare tho in my experience.

[–] [email protected] 14 points 1 year ago

Nice try, you almost had me there.

[–] [email protected] 8 points 1 year ago (1 children)

...which company? asking for a friend

[–] [email protected] 2 points 1 year ago

There's a bunch of companies that use Haskell.

Off the top of my head, Mercury is an online bank built on Haskell, Tsuru capitol is a hedge fund built on it, Standard Chartered bank has a big Haskell team in Singapore, and Facebook's automated rule-based spam detection software is built in Haskell.

There's also cardano, in the crypto space.

And various other companies might have a project or two written in Haskell by a small team.

[–] [email protected] 5 points 1 year ago

Are there precisely 37 developers in that team??

[–] [email protected] 18 points 1 year ago (8 children)

Noob here. What's wrong with Haskell and why doesn't it get used more often?

[–] [email protected] 26 points 1 year ago (1 children)

haskell is one of the mathematically founded functional languages, which is a whole family of loosely related languages that have seen lower uptake over the years. Other examples include ML and variants, and F#.

There are a few reasons why adoption has been slow:

  • poor outreach by language founders
  • less focus on commercial use
  • novel syntax
  • core abstractions that differ from mainstream

Many of these are seeing some change. Haskell is getting better at outreach and comercial focus, and Rescript (ml for the web) has a lot of syntactical similarity to ja|ascript.

[–] [email protected] 3 points 1 year ago (2 children)

Yeah, I wish F# was used more often. I actually learned it for fun, and it would be great to work with it. Unfortunately I haven't heard of any F# job in my country yet.

[–] [email protected] 4 points 1 year ago

So... they don't give a F#?

(I wonder if the F# people have tried doing outreach via F# memes, should work IMO, good names that also fit slang abbreviations are a very contested and already expended word space)

[–] [email protected] 19 points 1 year ago (1 children)

A monad is a monoid in the category of endofunctors

[–] [email protected] 20 points 1 year ago

I read about those about once every two years and forget what it means a week later.

[–] [email protected] 14 points 1 year ago

They never tried to push the language and make it mainstream, but this is somewhat changing since the Haskell Foundation started a couple years ago.

Also, if you only know C or Java, then it looks a bit alien.

I've been using it exclusively at work for about 4 years and it makes writing correct code and maintaining it much easier than anything else I've tried so far.

[–] [email protected] 10 points 1 year ago

Rust stole its koolaid.

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

Functional programming requires quite a shift in how you think about designing and debugging code. If you've spent your whole programming life thinking procedurally and approaching debugging by stepping through, it's not an easy mental reset to make. And many languages these days can give you a taste of the functional style without taking away so much that is familiar, giving you some of the advantages of functional programming, such as clean code that's thread safe and free of side effects. People under time pressure are likely to stop there.

[–] [email protected] 4 points 1 year ago (1 children)

It’s a cool language. Main problem is that it’s difficult to recruit for. Not many developers know Haskell well enough.

Haskell also makes many huge sacrifices for purity. Accessing the file system is quite wonky. Basic stuff like maps aren’t easy to implement either. In the end, it’s a language great for toy examples, but turns into a massive hassle once you want to do real practical stuff.

I think everybody should at least learn it. You’ll learn some cool stuff that will be of use in other languages.

[–] [email protected] 1 points 1 year ago

Basic stuff like maps aren’t easy to implement either.

This is mostly due to a preference for immutable data structures. That said, the standard library has a balanced tree-based map that's not too complex.

If you want a good immutable data structure with O(1) find and update, you're unfortunately looking at something like a hash array mapped trie, but that's the same in e.g. clojure or Scala.

[–] [email protected] 2 points 1 year ago (1 children)

It's extremely heavy on functional programming terminology and patterns which are notoriously not approachable by normal people.

[–] [email protected] 5 points 1 year ago

You mean Haskell is a language more for mathematical gurus? I can add, subtract multiply and divide. Would this be enough?

[–] [email protected] 1 points 1 year ago

Haskell started out as an academic language.

The problem Haskell was trying to solve was that in the late 80s, there was a bunch of interest in lazy functional programming but all the research groups had to write their own lazy language before writing a paper on whatever new feature they were interested in. So they banded together to create Haskell as a common research program that they could collectively use.

It's been remarkably successful for a research language, and has become more practical over the years in many ways. But it's always had the motto "avoid (success at all costs)".

[–] [email protected] 7 points 1 year ago

Playing a little RDR recently, eh?

[–] [email protected] 2 points 1 year ago

In related news, Mrs. Cleaver is looking particularly lovely today.