On 25/10/2010 10:36 PM, Gregory Collins wrote:
Andrew Coppin<andrewcop...@btinternet.com> writes:
Hypothesis: The fact that the average Haskeller thinks that this kind of dense
cryptic material is "pretty garden-variety" notation possibly explains why
normal people think Haskell is scary.
That's ridiculous. You're comparing apples to oranges: using Haskell and
understanding the underlying theory are two completely different
things. Put it to you this way: a mechanic can strip apart and rebuild
an engine without knowing any of the organic chemistry which explains
how and why the catalytic converter works. If you work for Ford, on the
other hand...
I didn't say "people think Haskell is scary because type theory looks
crazy". I said "people think Haskell is scary because the typical
Haskeller thinks that type theory looks *completely normal*". As in,
Haskellers seem to think that every random stranger will know all about
this kind of thing, and be completely unfazed by it.
Go look at how many Haskell blog posts mention type theory, or predicate
calculus, or category theory, or abstract algebra. Now go look at how
many Java or C++ blog posts mention these things. Heck, even SQL-related
blogs tend to barely mention the relational algebra. (Which, arguably,
is because actual product implementations tend to deviate rather
radically from it...)
P.S. I did my computer science graduate work in type theory, so I may
not be an "average Haskeller" in those terms. By "garden-variety" I
meant to say that the concepts, notation, and vocabulary are pretty
standard for the field, and I had no trouble reading it despite not
having seriously read a type theory paper in close to a decade.
OK, fair enough.
If I were to somehow obtain this book, would it actually make any
sense whatsoever? I've read too many maths books which assume you
already know truckloads of stuff, and utterly fail to make sense until
you do. (Also, being a somewhat famous book, it's presumably extremely
expensive...)
Introductory type theory is usually taught in computer science cirricula
at a 3rd or 4th year undergraduate level. If you understand some
propositional logic and discrete mathematics, then "probably yes",
otherwise "probably not."
I don't even know the difference between a proposition and a predicate.
I also don't know exactly what "discrete mathematics" actually covers.
Then again, I have no formal mathematical training of any kind.
(You'd think holding an honours degree in "computer science" would cover
this. But alas, my degree is *really* just Information Technology,
despite what it says on the certificate...)
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe