Talk:Bernstein basis polynomials: Difference between revisions

Line 4:
 
People may not understand why I did what I did. It is largely because what other people write is so often difficult to follow, even though they are trying really hard. They are too afraid to sound different from a novelist! There is actually no great reason for a programming task to be written "colloquially". It should be absolutely straightforward.
::But "Subprogram(1)" is a ''meaningless abstraction'' (admittedly a pet hate of mine), the complete antithesis of straightforward.
 
I used Algol 60 in lieu of making up my own pseudocode, the way others do. Algol 60 exists ''primarily'' for this purpose: it is an unambiguous language whose main use is for publishing algorithms in print. The "pretty-printing" is actually the ''standard'' form of the language. The "nicely printed Algol 60", which I used in lieu of ambiguous pseudocode, is actually the only ''true'' Algol 60 code on the page. I did the GNU MARST version merely to verify that I had written the Algol 60 correctly. It is in a compiler-specific entry syntax, that it would not share with a different implementation of the language.
::Apart from a few words in '''bold''', and arguably better whitespace/linebreaks in the real entry, that half of the task description is '''identical'''.
 
Algol 60 is still well suited to the task of conveying algorithms, as long as the algorithm does not need records or such. If there is any doubt as to the meaning of what is written, a person can refer to the [https://www.masswerk.at/algol60/modified_report.htm ''Modified Report on the Algorithmic Language Algol 60''], and to the earlier [https://www.masswerk.at/algol60/report.htm ''Revised Report''].
 
As for "Subprogram (1)", "Subprogram (2)", etc., these are not the names of subroutines. They are reference numbers, akin to "Equation (1)", "Equation (2)", etc. If you think these are stupid "names", then what about Donald Knuth using "Algorithm M" for a long multiplication routine, etc., in his classic ''The Art of Computer Programming''? And I do not see that merging the parts of the task would serve any purpose except to make the writing sound less like technical writing, and to make it easier for a reader to accidentally skip one part of the task.
:: I would level the same criticism against the great DK, and be five times as vociferous had he used "Algorithm M1".."Algorithm M5".
 
And I do not see that merging the parts of the task would serve any purpose except to make the writing sound less like technical writing, and to make it easier for a reader to accidentally skip one part of the task.
Regarding having the example codes refer back to the reference numbers in the task description: is there any reason ''not'' to do this, other than some might think it looks silly? What is the purpose of Rosetta Code? Is it to write code that looks really terrific, about which no other programmer will come along and say "That looks stupid!"? Or is it to mainly facilitate comparison between languages and how they represent the same algorithm? In which case providing obvious back-references is a boon, is it not? The code here is pedagogical and for the sake of recording things. It is not killer apps, and it also is not meant to please the boss.
 
Regarding having the example codes refer back to the reference numbers in the task description: is there any reason ''not'' to do this, other than some might think it looks silly?
:: I would not/did not say silly, but I would stress ''meaningless''.
 
Regarding having the example codes refer back to the reference numbers in the task description: is there any reason ''not'' to do this, other than some might think it looks silly? What is the purpose of Rosetta Code? Is it to write code that looks really terrific, about which no other programmer will come along and say "That looks stupid!"? Or is it to mainly facilitate comparison between languages and how they represent the same algorithm? In which case providing obvious back-references is a boon, is it not? The code here is pedagogical and for the sake of recording things. It is not killer apps, and it also is not meant to please the boss.
::Comparing clearly and intuitively defined things is much easier than comparing vague/abstract things.
 
In which case providing obvious back-references is a boon, is it not?
::'''NOT'''. Should the code ever be used in a real program, what gain does needing a backlink to an rc page to understand it gain?
 
The code here is pedagogical and for the sake of recording things. It is not killer apps, and it also is not meant to please the boss.
 
As for why the Python code is full of descriptions of what I am doing, that is very simple to explain: the Python program is the first draft of the task itself! I composed the writing there. --[[User:Chemoelectric|Chemoelectric]] ([[User talk:Chemoelectric|talk]]) 00:39, 28 May 2023 (UTC)
:: You appear to have invented a criticism there I did not make. --[[User:Petelomax|Petelomax]] ([[User talk:Petelomax|talk]]) 01:40, 28 May 2023 (UTC)
7,794

edits