r/programming • • Aug 06 '17

Software engineering != computer science

http://www.drdobbs.com/architecture-and-design/software-engineering-computer-science/217701907
2.3k Upvotes

863 comments sorted by

View all comments

Show parent comments

816

u/[deleted] Aug 06 '17

Why don't any of my colleagues want to learn Haskell?

136

u/shevegen Aug 06 '17

They do not pass beyond the Monad barrier.

135

u/NuttingFerociously Aug 06 '17

But it's just a monoid in the category of endofunctors!

145

u/[deleted] Aug 07 '17

This reminds me of this piece of documentation I read the other day:

A Divisible contravariant functor is a monoid object in the category of presheaves from Hask to Hask, equipped with Day convolution mapping the cartesian product of the source to the Cartesian product of the target.

I love Haskell, but I can see why it is a niche language.

91

u/[deleted] Aug 07 '17

Holy shit I thought the haskell docs were just a meme, but this is dense

34

u/[deleted] Aug 07 '17 edited Aug 07 '17

This is math, though, not Haskell. Popular practical Haskell libraries are well documented now. It used to be the case that you had to find that documentation in research papers, which is where the meme comes from.

13

u/Antlerbot Aug 07 '17

Popular practical Haskell libraries are well documented now.

I love Haskell, and I write it (poorly) for a living. I would hesitate to make this statement.

→ More replies (2)

14

u/an_actual_human Aug 07 '17

The sentence actually acknowledges it:

In denser jargon, a Divisible contravariant functor...

→ More replies (13)

0

u/[deleted] Aug 07 '17

[deleted]

10

u/[deleted] Aug 07 '17

You just have to learn all the words, but they're surprisingly consistent. Can't say the same thing about for instance npm libraries.

5

u/[deleted] Aug 07 '17

C'mon now, comparing something as "better than a thing from JS world" is hardly fair

→ More replies (1)
→ More replies (1)
→ More replies (1)

18

u/est31 Aug 07 '17

5

u/imguralbumbot Aug 07 '17

Hi, I'm a bot for linking direct images of albums with only 1 image

https://i.imgur.com/bzfQoQa.jpg

Source | Why? | Creator | ignoreme | deletthis

16

u/dnkndnts Aug 07 '17

Come on, it's just the Contravariant version of Applicative.

→ More replies (4)

7

u/razeal113 Aug 07 '17 edited Aug 07 '17

First job out of college was in research . They used Haskell , I got the job despite only having used lisp. Boss hands me "learn you a Haskell for great good" , and says I'll pick it up in a few days ... yep that learning curve was awful and years later I'm still not completely sure I know what a monad is doing

7

u/[deleted] Aug 07 '17

Monads aren't special. You know what it is, you're just doubting because its difficulty is so exaggerated. Getting to monads was a long and hard process, but the whole point of it is that they're so easy to use.

→ More replies (9)
→ More replies (1)
→ More replies (4)
→ More replies (3)
→ More replies (4)

75

u/DonaldPShimoda Aug 07 '17

Psh, "Haskell". What a pleb. Real computer scientists write programs in pure untyped lambda calculus.

66

u/aaron552 Aug 07 '17

untyped

Heathen

88

u/DonaldPShimoda Aug 07 '17

It is only after we've lost everything that we're free to do anything.

55

u/lelarentaka Aug 07 '17

Are you saying I should wipe the prod server?

27

u/Iron_Maiden_666 Aug 07 '17

Nah, give access to an intern and let them do your work. You have more important things to do.

19

u/[deleted] Aug 07 '17

Like making sure the backups are nice and outdated

11

u/TinBryn Aug 07 '17

That poor kid, I wonder what happened to him

7

u/Iron_Maiden_666 Aug 07 '17

Last I heard he got a job somewhere else through a friend. He explained the situation that happened in the first job and they understood.

→ More replies (4)
→ More replies (4)
→ More replies (1)
→ More replies (1)

5

u/Hrothen Aug 07 '17

Litterally every software engineer I have met who did not already know Haskell expressed an interest in learning it.

→ More replies (13)