User:ZeeXy/Eight queens puzzle solutions
Appearance
- Why was blanket deletion of all source code for Eight Queens conducted in such rush and haste? There has to be a long process for something like this to happen and very strong justification - no one has the time to patrol around when is someone who didn't like some code going to orchestrate a quick deletion. This is very serious issue.
- Arguments for blanket deletion were bogus at best. Reasonably small sections of "code" in several very well known computer languages are well recognized representations of algorithms and are commonly used to explain directly many details and subtleties which are either not visible at all or hard to follow in a mere textual or even worse "mathematical" description. Disproportionately larger number of people can read and understand algorithm presented as a concrete code in a well known language and deleting them is a rough equivalent of saying that all medical articles should be only in Latin and for ultra specialists.
- Concrete code for an algorithm is every bit as encyclopedic as a plain English explanation of a medical or legal term or exact formula to calculate something without wading through pages of text - provides usable information to much wider audience. For example every high-school student who know programming can follow C or Java code but not mathematical descriptions. A thing like Eight Queens is for many programmers the first entrance into different kind of programming and for them having straight code, on the spot is vital to having a fair chance to understand it at all. Programming is not math and 30 yr ago is not today. Please don't usurp the right to pass a judgment on its nature from the position of some other discipline. For many advanced algorithms, seeing simple enough code is essential for actually understanding them within a reasonable time and sometimes even the evidence that that it is a real solution of something (approximate solutions of NP-hard problems for example). Code snippets are intrinsic part of todays, modern corpus of knowledge, much more important, relevant and "encyclopedic" than a long expose on some king from 500 yr ago. You should be enouraging people to provide and then improve the simplest and shortest reasonably possible code for many algorithms and not slap them.
- Small number of lines of code from published books and articles is always exempt from any claims under the fair use doctrine, especially for well known algorithms where even the notion of code autorship is mute (all or most implementations are isomorphic up to renaming of variables and invariant code reordering).
- We can debate latter which programming languages are widely known and accepted for certain kinds of algorithms. Always C and at Java/C# (when expression is substantially different from C, like intrinsic dependence on pointers) and for many things 1 or 2 scripting languages. For example if there's no Java code, JavaScript will be equally understandable. The "pseudo code" is the talk from 30+ yr before universally known programming language syntax existed. For simple and even many complex algorithms, code expressions in C/Java/C# (even JavaScript) are virtually indistinguishable. For very complex things, usually both C and Java/C# are needed for wider reachability and sometimes more, when there is added educatinal value (which if I have to remind you is the key reason for existence of encyclopedias at all) and Eight Queens is one of these high educational value algorithms.
- There are algorithms that have to be presented in 1-2 languages which are not universally known (Haskell and F# in particular) if they are not representable in C/Java/C# in a reasonably simple form and there will always be time and place to debate adequacy of particular code in particular article (and review and editing, like other material), but not blanket deletions in haste. Only minor/specialized languages with "devotee" followings would be immediate candidates for removal (like Python, Ruby, Scheme, Lisp) but only if they are not the sole code in the article (better something than nothing).