
On 18 April 2012 21:08, Nikita Beloglazov
On Wed, Apr 18, 2012 at 8:44 PM, Tom Murphy
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."