Rosetta Code:Add a Task: Difference between revisions

Content added Content deleted
(→‎Task focus inclusion: Highlight key concept)
(→‎Task focus exclusion: Reword to reduce highlighted section.)
Line 27: Line 27:


===Task focus exclusion===
===Task focus exclusion===
'''A task should not be so specific as to invoke a particular language as being the only one allowed to solve a task.''' Tasks which specify a particular language will not tend to achieve many useful comparisons or solutions, as languages are the richest resource on Rosetta Code.
'''Don't require a specific language.''' Tasks which specify a particular language will not tend to achieve many useful comparisons or solutions, as languages are the richest resource on Rosetta Code.


'''Don't be too specific.''' Requring unique language features, or rare combinations of features, leads to the same problems as requiring a specific language.
'''A task should also not be so specific with its other requirements that there is only one language capable of solving it.''' Specifically requiring language features et al such that it is unlikely that there would be multiple nominally-distinct languages that can satisfy the task requirements is equivalent to invoking a specific language, and so leads to the same problems.


A caveat, however, is that '''best-effort solutions''' ("this isn't exactly possible in Ayrch, but something practical solving the language's idiomatic analog would be") '''are often fine''', so a task writer may find that styles "use technique X to solve problem" and "solve problem using technique X" may need to be interchanged to make a useful number of solutions possible.
'''Best-effort solutions are often fine''' "This isn't exactly possible in Ayrch, but something practical solving the language's idiomatic analog would be..." A caveat to the above notes is that some example solutions can fudge the spec without being inappropriate; A task writer may find that styles "use technique X to solve problem" and "solve problem using technique X" may need to be interchanged to make a useful number of solutions possible.


===Basic information===
===Basic information===