First off. Thanks, that is a great idea for a page!
"Solutions to tasks should be idiomatic. That is, they should represent how the user community of that programming language would wish to see the task be solved by a new, low-experience, or experienced-in-another-language programmer. "
I don't agree about making the solutions be geared at low experienced or experienced in another language programmers. Idiomatic as in "Peculiar to or characteristic of a given language" says it all. It's how the experienced and involved programmer from the languages community would agree the solution should be phrased. There may be several styles of doing something in a language and that might allow several stylistic variants, but I would wish to see how something should be solved in, say, Prolog, rather than trying to make Prolog look like C. I would want to see examples that make use of a languages extensive standard library, rather than just rewrite something, (if the task allows of course - you need to follow the task as much as possible). --Paddy3118 (talk) 21:06, 12 May 2013 (UTC)
- I also don't agree about gearing solutions to (at) low-experienced programmers (let alone, new programmers -- to me, that means novice). I didn't think that Rosetta Code is a See Spot Run type of chrestomathy. When programming in REXX (and possibly, most languages as well), that language lends itself to many "styles" of programming. As one gets more experienced, styles change and get more sophisticated. -- Gerard Schildberger (talk) 22:55, 12 May 2013 (UTC)
- There's a certain level of skill that can be expected in order to tackle a particular task, I'm sure. But I'm really trying to discourage producing solutions that experts with that language can understand, as that makes it hard for anyone else to read the task solution. FWIW, I've used this site to learn a few languages, so it is very useful, and having resources aimed at people who know some languages and want to know more, that's super-valuable. Using appropriate libraries is idiomatic; I do that with Tcl solutions a lot. If a language has multiple idiomatic solutions, I see no problem in having all of them (provided they're “not too long”, which is a very fuzzy rule I know). “Idiomaticity” is the real focus, the ability to say “here, this is how the community of people who use this language think you should solve this task with this language” while also excluding performance chiseling and code golf (both of which end up producing code that's very hard to read).
- That said, I might've not described idiomaticity correctly. That's why it's important for you guys to review and help make it say the Right Thing. –Donal Fellows (talk) 13:11, 20 May 2013 (UTC)
- Owtz English wotz understood.--Nigel Galloway (talk) 11:28, 21 May 2013 (UTC)
- I think I would put the priority on "simplicity" rather than on the amount of programmer experience. Neither concept is unambiguous, but I think "simplicity" is easier to reason with. That said, I think we should also note that there are different kinds of simplicity (having to do with time, space and presentation) and that the writer should use their judgement and be tolerant of other approaches. (Though, also, at some point you need to draw the line on things that "could be better".) --Rdm (talk) 16:46, 23 May 2013 (UTC)