Rosetta Code:Village Pump/My code is better than existing one: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 24:
Thanks for explanation! Unfortunately, I did a poor decision of not waiting for replies and blatantly replaced the code here: [http://www.rosettacode.org/wiki/Abbreviations,_automatic#Functional http://www.rosettacode.org/wiki/Abbreviations,_automatic#Functional]. <br />
Should I make a roll-back and start a discussion now?--[[User:Georgy|Georgy]] ([[User talk:Georgy|talk]]) 12:00, 4 November 2018 (UTC)
 
: At least start a discussion pointing-out why. [[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 12:30, 4 November 2018 (UTC)
 
 
===The Rosetta goal===
 
No problem with the initial deletion – it's easily reverted :-)
 
The [[Rosetta_Code|idea of Rosetta Code]] is "to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another".
 
There are no "rules on this matter" and no "winning" – the value lies in the Rosetta insight provided, and that's what you need to use as a guide to what you contribute, and its relationship to anything already there. The Rosetta Stone itself has '''three''' versions of the same message, and the similarities between each all contributed to the new insights that scholars were able to gain from it.
 
In this particular case, we have two functional approaches, and their similarities and differences are instructive. Mine is a composition of pre-existing generic (curried) primitives, and aims to optimise for reliability and speed of composition. Currying enables more flexible composition. Re-use of primitives is good economy, and allows, over time for the development of well tested and reliably inter-operable units. You will be able to explain what yours optimises for. They complement each other.
 
As for 'better' etc – as you know, the quality of code is a function of its relationship to a particular pragmatic and organisational context. There is no such thing as 'better' in isolation, only 'better '''for''' XYZ', and we always need to specify the 'XYZ'. One draft might be highly optimised for time or space compression, but less well optimised for refactoring. Another might be scrupulously adherent to a particular house-style, but not actually work, or be poorly adapted in some other way to its context.
 
Equally, 'more readable' is a function of a particular audience. Each of the 3 versions on the Rosetta Stone was less readable to some audiences, and more to others. Therein lies the interest and the value.
 
I've restored the deletion, and added a brief gloss to the 'composition of curried primitives' version – perhaps you would like to amend/expand the explanatory gloss on your version ? [[User:Hout|Hout]] ([[User talk:Hout|talk]]) 13:22, 4 November 2018 (UTC)
9,655

edits