I think there is a values difference in the Haskell community between:
Real World Knowledge
First Principles Knowledge
Maybe I'm tipping my hand and biases by naming the second, but I'm open to more fitting names :wink:
"Real world knowledge" advocates might see "first principles knowledge" and dismiss it as "pure theory and not applicable to the real world". When I started as a Haskeller, I was unabashedly in the "real world knowledge" camp but after exposure to things like denotational design and ironically real world experience I became more wary of it.
"First principle knowledge" advocates might see "real world knowledge" and call it "unprincipled knowledge" that isn't worth making decisions based upon.
One great case of this at play is a question I asked from the perspective of someone considering "real world knowledge" important and got a response from someone who thought that real world knowledge wasn't valuable in this case:
"It runs in the real world" is a weak argument in favor of anything.
What do yall think in general? This was specifically a reddit comment about Hierarchical Free Moanads: Mostly Pointless, but I suspect thoughts that come about attempting to answer this more generally will be most valuable.
I feel like if we can nail down the differences in the community here, as objective as possible pros/cons we might be able to resolve some of the recurring threads that many (including myself even though I post them) find unsatisfying or even bothersome after a while.
I would say it depends on the audience and the conversation. When talking with teammates or other devs about the best approach to solve a problem, first principle knowledge wins hands down. If you're talking to business stake holders, real world examples usually trump first principal knowledge.
I think there is a values difference in the Haskell community between:
Maybe I'm tipping my hand and biases by naming the second, but I'm open to more fitting names :wink:
"Real world knowledge" advocates might see "first principles knowledge" and dismiss it as "pure theory and not applicable to the real world". When I started as a Haskeller, I was unabashedly in the "real world knowledge" camp but after exposure to things like denotational design and ironically real world experience I became more wary of it.
"First principle knowledge" advocates might see "real world knowledge" and call it "unprincipled knowledge" that isn't worth making decisions based upon.
One great case of this at play is a question I asked from the perspective of someone considering "real world knowledge" important and got a response from someone who thought that real world knowledge wasn't valuable in this case:
What do yall think in general? This was specifically a reddit comment about Hierarchical Free Moanads: Mostly Pointless, but I suspect thoughts that come about attempting to answer this more generally will be most valuable.
I feel like if we can nail down the differences in the community here, as objective as possible pros/cons we might be able to resolve some of the recurring threads that many (including myself even though I post them) find unsatisfying or even bothersome after a while.
moanads :sweat_smile:
I would say that "real world knowledge" is such a subjective phrase that it's pointless to argue
Torsten Schmits said:
I'm definitely empathetic to that but it seems we'll be forced to reckon with it over and over so we might as well find some good approximation?
Real world == anecdotal. That's how I tend to see it.
That sounds harsh, but there is real value in anecdotes. People can relate to it easier. That makes them useful for explanations.
I think it's important to embrace both sides.
hackeryarn said:
I agree, but I think we should lean towards first principles knowledge unless it's really not feasible or the story is too incomplete.
I would say it depends on the audience and the conversation. When talking with teammates or other devs about the best approach to solve a problem, first principle knowledge wins hands down. If you're talking to business stake holders, real world examples usually trump first principal knowledge.
Couldn't it be that these are two extremes on a scale, and that all programming endeavours benefit from containing bits of both?