This is a particular discussion thread among many which consider Rosetta Code.
The goals of Rosetta Code, and responding to code which we disapprove of.
The landing page defines the goals of Rosetta Code in terms of:
- demonstrating "how languages are similar and different"
- aiding a person "with a grounding in one approach to a problem in learning another"
So what happens when approaches to problem-solving and the composition of code differ between users of the same language ?
My view is that diverging approaches are the life-blood of Rosetta Code, and that the creative response to difference is simply to submit alternative drafts.
Can I suggest that simple ground-rules for interventions in code submitted by others are developed and displayed in some accessible place ?
My draft proposal would be:
- Where code somehow fails to produce the specified output, or contains problems flagged up by a commonly used linter, we draw polite attention, and perhaps suggest specific edits, ideally to be made by the contributor
- Where we disagree with the approach, we refrain from using RC as a vehicle for "encouraging" or "discouraging" particular approaches, and simply offer an additional draft for contrast.
People feel strongly about their languages and coding practices, and this can easily degenerate into hostile and destructive interventions where code expresses an approach with which we disagree.
It seems to me that:
- the only interesting comment on standards compliance is one offered by a widely used linter,
- and the only creative and Rosetta-like comment on an approach with which we disagree is simply the submission of an alternative draft.
In terms of Rosetta's goals, some drafts will emphasise universal similarities, and others will emphasise particular differences.
All drafts provide interesting insight into differing approaches, and the optimisation of different types of value.
I don't think we should be vandalising or deleting each others (working and well-linted) code in the angry pursuit of personal visions of what is "to be encouraged" or what is "not be encouraged".
There are other forums for the pursuit of such arguments.
Does that seem to make sense ?