For those like me who are wondering "why?", the tutorial answers this up front:
"I don't know why anyone would choose to learn this unless they're a very specific kind of masochist"
Well, there are all types in the computer science community, so to each their own. The quote from Alan Perlis in 1982 is definitely interesting too:
"A language that doesn't affect the way you think about programming is not worth knowing"
I'm sure this made a lot of sense in 1982, but it most definitely is not true now. As a mathematician doing a fair amount of numerical analysis, I must know several programming languages, all of which do roughly the same sort of thing, simply because important implementations of certain algorithms are historically spread across multiple languages. God help me if there is an important implementation of something in Mercury that I'll need to decipher one day...
Mercury is one of those languages that seems to support so many different styles of programming in a nicely unified way, I've always been curious about it. This is so much more readable than I remember any of the Mercury docs being. Worth checking out.
It's one of those languages where I'd love to see the mainstreamification of some of its ideas, but as is, it just seems too clunky.
3 comments
[ 4.5 ms ] story [ 15.8 ms ] thread"I don't know why anyone would choose to learn this unless they're a very specific kind of masochist"
Well, there are all types in the computer science community, so to each their own. The quote from Alan Perlis in 1982 is definitely interesting too:
"A language that doesn't affect the way you think about programming is not worth knowing"
I'm sure this made a lot of sense in 1982, but it most definitely is not true now. As a mathematician doing a fair amount of numerical analysis, I must know several programming languages, all of which do roughly the same sort of thing, simply because important implementations of certain algorithms are historically spread across multiple languages. God help me if there is an important implementation of something in Mercury that I'll need to decipher one day...
It's one of those languages where I'd love to see the mainstreamification of some of its ideas, but as is, it just seems too clunky.
https://github.com/bctnry/gentle-introduction-to-mercury
I'll write more and finish this book in the future, and I'm definitely writing my response to some of you's replies in the book.