[Haskell-beginners] Training tasks
umptious
umptious at gmail.com
Wed Apr 18 23:21:01 CEST 2012
On 18 April 2012 21:08, Nikita Beloglazov <nikita at taste-o-code.com> wrote:
> On Wed, Apr 18, 2012 at 8:44 PM, Tom Murphy <amindfv at gmail.com> wrote:
>> I think that the idea is less to have a teaching tool, and more
>> to have a way to "shop around" for languages, by seeing what each
>> language is very good at.
>>
>
> Yes, Tom is right. Idea is to show what each language good for, to excite
> about it.
>
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."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20120418/de103cda/attachment.htm>
More information about the Beginners
mailing list