Wikipedia talk:WikiProject Programming languages

From Wikipedia, the free encyclopedia

/Archive (prior to 2005)

Contents

[edit] Let's see if we can reactivate

I'm going to try to reactivate this. Ideogram 16:20, 3 June 2006 (UTC)

[edit] Categorical list of programming languages

I've been doing some work on Categorical list of programming languages. If anyone has any comments or suggestions on what I've been doing, please drop by its talk page. – Zawersh 08:04, 4 June 2006 (UTC)

[edit] C programming language

C programming language is up for a featured article review. Detailed concerns may be found here. Please leave your comments and help us address and maintain this article's featured quality. Sandy 22:41, 16 July 2006 (UTC)

[edit] Java programming language

Java programming language is up for a featured article review. Detailed concerns may be found here. Please leave your comments and help us address and maintain this article's featured quality.

Sorry to hit you twice: we need help with the review, and in addressing the articles. Sandy 22:49, 16 July 2006 (UTC)

[edit] Disambiguation

THis is sort of a contination from the Talk:Python_programming_language#Article naming section, but can we start some sort of process here about the disambiguation technique for the articles? I'd like to lobby for a change to this, and I'd suppose this is the best place for it. The common names for all these lanugages lack the "programming language" prhase, so i feel it is best to put it into parenthesis in order to best disambiguate. Looking at many disambiguation pages, the lack of parentheses also looks out of place: Ruby (disambiguation), Java (disambiguation), C (disambiguation), Pascal (disambiguation), etc. If this discussion has already taken place and consensus for the current naming convention has already been reached, then please accept my apologies for bringing this discussion back up again. atanamir 21:16, 1 September 2006 (UTC)

[edit] Poll procedure

I believe I have figured out a reasonable procedure by which to carry on a poll of this renaming proposal that spans many programming language articles. For each programming language identified, please do the following (I have done it for Python programming language as a first try):

(1) At the top of an article talk page, add the following (adjusting to the name of the language):

{{move|Python (programming language)}}

(2) At the bottom of an article talk page, add the following (adjusting to the name of the language):

==Requested move==
[[Python programming language]] → [[Python (programming language)]] 
– Conformance with WP naming conventions ~~~
{{Wikipedia talk:WikiProject Programming languages/Renaming poll}}

[edit] Poll

Poll closed as "Move". See Wikipedia talk:WikiProject Programming languages/Renaming poll

[edit] Programming language is Good Article Collaboration of the week

FYI, The current Good Article Collaboration of the Week is Programming language (until October 1st). Figure this is the right place to tell people. -Hyad 05:15, 29 September 2006 (UTC)

[edit] Project directory

Hello. The WikiProject Council has recently updated the Wikipedia:WikiProject Council/Directory. This new directory includes a variety of categories and subcategories which will, with luck, potentially draw new members to the projects who are interested in those specific subjects. Please review the directory and make any changes to the entries for your project that you see fit. There is also a directory of portals, at User:B2T2/Portal, listing all the existing portals. Feel free to add any of them to the portals or comments section of your entries in the directory. The three columns regarding assessment, peer review, and collaboration are included in the directory for both the use of the projects themselves and for that of others. Having such departments will allow a project to more quickly and easily identify its most important articles and its articles in greatest need of improvement. If you have not already done so, please consider whether your project would benefit from having departments which deal in these matters. It is my hope that all the changes to the directory can be finished by the first of next month. Please feel free to make any changes you see fit to the entries for your project before then. If you should have any questions regarding this matter, please do not hesitate to contact me. Thank you. B2T2 00:06, 26 October 2006 (UTC)

[edit] Need Infoboxes

User:Cybercobra/ProgLangInfoboxen

List of languages needing infoboxes I compiled a while ago. Feel free to help out and add/remove entries to the list as appropriate. --Cybercobra 05:33, 15 November 2006 (UTC)

[edit] Forth FAC nom

I have nominated Forth for FA status. Please participate and help improve the article. --Ideogram 14:05, 17 November 2006 (UTC)

[edit] Category:Articles with example code proposal and call for volunteers

The following is copied from Wikipedia:Categories for deletion/Log/2006 November 29, re the deletion of Category:Articles with example ActionScript code.


I'd like to hear from WikiProject Programming Languages members what you think of this idea. I will argue vehemently with anyone who opposes the general idea of reducing the number of "example code" languages; however, I really need guidance on the "Delete all but one of..." bullet points above (which one should stay?), and also on the cats I didn't explicitly mention above. Is JavaScript really necessary? How about keeping only one of C# and Java? And so on. Discuss. --Quuxplusone 00:22, 1 December 2006 (UTC)

Seems like you're on a one-person campaign, but I'd like to urge we keep examples for Ocaml, Haskell and Scheme. Obviously, Scheme examples would be close to Common Lisp code, in the same way that Ocaml would be similar to Standard ML.

However, the larger point that needs to be made is that C++, Java, and C# examples duplicate eachother far more than functional programming language examples do. And there are even fewer new ideas added by examples in Perl, Python, Ruby, PHP. If people want to simply support languages that are widely adopted, then say so. But most of the examples for these languages say things like "This Perl code is based on the Ruby code" or "this PHP code is based on the Python example". So if the focus is on reducing examples, attention should be made to the imperitave languages and not so much on the functional ones. Otherwise, you're just "feeding the monkey"--adherents are contributing code of their favorite language--and not really adding any substance to the examples in articles by preserving and growing the FP examples. --72.92.129.33 03:33, 4 December 2006 (UTC)

Yes, I'd also support the deletion of all but one of C++, C#, and Java. However, it seems to me that the number of people who will be offended by the exclusion of their favorite language in those cases is likely to be higher than in the case of, say, Ocaml. :) I totally agree with you about the importance of FP languages, too. (Ah, I see now... My "ought to be enough for anybody" comment was based more on the current amount of code on Wikipedia than on any goal. I certainly wouldn't want to see all those languages present on every page! But since we do have substantial amounts of code in each (many?) of those languages, then adding yet another one (ActionScript, PHP,...) would be ridiculous. Hope that clarifies my comment.)
The goal should be to clarify and explain algorithms, not to boost any particular programming language. The article on Algorithm X should show an implementation in some language that makes X easy to show. That means we're going to need a language like C for bitwise ops; a language like Java for OO; a language like Matlab for matrices; a language like Ocaml for currying; and so on and so forth. Once that goal has been met, then the secondary goal should be to reduce the number of different languages used on Wikipedia.
One more point that may be obvious: Some languages are so good at a particular task that they are totally useless as a pedagogical tool. You can't use Perl to demonstrate the parsing of regular expressions, for example, because that's built into the language, and a one-liner doesn't teach anything.
And yeah, this is looking a lot like a one-man crusade. But I'm hoping that by posting here, and doing a lot of deletions with Talk page comments, I can drum up some interest in helping out. --Quuxplusone 05:04, 4 December 2006 (UTC)

Regarding the functional languages: I would like to keep both the Haskell and Scheme examples (translating the Ocaml to Haskell if it is a pure algorithm, otherwise to Scheme) because they follow different schools of minimalist functional programming: Haskell is a much more pure, much theoretically cleaner language, wheras Scheme is more of a jack-of-all-trades, as functional languages go. For example, take continuations. Scheme supports these natively, but while Haskell also supports a continuation monad, the Cont monad scares and confuses the hell out of me, and it's (even further?) beyond the scope of an average reader. If, however, we slim it down to just one functional language we write examples of algorithms in, I would like it to be Haskell.

Another couple of random points: how about we make a distinction between code demonstrating an algorithm (ie, that would also be perfectly well demonstrated with pseudocode), and between code demonstrating a specific syntax or feature? ISTM that this is something of an important difference (about as great as the specification vs the implementation), but they're currently in the same categories. I believe we'd have far more algorithic examples than we would for syntactic demonstration - however, the syntactic examples would probably use a more diverse set of languages. Taking this a step further, we could (and probably should) write all the algorithmic example code in the same language, for consistency's sake. I don't, personally, like having algorithms demonstrated in C - the low-level details tend to obscure the view in ways high-level languages don't.

On syntax highlighting: it's a pain to edit. Find the prettiest example code on the wiki you can, and look at the wikitext. AARGH! How difficult would it be to automate this highlighting for a few specific languages? Eg,

{{Example Python Code|
def foo(bar):
    print bar + 1
}}

would result in something like:

<div class="examplecode">
<span class="examplecode-keyword">def</span> foo(bar):
    <span class="examplecode-keyword">print</span> + <span class="examplecode-number-literal">1</span>
</div>
[[Category:Articles with example Python code]]

Of course, the classes would be defined in the site CSS to have a default colour and stuff, but people could override them in their CSS files to match their preconceptions of what code looks like. Would this require a special parsing hook on the server? Or could a sufficiently convoluted template be constructed? --Abednigo 00:11, 9 December 2006 (UTC)

Another random point I forgot to make: I figure I might as well put forward a 'use case' for the categories beyond just bookkeeping. The One True Holy And Original Reason I began these categories was because there was this source-code based wiki I was taking a peek at and I read something there about how Wikipedia had lots of source code for algorithms on it but very little means of finding them. I thought some categories for this would be a good idea. If we remove sizeable snippets from WP for consistency or popularity or whatever other reasons snippets might need to be removed for, maybe we could instigate some sort of transwiki process? --Abednigo 00:20, 9 December 2006 (UTC)
And it might also be a good idea if I included a URL. http://en.literateprograms.org/LiteratePrograms:Welcome is probably the place that got me thinking, though I believe there are other such sites. --Abednigo 00:23, 9 December 2006 (UTC)
It is my opinion that there should be no real code in algorithm articles. See Wikipedia:Algorithms_on_Wikipedia#Code_samples: ...avoid writing sample code unless it contributes significantly to a fundamental understanding of the encyclopedic content. Most code examples should go to wikibooks:Algorithm_implementation. There should be easily understandable psedocode, on a level of detail suitable for showing the important aspects of the algorithm. In pseudocode for a graph algorithm, the concept of nodes and edges should be used, probably without regard to how the data structures are implemented. See for example the Ford-Fulkerson example at the top of Wikipedia:Algorithms_on_Wikipedia. When explaining a DP algorithm, or something which works on strings, a more low-level notation which involves array indexing is needed. Preferably, this notation for variables etc. should be "formal enough" for it to be used in the rest of the article too, for example in recurrences showing the idea behind DP solutions. The notation should also be reasonably uniform across algorithm subtopics. Klem fra Nils Grimsmo 20:37, 14 December 2006 (UTC)