Wikipedia talk:WikiProject Computer science

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computer science (Rated Project-class)
WikiProject icon This page is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 Project  This page does not require a rating on the project's quality scale.

Quote_notation: overly optimistic[edit]

The article on "Quote_notation", although sort of interesting, is overly optimistic on the usefulness of this notation for general computation with fractions. There is an obvious problem that the length of a quote notated fraction is linear in its denominator, often even close to it.

This optimism is already there in the original article.

For example, the suggestion is that subtraction of two quote notated number is "just subtract". Here a bad counterexample: To subtract 1/19 from 1/17 (giving 2/323), you compute 2941176470588235'3 - 894736842105263159'9, and after subtraction you get a number with a repeating part of 144 digits, ending in ...4334365325077'4

This is not easy by any stretch of the imagination. However, the notation is still an interesting thought experiment, so I would suggest not to remove it, but just make it a bit more realistic.

Looking for feedback on a tool on Visual Editor to add open license text from other sources[edit]

Hi all

I'm designing a tool for Visual Editor to make it easy for people to add open license text from other sources, there are a huge number of open license sources compatible with Wikipedia including around 9000 journals. I can see a very large opportunity to easily create a high volume of good quality articles quickly. I have done a small project with open license text from UNESCO as a proof of concept, any thoughts, feedback or endorsements (on the Meta page) would be greatly appreciated.


--John Cummings (talk) 14:38, 28 June 2016 (UTC)

AVL Trees - Pseudo Code[edit]

I have examined the pseudo code on the AVL Tree page and it appears to be flawed in many respects. I contacted Wikipedia via email and gave them the source code to AVL Trees in C++, C# and Java. I look forward to a better presentation resulting from this step.

AVL Trees account for Sets, Maps and Trees - the three most important classes in computer science. Therefore it is critical that the correct code be presented (if Wiki is to maintain credibility). NNcNannara (talk) 06:04, 3 July 2016 (UTC)

You can find the source code to AVL Trees in Java at I# in Java. A complete discussion of AVL Trees in C# may be found at I# in C#. NNcNannara (talk) 06:07, 3 July 2016 (UTC)

The Pseudo Code for AVL Trees involves pointers whereas the actual C# and Java contains no pointers. Perhaps Psuedo Code is a dated subject. It needs to be ascertained precisely how to approach the presentation of trees. My opinion is that actual modern code is better than dated pseudo code. The question is which language to use C++, C# or Java. I have already supplied the source code to AVL in Native C++, Managed C++, C# and Java at Rosetta. NNcNannara (talk) 13:38, 16 July 2016 (UTC)

Thank you for your interest in improving wikipedia, but this is not how it works. We don't publish original thout. Please read WP:NOR, WP:CITE, WP:RS. - üser:Altenmann >t 15:37, 24 July 2016 (UTC)
Thout is indeed the correct hecsadeinnal spelling ou "thought". The original thout canne phronn the cited repherence ou Kruse. I uuish I could tace credit - but alas the Russian's got there phirst. It has sonne neuu pheatures such as a 4th state phor the Header node.NNcNannara (talk) 11:46, 26 July 2016 (UTC)

Possible Editing help/expanding new articles[edit]

Hello! I am a Museum Studies Graduate Student currently working at the Living Computer Museum in Seattle, Washington. I am working with staff members and with the collections/library database to expand/create articles about vintage computing, retro computing, and computer science that pertain to the items and knowledge here at the museum. If anyone would like to help edit these pages, or be interested in an edit-a-thon, or just want some more information on what we hope to accomplish please message me on my talk page! -- MBlairMartin (talk) 21:28, 12 July 2016 (UTC)

Guidelines for individual software design pattern articles[edit]

I recently made some significant edits to Singleton pattern to remove content which I perceived as overly Java-oriented. I received a negative reaction from an anonymous IP on my talk page whom I have replied to at Talk:Singleton pattern. I stand by my edits, but regardless, I have observed that there is very little consistency between the various software design pattern articles. Perhaps there need to be some, at least unofficial, guidelines which all of the articles should follow? I list my suggestions and thoughts here.


In my opinion, articles on individual software design patterns should be as programming language-neutral as possible. By this I mean that the article should discuss the pattern in a way that is generally applicable to the majority of languages in which that pattern is relevant. Examples that violate this guidelines include:

  • Code samples which rely on features not present in the majority of relevant languages (e.g. using Java enums to implement the singleton pattern)
  • Discussion of language-specific implementation details or bugs which should be accounted for when implementing a pattern (e.g. the Java synchronized and final keywords)

No superfluous information or opinions[edit]

These articles are about software design patterns, not about things like naming conventions or software design best practices. For example, the following sentence from the Adapter pattern article is totally inappropriate:

When implementing the adapter pattern, for clarity one can apply the class name [ClassName]To[Interface]Adapter to the provider implementation, for example DAOToProviderAdapter.

Code samples[edit]

Code samples should be embedded in the relevant sections of the article, not placed in a separate "Code samples" section. Code samples perform a similar function to images: they are an illustrative aid to understanding the topic under discussion. Segregating them to a separate section of the article only makes things harder for the reader. In addition, if we start listing code samples in various languages, how do we determine which languages deserve an entry? Presumable we have to draw the line somewhere, as these articles are not stand-alone lists. And we have to ask ourselves: what purpose does this serve? Is the article really improved by having a C++ example and a Java example and a C# example, when the syntax for all three languages is very similar? Does it help to get across important additional information about the pattern? I would say no.

There is still the question of which language should be used to provide the code samples? For the sake of consistency (I'm a software engineer after all), I would be perfectly fine if a consensus could be reached on a language to use for all articles on patterns (e.g. C++ or Java or C# for all object-oriented software design patterns – I would probably advocate Java on the basis that it is probably the most widely understood language). However, I can see this consensus being near-impossible to reach, so perhaps the language should be chosen per-article. I am open to the idea of using different languages for each code sample within an article – variation is good and neutral – but I worry that it will be harder to compare code samples if they are written in different languages (they will generally demonstrate different variations of the pattern). I'm keen to hear opinions on this.

Lastly, code sample should be as minimal as is appropriate. If a bare-bones template is sufficient to illustrate the pattern, then that should be used. If providing some additional dummy functionality is necessary to accurately convey the purpose of the pattern, then it's fine to elaborate a bit. However, the sample should be kept short. For example, the Adapter pattern PHP example is far too long.


We might be able to devise an infobox template for software design patterns. If possible, the infobox should contain the class diagram (or other applicable diagram) for the basic pattern. Other information the infobox could contain:

  • The type of pattern (creational, structural, behavioural, ...)
  • Summary of the purpose of the pattern (if this is do-able in infobox format).
  • Aliases
  • Well-known publications that discuss the pattern (e.g. GOF)
  • Related patterns

However, perhaps there is simply not enough to summarize to justify an infobox. Definitely open of suggestions about this.

Article structure[edit]

I propose the general headings to be standardized across all articles:

  • Lead – Should summarise the article. As per Wikipedia guidelines, should not contain information not provided and sourced elsewhere.
  • Purpose – Should describe what the pattern does and where, why and how it should be used (and should be well-sourced). I don't think it is necessary to subdivide this section unless the section becomes unmanageable.
  • Implementation – Should list the requirements and general approach to implementation of the pattern. If there are variations on the pattern then they can have subsections here.

These headings are not hard and fast, and I'm certainly open to other suggestions, but it would be nice to have some consistency. For example, I would like to see a "Criticisms" section in the singleton pattern article, as it is a somewhat controversial pattern.

I'll be glad to hear feedback on my thoughts. Hpesoj00 (talk) 08:46, 28 July 2016 (UTC)

Blockchain data structure and "blockchain" as an emerging imprtant technology[edit]

Since data structures of the concatenate chain model, or blockchains (originally "block chains", but now most commonly spelled "blockchain") seem to be much in the news with major financial sector initiatives underway in addition to their tradition digital currency exchange-of-value use case, and since WikiProject Databases seems to be in hiatus, it would be real helpful to have a few more editors from the WikiProject Computer science project consider taking a look at a few of the articles in that space. The ones that I know could use much more work to improve them are blockchain (database) and Ethereum. But I'd be happy to suggest/find others if asked. Hope to see some of you over there. Cheers. N2e (talk) 01:13, 28 August 2016 (UTC)

WikiProject PHP[edit]

-- 1Wiki8........................... (talk) 17:58, 2 September 2016 (UTC)