[Haskell-beginners] Training tasks

Nikita Beloglazov nikita at taste-o-code.com
Thu Apr 19 22:17:13 CEST 2012

> Yes, I get that. It's a bad idea. Showing atypical "promotional" cases for
> each language encourages faddishness and silver bullet cults; it's
> irresponsible and unprofessional. If you're shopping around for a language
> then nothing is worse than selected sweet spot cases. Unless they are a
> fair-ish benchmark for a language that excels in a clear area, like R, APL
> and Awk and you're looking for a glorified DSL.
> I'd say that its better to have the same tasks for each language if you're
> evaluating a general purpose tool. Obvious ones would be, from simple to
> complex:
> - Some of the unix command line utilities like wc (some of these might be
> single liners)
> - OXO, Caesar cipher (10 lines or so)
> - The Markov chain program from the Practice Of Programming
> - Life
> - A simple spheres only ray tracer like the one in Graham's Lisp book
> - A simple calculator program like the one in Hutton
> - The recursive 2D shape program I've mentioned in other posts today
> - A version of the classic Traveller/Elite trading system - a really nice
> little toy business rules system that can be code either minimally or to
> show off the funkier features of a language to get more flexibility and
> more interesting pricing rules. Minimal version would be a few tens of
> lines and the config file declaring items.
> If you want to see a language comparison done responsibly, look at
> Kernighan and Pike's "Practice Of Programming."

Thank you for criticism and tasks examples.
But I still think it isn't such a bad idea. Because if somebody get excited
about some language (even if it is based on "promotional" cases) and he
learns this language more by himself then it's great. I don't think
somebody will judge about whole language by few tasks. He may get
interested or dislike the language, but I doubt there will be silver bullet
cult based on few tasks.
By shopping language I mean choosing some new fun language to learn, not to
solve particular practical task.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20120419/bdfcbe41/attachment.htm>

More information about the Beginners mailing list