Wikipedia talk:WikiProject Computer science/Archive 5
This is an archive of past discussions on Wikipedia:WikiProject Computer science. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | ← | Archive 3 | Archive 4 | Archive 5 | Archive 6 | Archive 7 | → | Archive 10 |
Thoughts on FOLDOC
I'm curious if anyone here has any opinion or comment about the Free Online Dictionary of Computing. It's used as a sole reference in a few articles and I'm growing suspicious of some of the statements. For example I don't think that Peter Landin's ISWIM was the first language to use lazy evaluation.A B Carter (talk) 00:41, 13 March 2007 (UTC)
- I don't really have an opinion one way or another on FOLDOC. But if you have a reference (like an ISWIM language spec) that contradicts the FOLDOC entry, then I'd say you win. From a quick skim of the Landin paper that FOLDOC refers to, it's not clear to me what evaluation order ISWIM was supposed to use - but the I didn't really study it in depth. --Allan McInnes (talk) 04:50, 13 March 2007 (UTC)
- Hmmm, thanks. Unfortunately the issue is only coming up for me with fairly obscure topics. I stopped pursuing the ISWIM issue because it became increasingly complex (turns out that ISWIM the language specification and the SECD machine Landin describes to implement the language are not entirely consistent with one another). What motivated this request was FOLDOC's statement that the term "Autocoder" originally referred to the system that Alick Glennie wrote for the Manchester Mark I. Like I said obscure stuff.A B Carter (talk) 09:48, 13 March 2007 (UTC)
- My personal experience is that the error rate of FOLDOC is significantly higher than that of Wikipedia and that, as with any tertiary source, should preferably not be used to source any claims. —Ruud 00:49, 14 March 2007 (UTC)
I've put the above article at Featured Article Review for its lack of sourcing. You can see the discussion (which I posted last night- sorry for not notifying this WikiProject until now) at Wikipedia:Featured article review/Architecture of Btrieve. -- Kicking222 20:14, 14 March 2007 (UTC)
Scope
Can anyone give me a general scope of this project? More specifically, which articles should have the WikiProject Computer science template? I can edit the template to allow for subcategorization if that's an issue. I'd like to start assessing some of these articles and adding some templates. Thanks! Adam McCormick 19:29, 6 April 2007 (UTC)
- In the scope would be articles related to computer science, computer engineering, software engineering, programming, artificial intelligence, information science, mathematics related to computer science... Out of the scope would be articles on websites (and other non-technical aspects of the Internet), software application (such as Firefox and Windows), computer hardware (iPod), ... —Ruud 22:10, 6 April 2007 (UTC)
- Ok, now do I add them directly to the CS category or a subcategory?Adam McCormick 22:59, 6 April 2007 (UTC)
- I'd subcategorize them into the categories listed at Wikipedia:WikiProject Computer science#Categories. —Ruud 23:31, 6 April 2007 (UTC)
- Alright, Thanks again! Adam McCormick 04:05, 7 April 2007 (UTC)
- I'd subcategorize them into the categories listed at Wikipedia:WikiProject Computer science#Categories. —Ruud 23:31, 6 April 2007 (UTC)
- Ok, now do I add them directly to the CS category or a subcategory?Adam McCormick 22:59, 6 April 2007 (UTC)
Quantum computer FAR
Quantum computer has been nominated for a featured article review. Articles are typically reviewed for two weeks. Please leave your comments and help us to return the article to featured quality. If concerns are not addressed during the review period, articles are moved onto the Featured Article Removal Candidates list for a further period, where editors may declare "Keep" or "Remove" the article from featured status. The instructions for the review process are here. Reviewers' concerns are here. SandyGeorgia (Talk) 17:24, 8 April 2007 (UTC)
AFD nomination
Wikipedia:Articles for deletion/Internet shorthand notation seems to be misnamed for what I've always known as "ASCII math notation". Note, there may not be one standard method, but I believe the overall concept is notable for an article, at least in terms of the history of computing. Yea or nay, I think this nomination needs more knowledgeable input. --Dhartung | Talk 21:55, 8 April 2007 (UTC)
Proposed Control Flow cleanup
I think the material on Wikipedia related to control flow statements in programming is a bit disorganised, particularly with regard to the topics of loops and conditional statements. In my opinion, there are problems like: an arguably overlong article, links that don't point to the correct sense of a word, articles that are missing appropriate cross-references, and (perhaps because of this) duplicate coverage.
My first proposal to improve matters is to merge Control flow#Choice into conditional statement. If you wish to comment, please discuss that merger at Talk:Control_flow#Merge proposal, not here. After this particular issue has been dealt with (one way or another), I will move on to the other issues I have identified.—greenrd 13:44, 14 April 2007 (UTC)
Proposed merge of Computer software and Computer program
Please see the discussion and comment there if you wish, not here.—greenrd 12:45, 15 April 2007 (UTC)
FA/GA List removal
This section needs to be here as almost none of these have been tagged yet. Please tag them so they are collected into table before removing them again. Thanks ! Adam McCormick 23:05, 21 April 2007 (UTC)
- I have tagged them all. --Ideogram 23:06, 21 April 2007 (UTC)
- No worries, they just aren't in the stat box yet Adam McCormick 23:15, 21 April 2007 (UTC)
Proposed merge of Embedded System Design in an FPGA into Embedded system
I have proposed that (portions of) Embedded System Design in an FPGA should be merged into Embedded system. Please see the discussion at Talk:Embedded system. --Allan McInnes (talk) 23:19, 21 April 2007 (UTC)
- Well, obviously a moot request now that one of the articles has been deleted as a copyvio. --Allan McInnes (talk) 04:21, 16 May 2007 (UTC)
Hi all, we're starting WikiProject DatabaseDatabases to bring database articles up to snuff. Need some advice on whether it would be better situated under a parent project of WikiProject Computer science or Wikiproject Information science? Also, any help/advice/guidance on setting up and getting this new WikiProject going would be greatly appreciated. Personally I'm new to WikiProjects, templates, stubs, etc., so any help is appreciated. Thanks. SqlPac 04:00, 16 May 2007 (UTC)
- Starting a WikiProject is a lonely job. It doesn't really matter where you put it, but don't expect to get much help. WikiProject Computer Science, for instance, basically has no activity. The largest WikiProject I am a member of, China, has less than a dozen active participants (not counting people who quietly edit specialized areas without participating in the larger project).
- AQu01rius (talk · contribs) knows all the technical details of setting up a WikiProject, you should talk to him. --Ideogram 04:12, 16 May 2007 (UTC)
- I noticed it's lonely :) And every time I do something I get hit up by WikiBureaucrats who keep telling me I did it wrong and should have done X, Y, and Z first, and the whole world will collapse because I did something or other out of order! :) So now I'm trying to make sure I dot all the I's, cross the T's, and fill out all the paperwork in triplicate :) I'll check with AQu01rius (talk · contribs). Do you know of anyone who specializes in templates, stubs, and/or portal design? I need some technical guidance there also. I'm hoping that "if I build it, they will come." :) Thanks. SqlPac 04:27, 16 May 2007 (UTC)
- AQu01rius (talk · contribs) knows it all. He is quite brilliant, but don't tell him I said that, we don't really get along. --Ideogram 04:33, 16 May 2007 (UTC)
- I'll second Ideogram there. WPCS was fairly active in the first few months after it was (re)started. But activity has since died down as the early enthusiasts have moved on to other things (both inside and outside Wikipedia). WikiProjects involve a certain amount of overhead to maintain - overhead that isn't required when you're just editing articles. Unless there are already more than a few people who are actively editing database articles on a regular basis, and you need somewhere centralized to coordinate your activities, it's probably not worth going to the effort of maintaining a project (which is not to say that the act of starting a project won't help to motivate more editors to come forward).
- The database project would probably fit equally well under WPCS or the IS project. If you can't decide, maybe you could just place it under both.
- As for the technical details:
- If you haven't already seen them, these two articles are quite helpful, and contain links to other useful info: Wikipedia:WikiProject Council/Guide and Wikipedia:WikiProject Council/Proposals
- From a quick look at Wikipedia:WikiProject Database, it seems like you;ve already got the basic templates set up. If you're going to add any other kinds of stub templates, I'd highly recommend checking in with the stub sorting project first, since they can get a little grumpy if you create a bunch of stubs that don't take adequate consideration of other possible uses for the stub template names you select.
- You might consider selecting one article as the showcase for the project, and dedicate a lot of effort to really getting it cleaned up. As it starts to mature, you can start spidering out to the articles your showcase links to, and gradually improving those.
- Best of luck with the new project! --Allan McInnes (talk) 04:41, 16 May 2007 (UTC)
- Thanks for the heads up. The stub sorters already hunted me down and tried to skin me alive :) I read the Wikipedia:WikiProject Council/Guide and Wikipedia:WikiProject Council/Proposals, and went through the formal proposal process already before setting anything up. There are a few people who edit these types of articles regularly (myself included), so I think we might be able to attract a few subject matter experts to help improve them. We recently improved a database article (Null (SQL)) from a stub to Good Article status, and I'm hoping we can do the same with several more. That's an excellent idea though, choose a showcase article and make it top-notch, as a sort of advertisement. I think the Database and DBMS articles might be good candidates for that because they link to so many different database-related articles. Thanks, appreciate the help! SqlPac 14:56, 16 May 2007 (UTC)
The biggest advantage of WikiProjects is that they have a talk page which all interested editors have on their watchlist. That advantage quickly start to fade away when projects are split into smaller parts with a usually even smaller group of interested editors. —Ruud 19:27, 17 May 2007 (UTC)
Citing API's
Sometimes one wants to cite an API or public header file or something similar. Example:
The Xyzzy platform requires callers to wrap function arguments in variants[1][2].
...
1. Xyzzy API reference, "Calling functions", url (or path in docs)
2. Xyzzy Platform SDK, methodcall.h, url for SDK
Is there any standard way to do this? Are there important things I forgot? Shinobu 04:32, 18 May 2007 (UTC)
- I'm not aware of a standard format for such references. Anyone else know of one?
- As for things you forgot: You probably want to include an API version number, and an access-date for the URL. You might find that {{cite web}} can be adapted to your needs. --Allan McInnes (talk) 05:49, 18 May 2007 (UTC)
How about {{cite api}} and {{cite header}}? Or should we use {{cite code}} for the last one? That would allow us to cite publicly available source code as well, like e.g.: "Xyzzy's object sets are implemented as hash maps.[1]" Shinobu 07:10, 19 May 2007 (UTC)
Starting implementation... please fix all mistakes ;-) Shinobu 16:04, 21 May 2007 (UTC)
Bresenham's line algorithm
The Bresenham's line algorithm article seems to contain a lot of information not about the actual Bresenham algorithm. I'd appreciate it if a few other people could take a look at the article to see if they think the additional (non-Bresenham) content belongs there, and if not, provide some suggestions for where it should go. Thanks. --Allan McInnes (talk) 06:39, 18 May 2007 (UTC)
POLICY DEBATE: Use of source code and other examples in articles
I have opened a debate on the use of source code and other examples in Wikipedia articles. It seems that many pieces of example source code etc. currently in Wikipedia violate Wikipedia policy, so we need to either clarify or change the situation. Depending on the result of the discussion, this may result in a number of source code examples being summarily removed from computing articles!
Please reply there, not here, if you wish to contribute.—greenrd 10:50, 18 May 2007 (UTC)
Disambiguation of operation
Hello, I have been working on fixing links to the Operation page, which is a disambiguation page, so links should not go there. I came across a number of computer science articles which used the word 'operation' in a very general way, just referring to 'something a program can do', an example is 'primitive file operations, such as creating a file, deleting a file, reading from a file, and writing to a file'. Now, the operation disambuation page only links to one computer science article, Instruction (computer science), which seems to be a rather more specific meaning. Unfortunately, I already disambiguated some of the links using the word in the general sense to this article with the very specific meaning, but I would like to fix that. However, I don't know where those links should go instead. Can someone here tell me? ssepp(talk) 22:14, 18 May 2007 (UTC)
- In my opinion such links of general terms should be removed. The usage of "operation" in that context does not have a specific Computer science definition, it just means "doing something". Such general concepts should not be linked. --Ideogram 01:36, 19 May 2007 (UTC)
- I agree with Ideogram. --Allan McInnes (talk) 04:31, 19 May 2007 (UTC)
- I agree as well, Links to words like that are more the realm of Wiktionary anyway Adam McCormick 05:22, 19 May 2007 (UTC)
- Ok, that sounds right, thanks for the replies! ssepp(talk) 17:05, 19 May 2007 (UTC)
Internet WikiProject or Internet task force?
Hi, I just joined, primarily to ask the WikiProject about this proposed "Internet (by country)" WikiProject that I'm trying to get set up. I'm just wondering, though, if it should be a full-fledged wikiproject or just a task force. Thoughts are appreciated.--Toussaint 12:23, 23 May 2007 (UTC)
- Seems to me there'd be enough articles, and a sufficient focus, to warrant a project if you wanted to set one up. The big question in my mind is whether or not there will be enough people interested in joining such a project to justify the overhead of setting up a project structure. Maybe you could start with a taskforce, see what the interest level looks like, and then decide if it's worth going on to create a full-fledged project. --Allan McInnes (talk) 01:51, 30 May 2007 (UTC)
Idempotence merge
Hey all. I wondered if there were any comments on my merge proposal discussion at Talk:Idempotence regarding my proposal to merge Idempotence (computer science) into Idempotence. My reasoning was that the comp.sci. article seemed only to be giving a couple vaguely computing-related examples and that the main article gave a better (IMHO) and more formal definition of the term. I'd understand if there was at least some subtle difference but reading the two articles it seems that there isn't. If I'm wrong though, perhaps they shouldn't be merged but the comp.sci. article improved. Angus Lepper(T, C, D) 17:41, 23 May 2007 (UTC)
- I agree with the merge proposal. Just adding a section in Idempotence to include the (rather limited) encyclopedic content of the other article seems sufficient. Gimme danger 17:54, 23 May 2007 (UTC)
Computer program RfC
Hi all. We are currently working on improving the article Computer program, and have hit a snag in the first two sentences. I would like to get past this little technical difficulty so that we can move forward with the process. In the interests of reaching consensus, and avoiding an edit war, I would like to ask all of you for your opinion on the definition of computer program that is currently in play, and the proposed change. The current definition consists of a user-friendly first sentence, and a formal second sentence. Here is the formal definition provided for computer program:
- More formally, it can be described as an expression of a computational method written in a precisely defined computer language.[1]
This formal definition comes from Knuth's TAOCP, and is cited as such. I maintain that this is as accurate and complete a formal definition as one is likely to find based on the nearly 40 years of academic scrutiny and peer review that TAOCP has undergone, making it one of the Top 12 scientific monographs of the past century.
It has been suggested that this formal definition should be changed in the article Computer program to the following unsourced statement:
- More formally, it can be described as an expression of a
computational methodbehavior written in aprecisely definedcomputer language.
The arguments in favor of the unsourced statement are as follows:
- The term computational method has OO overtones.
- Not all computer languages are precisely defined. For instance, the example of
(i=i++)
in C++ was given as undefined by the ISO standard. - Knuths' definition is slanted too much to the field of Applied Mathematics, diminishing its usefulness.
My responses are as follows:
- Computational method has no OO association, and is later defined in the article precisely, again per one of Knuth's definitions.
- I maintain that all computer languages are precisely defined, with a precisely defined behavior for any given set of instructions. Whether the behavior was intended or not (GIGO), or whether the behavior is formally documented, is not part of the definition, nor do I feel it is the issue.
- After 30+ years, 3 editions, and 18 printings, I maintain that Knuth's definitions have withstood professional and academic scrutiny from a wide variety of disciplines in Computer Science, Applied Mathematics, and all other interested fields.
Which version of the formal definition is correct? Thanks. SqlPac 02:23, 24 May 2007 (UTC)
- Bottom line: whoever has a reference wins. If no one provides a reference for the alternate definition, then it doesn't belong in the article.
- Regarding the specific points which have been raised:
- Computational method - I don't personally see the OO overtones (ok, I can see how someone might make the association with an object "method", but a "computational method" is a different animal). My problem with "computational method", to the extent I have one, is that I suspect it's rooted in the idea of programs as computations in the Turing machine sense, while many modern programs are largely about interactivity (Turing machines are explicitly non-interactive). However, depending on how broadly you interpret "computation", interactivity may well be included.
- Precisely defined - the syntax of most languages is precisely defined (typically via some variation of a BNF grammar). The semantics (i.e. behavior) of most languages is not precisely defined. Aside from things like the explicitly undefined behavior of
(i=i++)
in C, the fact is that most language specs are written in informal language, and are subject to interpretation. An individual implementation of a language may well be "precisely defined" in the GIGO sense that you mention in your objection. But that isn't the same as the language itself being precisely defined. - Knuth slanted - this objection touches on the issue I raised above about interactivity. However, as I said above, it depends on how you interpret "computational". Regardless, Knuth is the only reference currently being provided.
- That's my 2c, for what it's worth.
- --Allan McInnes (talk) 05:33, 24 May 2007 (UTC)
- Addendum: Ok, just glanced at the computer program article, and I see a very nicely put together definition of "computational method". Unfortunately, that definition does exactly what I was afraid of, and effectively excludes most modern application software from the definition of "computer program". Specifically, the definition only makes allowance for inputs to be provided before the algorithm or method runs. There's no provision for inputs to arrive during the run. Which excludes things like web-browsers, word processors, and games from being "computer programs", if programs are defined as "computational methods". I note that the definition (apparently drawn from Knuth) mentions "reactive processes" as computations which are non-finite, but there's no mention of interactivity. I don't have a copy of TAOCP handy. Does Knuth mention interactivity at all (some authors consider "reactive" to include interactivity), either in the context of computational methods in general, or reactive processes in particular?
- Another possible definition, from Abelson and Sussman's classic "Structure and Interpretation of Computer Programs": "The evolution of a (computational) process is directed by a pattern of rules called a program."
- --Allan McInnes (talk) 06:44, 24 May 2007 (UTC)
- He makes allowance for an application to have zero inputs, although I consider his take on "reactive processes" to include continuous input/output, since he states that the applications continually "interact with their environment". SqlPac 14:52, 24 May 2007 (UTC)
- I'm no longer working on the computer program article - the definition of computer program has now expanded to an unordered collection of instructions (the analogy given was an unordered collection of DVDs, which do not change regardless of the order you place them in.) But to answer your response to Precisely defined [the syntax of most languages is precisely defined (typically via some variation of a BNF grammar). The semantics (i.e. behavior) of most languages is not precisely defined.] This works under the assumption that different variations of a "language" (based on a standard or not) are in fact the "same language". I would suggest that, for instance, Visual C++, Borland C++, and GNU C++, are in fact different languages (though based on the same standard.) If they were actually all the "same language", one could presumably take any program written for Visual C++ 7.1, for instance, and run it without change on GNU C++. I also submit that for each language, or "implementation" of the standard language, the behavior is well-defined; even for those items where the semantics are not defined by an overarching standard, or where the semantics are not defined to be the same across implementations or platforms. SqlPac 04:42, 28 May 2007 (UTC)
- We generally refer, by a language semantics, to how it is supposed to behave, not how a compiler actually interprets it in practice - because of course, a compiler may have bugs. That is why many languages have portions of their semantics which are undefined (i.e. behaviour which may vary between compilers - and indeed from one version of a compiler to the next) and that is why we refer to the language Java.—greenrd 10:26, 28 May 2007 (UTC)
- Bugs in compilers aside, if the ISO (or whatever standards body) does not define a specific behavior of an instruction in their definition (or if they say the behavior is undefined), then it is up to the implementation itself to provide the behavior. But the implementation itself provides a specific behavior. One would think that any two languages differing in both syntax and semantics would constitute two different languages. While they may share many things in common, compilers such as GNU C++ and Visual C++ do differ in both syntax and semantics to varying degrees. SqlPac 15:45, 28 May 2007 (UTC)
- You are mixing the notions of "language" and "implementation" there. And while I understand where you are coming from, I disagree with your point. As a simple example, one could (nominally) take a program written in the ANSI C language, and find that it runs differently under GCC and VC++. That has nothing to do with platform issues, or differences in the nominally supported language, and everything to do with differences in interpretation of the language specification (i.e. the definition of the language). Such differences in the interpretation of the language definition can occur because the language is not precisely defined, and the spec contains ambiguities. Contrast that with Standard ML, which has a far more precise definition.
- Another consideration is that, since both GCC and VC++ are written in C/C++, neither language/implementation (in the sense you are trying to assert) is "precisely defined": the compilers themselves may produce different behavior depending on how they are compiled, and what platform they are compiled on. I suppose you could say that you were writing your computational method (program) in "The ANSI C language (as compiled by GCC v4.15 on a PowerPC using switches XXX (as compiled by GCC v3.26 on a PowerPC using switches XXX (as compiled by GCC 2.04 on a PowerPC using switches XXX (as compiled by GCC v2.01 on a PowerPC using switches XXX ...))))", and perhaps claim that you are using a "precisely defined" version of C. But I doubt that's what Knuth had in mind when he wrote the original text that was quoted above. --Allan McInnes (talk) 07:29, 29 May 2007 (UTC)
- I understand your points, but while you think I am confusing "language" with "implementation", I am thinking in a slightly different direction, that the concepts being confused here are actually "language" and "specification". Working under the assumption that a programming language is in fact precisely defined by the standard, then by Knuth's definition anything that includes any single undocumented, implementation-dependent, or standards-undefined instruction is suddenly not a "program". Any code that includes the sample instruction given ("i=i++;"), for instance, is no longer a "program" under the definition. Looking at it from the other direction, that implementers precisely define the behavior of their "implementations" (with perhaps most of the precise definition coming from a standard, but very rarely all of it), it makes much more sense (to me at least). Just as an example, I speak U.S. English, and my friend speaks British English. Though our languages have the same specifications (same alphabet, same sentence structures, adjectives come before nouns, etc.), there are enough differences between the two that they are often considered two languages by Dictionary publishers and people who write locale-specific code for computers. SqlPac 20:54, 29 May 2007 (UTC)
- Bugs in compilers aside, if the ISO (or whatever standards body) does not define a specific behavior of an instruction in their definition (or if they say the behavior is undefined), then it is up to the implementation itself to provide the behavior. But the implementation itself provides a specific behavior. One would think that any two languages differing in both syntax and semantics would constitute two different languages. While they may share many things in common, compilers such as GNU C++ and Visual C++ do differ in both syntax and semantics to varying degrees. SqlPac 15:45, 28 May 2007 (UTC)
- We generally refer, by a language semantics, to how it is supposed to behave, not how a compiler actually interprets it in practice - because of course, a compiler may have bugs. That is why many languages have portions of their semantics which are undefined (i.e. behaviour which may vary between compilers - and indeed from one version of a compiler to the next) and that is why we refer to the language Java.—greenrd 10:26, 28 May 2007 (UTC)
- I'm no longer working on the computer program article - the definition of computer program has now expanded to an unordered collection of instructions (the analogy given was an unordered collection of DVDs, which do not change regardless of the order you place them in.) But to answer your response to Precisely defined [the syntax of most languages is precisely defined (typically via some variation of a BNF grammar). The semantics (i.e. behavior) of most languages is not precisely defined.] This works under the assumption that different variations of a "language" (based on a standard or not) are in fact the "same language". I would suggest that, for instance, Visual C++, Borland C++, and GNU C++, are in fact different languages (though based on the same standard.) If they were actually all the "same language", one could presumably take any program written for Visual C++ 7.1, for instance, and run it without change on GNU C++. I also submit that for each language, or "implementation" of the standard language, the behavior is well-defined; even for those items where the semantics are not defined by an overarching standard, or where the semantics are not defined to be the same across implementations or platforms. SqlPac 04:42, 28 May 2007 (UTC)
- Well sure, if you redefine "language definition" to mean "whatever has been implemented", then the language may be "precisely defined" (ignoring for the moment the issues I pointed out above regarding the compilation environment of the compiler or interpreter being put forward as the gold standard for "precisely defined"). But that isn't what the standard usage of the term "language definition" is. As you rightly point out, under the common usage of the term, Knuth's definition does exclude a great many things that might otherwise be considered "programs". That's basically the crux of the complaint about Knuth's definition, isn't it?
- And arguing by analogy with English is fraught with problems. Not least of which is that English isn't precisely defined at all. That's how lawyers make so much money: arguing over the ambiguities of the language. You yourself are using the ambiguity of the term "language definition" to advance your argument, by claiming that in fact "language definition" means implementation.
- --Allan McInnes (talk) 01:46, 30 May 2007 (UTC)
- Actually the 'precisely defined' seemed to be a smaller part of the argument, which took a left turn when it was argued that a program written with the instructions in alphabetical order was the exact same program as one written with the same instructions in randomized order; which does seem to annihilate Knuth's definition of some sort of ordered execution. My main thinking is that Knuth's definition was created when there weren't that many compilers and programming languages around. There weren't a ton of different implementations, and there weren't a lot of standards bodies issuing computer language standards at the time. So perhaps, as my colleagues on the article have suggested, it's time to update Knuth's definition; but WP:OR prevents us from rewording Knuth's definition ourselves without a verifiable source. But all that aside, I have to say, Knuth's definition, dated as it may be, is still better than anything my esteemed colleagues were able to come up with over the course of two months of bickering.:) SqlPac 05:11, 30 May 2007 (UTC)
- I think the "ordering" issue probably had something to do with the fact that programs written in functional and declarative languages don't necessarily require a specific order (so saying otherwise biases the definition towards imperative languages), and that concurrent programs are often written to permit several possible execution orders. But I agree that the Knuth reference, dated as it is, is better than most anything else I've seen so far. I did a quick skim through what I figured were likely texts (Abelson & Sussman, Van Roy & Haridi, Hoare's UTP, etc.), and couldn't find anything as concise and clear as Knuth's definition. --Allan McInnes (talk) 05:43, 30 May 2007 (UTC)
- From that perspective, I don't think the "ordering" issue has to be limited in scope to the 'sequential' order of imperative languages, do you? Even in functional languages, instructions are performed in a specific order; though it might not necessarily be the same as the order that the instructions are written in the source code. Even imperative compiled languages can rearrange compiled instructions for optimization purposes. I think a good example is the pre-emptive multitasking model, in which the hardware and/or the O/S determine the order of execution. That might be why Knuth might have decided not to state that instructions are executed in a "sequential" order. SqlPac 01:00, 31 May 2007 (UTC)
CPU cache FAR
CPU cache has been nominated for a featured article review. Articles are typically reviewed for two weeks. Please leave your comments and help us to return the article to featured quality. If concerns are not addressed during the review period, articles are moved onto the Featured Article Removal Candidates list for a further period, where editors may declare "Keep" or "Remove" the article from featured status. The instructions for the review process are here. Reviewers' concerns are here. SandyGeorgia (Talk) 03:48, 5 June 2007 (UTC)
Assessment template
The {{WPCompSciAssessment}} (as evidenced on Talk:ANDOS) looks very weird inside the {{WikiProjectBannerShell}}. And even without the BannerShell assessment itself spills out of the actual box. Is there any way of making this confirm to every other WikiProject template that keeps the assessment inside the box? AFAIK, a subpage is usually used for the assessment itself. Shinhan 19:26, 8 June 2007 (UTC)
- This template duplicates the functionality of {{WikiProject Computer science}} and should not be used. If you try replacing it you will see {{WikiProject Computer science}} handles being nested just fine. Also, this particular article should not be part of WikiProject Computer Science; operating systems are applications of computer science and we can't include every obscure operating system. I have removed the template from the article and will put the template up for deletion. --Ideogram 21:35, 8 June 2007 (UTC)
TfD nomination of Template:WPCompSciAssessment
Template:WPCompSciAssessment has been nominated for deletion. You are invited to comment on the discussion at the template's entry on the Templates for Deletion page. Thank you. — Ideogram 21:43, 8 June 2007 (UTC)
AfD nomination of Carl Hewitt
The biographical article on Carl Hewitt has been nominated for deletion. Please weigh in on the nomination at the article's AfD entry. --Allan McInnes (talk) 18:08, 9 June 2007 (UTC)
Is there any chance someone could cast an eye over this for anything that's totally factually incorrect. I recently created it, but have no formal higher education to speak of yet and so I may have introduced inaccuracies or complete falsehoods accidentally. TIA. Angus Lepper(T, C, D) 22:35, 9 June 2007 (UTC)
- I'm no functional programming Ph.D. and I just glanced at the article, but the details look fairly accurate (though a bit on the technical side). I do think the commonly accepted definition might be a "hylomorphism is an expressive recursive pattern", but that could probably be debated as well. My main recommendation would be to add simpler explanations and definitions for some of the more technical jargon. I'll take a deeper look at some of the details later and give you more feedback. SqlPac 01:06, 10 June 2007 (UTC)
AfD nomination of ALF (programming language)
ALF (programming language) has been nominated for deletion. Please discuss this nomination at the AfD page. —Viriditas | Talk 11:04, 13 June 2007 (UTC)
- ...and I've taken the outcome of delete to DRV. John Vandenberg 06:47, 20 June 2007 (UTC)
- It's been undeleted. SqlPac 19:36, 20 June 2007 (UTC)
Coverage of computer vision articles
Computer vision is perhaps the sub-field of CS that I find most interesting. However, a random sampling of the articles in Category:Computer vision shows that a fair number aren't of very good quality; many are rightfully tagged with templates like jargon or context. Others could use better categorization, simple cleanup, or maybe the addition of example images.
I'd like to help improve these articles, and I'd very much like it if others were interested in joining me. Would this best be handled by a computer vision task force, under Wikiproject CS? Or would the creation of a computer vision Wikiproject be necessary? Any thoughts are appreciated. --Iknowyourider (t c) 16:08, 18 June 2007 (UTC)
- WikiProject Computer science is still a small WikiProject, so it would be best to discuss it here on this talk page. If enough people start participating you start to think about splitting off a task force or another WikiProject. --Ideogram 16:17, 18 June 2007 (UTC)
- Thanks for the tip. I'll start finding things to do for myself. I hope it's not too big a deal if I come back later with some more dumb questions. --Iknowyourider (t c) 19:09, 18 June 2007 (UTC)
- We're always happy to have you. --Ideogram 19:11, 18 June 2007 (UTC)
- I have noticed the same problem actually, best of luck to you in working on this area. Maybe I'll join in too.--Konstable 06:48, 19 June 2007 (UTC)
- I'm going to try and get some more material into both Graph cuts in computer vision and Mean shift. I've put up a todo list at Talk:Graph cuts in computer vision. As for mean shift, it's a rather stubby stub; I've put some sources on Talk:Mean-shift. Cheers, Iknowyourider (t c) 08:47, 25 July 2007 (UTC)
Non-universality in computation has been nominated for deletion. User:Dhaluza has extended the discussion of this issue to the Village Pump. --LambiamTalk 21:06, 21 June 2007 (UTC)
I got this article through random article. I was considering adding it as a Wikiproject Computer Science article but it doesn't have sources and a Google search struggled to find reliable sources for it. I was thinking of adding it to Articles for deletion but thought I would ask the appropriate Wikiproject for views on it. Capitalistroadster 21:46, 22 June 2007 (UTC)
- Looks like advertising/self-promotion to me (especially given the fact that the article includes developer contact info). That kind of thing is not what Wikipedia is intended for. I'd submit it to AfD as promotion of a non-notable (limited Google hits, of which the top one is WP, and the rest look like announcements in forums or newsgroups) product/program. --Allan McInnes (talk) 22:38, 22 June 2007 (UTC)
- ^ Knuth, Donald E. (1997). The Art of Computer Programming, Volume 1, 3rd Edition. Boston: Addison-Wesley. pp. pp.5. ISBN 0-201-89683-4.
{{cite book}}
:|pages=
has extra text (help)