Talk:Cumulative standard deviation: Difference between revisions

Line 27:
 
:::: I think there has been some similar discussion in the context of sorting algorithms. The talk page on [[Talk:Quicksort|quicksort]] has some of that, though not the conversation I thought I remembered. Meanwhile, [[User:Short_Circuit|Short Circuit's]] user page has some of the relevant policy. And of course the [[Help:Adding_a_new_programming_task|Add a Task]] page has some good advice. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 14:18, 17 June 2015 (UTC)
 
:::: '''Clarification'''
:::: "<span style="color:green">This task is not only about the calculation but also how it is to be done</span>" - And my point is that a task which is named simply "Standard deviation", ''shouldn't'' be about that. To go with your example: A task called "Merge sort" should demand using the merge sort algorithm, but a task called "Sort an integer array" shouldn't. And neither of them should demand that the sort algorithm be implemented with tail recursion.
:::: IMO there are three types of RosettaCode tasks:
::::# ''Tasks asking for a (mathematical or practical) problem to be solved.'' <small>(Any solution that produces the right output for every input, is accepted.)</small>
::::# ''Tasks asking for a known CS algorithm to be implemented.'' <small>(There is still a decent amount of leeway, e.g. many algorithms can be implemented either recursively or iteratively; state can be stored and propagated through different means; etc.)</small>
::::# ''Tasks asking for a specific programming language "idiom" or feature to be demonstrated.''
:::: The third type of task description is the hardest to do well, because it's easy to fall into the trap of thinking that what makes sense in the few languages one knows, makes sense everywhere - and in my experience such tasks are often unsatisfying to solve. This doesn't mean that creating such tasks shouldn't be attempted at all. However, they should not take away page names from (1) and (2). In particular, pages named after a generic mathematical or practical problem should be reserved for type 1 tasks, and pages named after known algorithms, for type 2 tasks.
:::: In case it wasn't clear from my previous comment, I think that in the example at hand, it would have been better if instead of the type3-ish "Standard deviation" task we have now, we had instead one or more of the following:
::::* "Standard deviation" - Type 1 task - for calculating the SD for a list of numbers, using any means.
::::* "Rolling standard deviation" - Type 1 task - for calculating the ''rolling'' SD's for a sequence of numbers which don't come in all at once, using any means.
::::* "Stateful function" - Type 3 task - for demonstrating that particular idiom.
::::--[[User:Smls|Smls]] ([[User talk:Smls|talk]]) 16:26, 17 June 2015 (UTC)
Anonymous user