Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit
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."
MORE NEWS
Previous article: Perl Community Debating Adding Monads The Perl lists are brimming with discussions about the value of adding monads to Perl. "We don't really know what they do, but it doesn't make sense _not_ to have something in Perl," said Perl hacker Landon Ricketts. Read more
Next article: Microsoft to Introduce Mutually Recursive Error Messages Software giant Microsoft announced today the launch of their new REDRUM platform, an elegant system that allows Windows system error messages to shuffle blame around indefinitely by using continuation-passing. Read more
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."
MORE NEWS
Previous article: Perl Community Debating Adding Monads The Perl lists are brimming with discussions about the value of adding monads to Perl. "We don't really know what they do, but it doesn't make sense _not_ to have something in Perl," said Perl hacker Landon Ricketts. Read more
Next article: Microsoft to Introduce Mutually Recursive Error Messages Software giant Microsoft announced today the launch of their new REDRUM platform, an elegant system that allows Windows system error messages to shuffle blame around indefinitely by using continuation-passing. Read more
79 Comments:
Oh, Steve, you do make me laugh, always.
And it's so long between posts these days I hardly believed it when Safari hinted that there was some action over at Steve's.
Thank you.
ROTFL
To be fair, I've been thinking really hard about using it at work.
Seriously, though, it's different enough that it's going to take some time to get traction. It's not going to be like ruby on rails, where a bunch of kids suddenly decide that it's the greatest thing ever.
It was easy for python and ruby to get traction because they're basically the same as perl. Sure, syntactically they're different, but semantically they're all almost exactly the same (ergo, parrot). So it wasn't much of a mental shift for perl users to start using those languages.
But Haskell is enough of a departure, both syntactically and semantically, that it'll take longer. It may even be a generational shift--I do sense some frustration from old farts (not just you) who used to pick up new languages all the time and now are struggling to understand Haskell.
Haskell (or something haskell-ish) is definitely the future, though--cheap abstraction (which in haskell is enabled by the type system, and by purity) is just too big of a win.
However, I can certainly imagine that it might not catch on at google. If you literally have armies of programmers, then productivity is less of a concern for you than it is for the rest of us.
Plus, adding a language to the blessed list would open up a huge religious war internally, right? It's only because of your posts about it that I understand why google is kind of stuck with the languages it has. Is this post at all fueled by sour grapes over your Ruby battles, I wonder?
This is hilarious. It looks like you found one more person who give a shit in Mitch. This is truly a great day for Haskell.
Before Haskell fans go off on Yegge, they should note that he lists Haskell as his 8th favorite language. That's giving something like half a shit.
wasn't haskell created around the same time as perl???
Could help but notice the Red Dead Redemption character names turning up in that post. Any particular reason?
I think Miranda was created about the same time as Perl. It's very similar to Haskell, so I don't think the being-around argument holds.
LMAO!!
@James Iry
Putting a language #8 in your list of favorites is far enough from the top that you can explain away unfamiliarity when pressed, but close enough to seem like you're in the know.
"Hey Steve, could you help me debug this applicative functor I wrote?"
"Oh Haskell? Yea that was my favorite 8 languages ago. Sorry I've uh, gotta run though. Good luck with that."
Ironic considering there are a couple groups at Google (where Yegge works) that use Haskell for internal tools.
Didn't this joke become a cliche many years ago? Lack of originality doesn't hurt whatever elements of truth are there, but it does hurt the humour.
Joke's on you, Haskell's motto is "Avoid success at all costs"!
Hilarious. Love it. I want to give a shit about Haskell... but it's so hard! :p
This thread should be locked when 38 people have commented on it.
They teach Haskell to comp sci & eng students in my school's freshman year. I'm glad I came from another major and didn't have to :)
You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.'
Mindless bigotry from someone who's intelligent enough to know better.
Monad composition commutativity problem is pretty similar to Schroedinger law - if two monads don't commute, a kitten may die.
This may explain the industry programmers reluctance to see quantum things.
That's pure Onion material there. You should send it to them.
@James Iry, @John
I could be wrong but there doesn't seem to be anything indicating that that list is ordered?
I'd assume given the amount of familiarity Steve seems to show in making the jokes he does that he actually has a bit of a soft spot for Haskell.
Hilarious!
The More News was a nice touch
> Programmers only seem to pay attention to things when there is humor involved.
You got that right and you got me to read the whole thing!
Loved it. Not sure if there was enough humour to make me give a shit for Haskell, though. ;-)
Keep it up.
I think more programmers give a shit about Haskell than give a shit about the Tea Party. They're a disruptive group lacking in intelligence that discredit the Republican Party as a whole, but that's a whole different post, eadmund.
Excellent!!! LMAO!! Loved the part on how they smoked him out, and the experimental humour monad!
REDRUM!!! REDRUM!!!
HAHAHHAAHA!!
Splendid!!
Nice one.
I just would like to point out that I don't give a shit about Haskell. Just in case there are more than 38 people commenting here who might give a shit.
Another humorous take on Haskell here.
andrewmu: Miranda was created before perl and Haskell and actually Haskell owes a lot to Miranda, particularly it's beautiful syntax. Having learned about this recently, I feel a bit bad that we in the Haskell community don't give David Turner as much credit as he deserves.
Vald: monads are not generally commutative, though there was a wonderful talk at ICFP 2009 about what the world is like when you limit yourself to only commutative monads. (Anybody, feel free to e-mail me for the paper.)
I thought that the best part of this was the link to the quite serious post where the guy implemented monads in perl and then complained that, "the syntax was totally abominable." (Hello! It's perl, dude!)
Speaking as an old Java guy myself, Steve truly captured the idea of Haskell sometime between a post before he left Amazon ("I've written more than 600,000 lines of Java! I rock!") and a post after he joined Google ("I've written 600,000 lines of Java! Oh no! What have I done?!")
(And yes, I'm that guy that wrote the high-frequency trading system in Haskell. I reckon that the 12,000 lines of code I wrote would have been 100k+ lines in Java.)
oh dear
I thought you were ok, turns out you're a douche.
@Chris @eadmund
And here I thought he was talking about annoying FPS players who repeatedly crouch over your avatar once they've killed you.
Haskell did save a lot of typing during assignments :P
Yo Haskell, I'm really happy for you, I'mma let you finish, but Concurrent Clean had one of the most beautiful list comprehension syntaxes of all time. Of all time!
"Programmers only seem to pay attention to things when there is humor involved."
hope someone pay attention to this redeeming line... :)
REDRUM REDRUM
You know, there are Tea Party supporters who actually give a shit about Haskell (and use functional programming in production). As improbable as it is, here I am. The T-word was definitely out of line.
Otherwise, me lol'd.
making it 38
Considering virtually every math prof at my local (top tier) university is a Tea Party supporter... the dig was unintentionally hilarious.
Oh well, other than that, good post.
39.
OK Steve, you have convinced me that post quality varies inversely with frequency. But dammit your posts are just too fukcing good. Unnecessarily so. Experiment's over, please speak to us much more often (weather's a fine topic, but I really want to know what you think of C#'s ventures into monad's land).
"You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.' Mindless bigotry from someone who's intelligent enough to know better".
IT WAS ONLY FUNNY WHEN YOU WERE MAKING FUN OF SOMEONE ELSE! YOU SUCK!
This is the best thing I have read on the Interwebs in ages. It just points out that industry needs to agree to focus all their energies on a single functional language so we can ignore the more margin... er, academic ones. I'm sure the teapartiers would support letting the Supreme Court decide in favor of F# (or OCaml since it uses F# syntax).
Srsly, thanks for the post, you rock!
I think Haskell is very cool and I plan to learn it once I get a little more familiar with Common Lisp. Maybe I'll even write a game in Haskell. Just think of the amount of shit that I am giving right now!
Haskell sucks and will never be relevant. I appreciate that you appreciate this also.
Very funny - especially the perl comments. So fucking true! it's my kind of humor - take a look at similar stuff
here [NSFW]
@Little Lebowski: WHAT????? OCaml uses F# syntax???
Dude, is the other way round!
Thanks Church ML does not face this problem. There is one entire company that use it!
Obviously fake. The real Haskell community would have had a metatype system that classifies upvote providence with only minor tweaks to the standard prelude.
Lebowski, we are ignoring the more academic functional languages. For most purposes outside of theorem proving, Haskell is a model of practicality compared to, say, Agda.
Beta: I'm not sure what you mean by your ML comment, but ML is certainly in heavy use in the commercial programming world if you count F# and OCaml (I know banks and proprietary trading companies doing huge amounts of work in both), and while I don't have as much personal evidence of commercial SML usage, there is a largish project, Mirage, that's written what's essentially a simple OS, along with servers of various sorts (HTTP, DNS, SSH) in SML.
Curt, there are more than 1 industry guy who give a shit about Haskell (I used to know one, in fact, but I'm not sure if he's still using Haskell).
So, you can use the same thinking about ML, and simplify it to "there's one company that gives a shit". Compared with the amount of people who gives a shit about Java, 1 or 100 companies are still in the same order of magnitude.
LtU's editor has gotten into trouble quoting you:
http://lambda-the-ultimate.org/node/4153
It would seem that those most keen on language theory care about **** which seems to be the only aspect of Haskell to actually produce an effect.
:-)
This is one of the most entertaining posts I have read. I could not stop reading, and I tried. Have you tried a good shrink? LOL
Thanks for the laugh!
...and well pointed:
"... 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."
Whatever bit you, Stevey? Why rant against Haskell? Have you been recently bullied by Haskellites? I thought they were pretty harmless.
BTW, since when are you running on a populist platform? I mean, you'll get a lot of votes from yahoos who don't give a shit about anything that happens outside of their villages. You're giving them an excuse to dismiss and ridicule anything they don't understand, not only monads or category theory. I can see them marching behind you with pitchforks and torches ready to ban exceptions, templates, STL, and all this highbrow stuff. It would be funny if it weren't already happening even at the top software companies (how modern are the Google coding standards?).
I found the post funny before I started reading the comments... Now I wonder who those readers are that still think this is an accurate reflection of the Haskell world.
Ten years ago that could have been the case, but nowadays Haskell is used increasingly in plenty of practical tasks, from generating real-time code for embedded chips in transport truck to checking the security of some US state networks (not the diplomatic ones...). A lot of the more mundane usages can be seen by the variety of library on Hackage which while not the CPAN is still of a very respectable size for the library repository of an "academic" language.
If you truly think that this post content was serious unlike its humorous tone, wake up and smell the coffee : FP languages are becoming part of the CS industry faster than you think and Haskell is one of the good candidates.
Polishing up the portfolio for that big move to The Onion's tech division?
:D
Either way -- YAY! Stevie's posting! My favorites are the late-night wine-powered rants, but I've never seen a bad Stevie posting, yet. Keep 'em coming!
Captcha: "sterm" -- isn't that the faux soda in Futurama? ;)
Marvelous! Best of all, it's almost language-independent. You can change the language name and a few buzzwords, and it correctly applies to the bigot-driven language du jour.
I know at least one person that ues Haskell in a heavily commercial setting, and he's not Mr Briars. The original researchers have overlooked up to 50% of positive cases! Such error margins cast doubt to the entire research.
Excellent hilarious. And it's short! Thanks Steve.
Haskell has 2 problems
1. Monads are an ugly kludge to nail state into a stateless environment. If you need state that badly, you shouldn't be using a functional language.
2. The community.
I have a MS in CS and often whine about the state of software engineering being full of self-taught morons who don't know why they are writing code and what it is really doing.
I have been accused of being an annoying anal-retentive nerd. So it is no small thing for me to say that I don't like the Haskell community because they are annoying anal-retentive nerds.
"You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.'
Mindless bigotry from someone who's intelligent enough to know better."
What?
Since when is making fun of ignorant people easily swayed by corporate interests bigotry? Are teabaggers their own race, or even species? That would explain a lot.
Teabaggers are morons, it is not a controversial statement.
"You know, there are Tea Party supporters who actually give a shit about Haskell (and use functional programming in production). As improbable as it is, here I am. The T-word was definitely out of line.
Otherwise, me lol'd."
Operation Tea Bag is where the term came from. Your fellow morons invented it!
The T-word? You idiots really think you are a separate race don't you?
The Master Race perhaps?
"If you need state that badly, you shouldn't be using a functional language."
Please don't take this the wrong way, as I don't wish to be insulting, but you appear to be confused.
First, whether functions have undeclared (to the type system) state or not is nothing to do with whether a language is functional or not (at least in Peter van der Roy's CTM definition--let me know if you're using another one); it's dependent on whether the language is pure or not. If you consider languages such as ML, Lisp and Scheme to be functional (and most would), these are all languages in which functions have undeclared side effects. (In fact, global variables, for example, are quite heavily used in Lisp.)
Second, even in "pure" (I use this as the term of art) languages such as Haskell and Clean, state is quite heavily used: the big difference is in how you manage state, not in its existence.
I myself am also considered an "annoying anal-retentive nerd" by many (and I'm quite the Dijkstra fan to boot), and I'm sorry to say that you come across not as a computing scientist but as just some guy who doesn't understand pure languages.
I do in fact give even less of a shit about Haskell than I previously did.
Thank you for making me laugh today!
It will be much easier to give a shit about Haskell in the future, once they implement the excrement combinator.
Brilliant post. Nothing short of brilliant.
Glorious, thank you!
I can't decide which kills herpes faster, this blog, or a 3 wolves moon tee-shirt.
oh, can you write a haskell program to solve the CAPTCHA on the blog? I'd use that to post more often.
Hey Steve! I just recently started reading your blog and already you've inspired me to start learning to type and take up blogging.
I'm looking forward to reading the rest I havn't read and the stuff that you will write (I hope).
I'm grateful for what you're doing. Keep up the good work
Question for you Steve
hey steve , i have question for you
in google, about 2 years ago you gave lecture about Rhino on rails and jruby, Ruby on rails still slow and sucks till today.
But what do you think about Grails
Groovy is java + rails + spring =Grails
It can do meta-programming like ruby plus has everything in Java which I loved
Is google has any love for grails?
@ggm what you need is a fine-tuned pattern recognition algorithm, not a FP magic..
@Curt Sampson
You are on crack. Haskell is not useful for stateful environments because monads are an ugly hack.
Anyone that considers Lisp to be a functional language can be safely ignored.
Great post with a high LOL factor, thanks Steve :-)
Thanks, the reading was very fun. As always. I wish you could post more often.
May 18, 2009 "We're getting close to the end of my blog. After today's entry, I only have three left to write."
I was assuming yegge-lengthed posts. When?
LMAO ... Steve, I wish you wrote these more often... this one's priceless :)
Wish 'Big Bang' would add you as a dialog writer too ... I had Sheldon's voice in my head as I read how they unearthed the PWGASAH.
Rock On! :)
I'm sorry, I can't get to give a shit about your blog with its new focus. You used to have something to say
Qwerty wrote: "Haskell is not useful for stateful environments because monads are an ugly hack."
Well, in a word, "no." Even if you can't appreciate the (admittedly somewhat mathematical) elegance of monads, it should be hint that not only do people use monads for state when they have other options (e.g., internal program state that never goes near I/O--just look at any parser combinator library), but monads are also useful for a lot of other things besides state. (The "All About Monads" tutorial gives some nice examples.)
I'm guessing you're denying this because you simply don't understand monads. Probably twenty years ago you'd have been saying that object-oriented programming is a bunch of rubbish.
Post a Comment
<< Home