Comments from 3 pioneers
Given the above discssions on "what is computer science" here are some related comments:
...the harm was done: the topic became known as computer science ---which, actually, is like referring to surgery as knife science ---and it was firmly implanted in people's minds that computing science is about machines and their peripheral equipment. - Edsgar Dijkstra
Peter Naur dislikes the very term computer science and suggest it be called dataology.
NevilleDNZ 20:00, 24 October 2006 (UTC)
- True, it isn't really a science, more like an engineering discipline. However its worth noting that Dijkstra's comment doesn't really apply any more since most computer science courses have a heavy emphasis on software engineering. Personally I like the term "software engineering" since that's a pretty accurate description of the real-life discipline. Gwernol 20:29, 24 October 2006 (UTC)
-
- And yet good engineering is informed by science. So there should be some kind of computer/computing/software science there somewhere in the background of "software engineering". Otherwise it isn't engineering, it's tinkering. --Allan McInnes (talk) 03:33, 2 December 2006 (UTC)
- There is a science behind software engineering, its math(s). Gwernol 14:38, 19 April 2007 (UTC)
-
-
-
- You mean like type theory, the lambda calculus, or the pi calculus? All of those, although mathematical in nature, are far more active areas of research in CS. Some originated in CS. As a discipline, CS is motivated to examine different problems than mathematics. Of course, theoretical CS does use a lot of mathematics. But then so does theoretical physics.
- Regardless of what most CS courses teach (which is largely driven by market demands, and the fact that corporations hire CS graduates to be software engineers) there is a difference in the focus and goals of CS (as a discipline, rather than a degree program) and SE. There is of course substantial overlap in the areas of knowledge. But they remain different disciplines. David Parnas has done a good job of articulating the differences. I'd also highly recommend Walter Vincenti's excellent book "What Engineers Know and How They Know It", which does a good job of explaining the essential differences between a science and an engineering discipline. --Allan McInnes (talk) 02:37, 20 April 2007 (UTC)
- Maurice Wilkes is reputed to have disliked the term computer science and said "I have been a scientist and I have been an engineer -- I know the difference" Neil Dodgson 18:57, 23 February 2007 (UTC)
I disagree with the idea that computer science isn't a science. In my department we do exactly the same kind of science as you find in biology, sociology, ecology, psychology, and physics. You can argue that maths and engineering aren't science, but they involve developing and evaluating models (of construction, for example) so, in every way that matters, computer science is a science. Having said that, I like "Informatics" better. Neuralwarp (talk) 10:58, 28 April 2008 (UTC)
One thing that gets left out from the view of computer science in regards to mathematics is the ability to perform those computations. Computer science does not ignore that ability; it tries to explain it with how it is possible in this physical world. A person that performs math is very much a computer, one that computes. One can see nerves and fingers as input and output devices and DNA as subroutines. People tend not to take that perspective because they remove the human body and mind from the equation, so to say. Anotherwords, they say that a desktop computer has nothing to do with the mathematics of computer science, yet that is just one of many viewpoints, architecturally. — Dzonatas 15:16, 28 April 2008 (UTC)
solar system
why dose every season start on the 21st —The preceding unsigned comment was added by 208.64.177.24 (talk) 22:33, 11 January 2007 (UTC).
- Why do you ask? Notinasnaid 22:35, 11 January 2007 (UTC)
- See Equinox. The equinoxes and solstices are around (but not always on) Mar, Jun, Sep, Dec 21st. Palaeovia 17:13, 23 April 2007 (UTC)
I think this topic should be mentioned in this article
Computational geometry - unsigned
Computational geometry should be listed under either Algorithms or Computer Graphics. Since Algorithms is usually understood to contain algorithms for the core, classic problems of CS, and not all algorithms in all fields of CS, my choice would be Computer Graphics.
Palaeovia 17:07, 23 April 2007 (UTC)
I really think a strong statement needs to be made of the division between Computer Science and Programming. They have almost nothing to do with each other.
Programming a computer is the process of enumarating exacting steps for the computer to perform, to solve a specific problem or a specific set of problems. Computer Science studies things like the complexity and computibility of problems and classes of problems.
Compare to Math or Physics vs Engineering. While it is quite helpful for the engineer to be familiar with the basics of Math and Physics, the actual work of engineering tends to be driven more by practical specific guidelines... The engineer does not analyze the physical properties of steel to determine how much stress it can withstand; the known value is obtained from prior art. When working on the "cutting edge", some testing of a new alloy's properties will be done, but those will likely be the pragmatic real world testing, such as building a prototype and seeing when it breaks, and then staying a safe margin below that point.
Likewise, while knowing Computer Science is helpful to the programmer, it's not what will be used to solve the problem assigned. It is so rare that an actual uncomputable problem would be assigned, that it is never considered if the problem can be solved, except in frustration if having difficulty in finding a solution (and generally the problem is a failure of imagination, or of finding many solutions which are not practical because of the time they take to process -- not really one of computability).
Normally, one looks to existing solutions (programs) to try to borrow as much of the existing solutions as possible. When multiple possible solutions are considered, then a basic analysis of the complexity of each can help the programmer to select the one which is likely to have better performance. But, similiar to engineering, a small scale version of each method may be used to prototype each method instead, to get specific "practical" results for comparison. When the complexity analysis indicates a clear winner, then knowing how to do it can save time and effort. But since complexity analysis may find that several of the solutions have the same general complexity, the programmer may still have to choose from some of the solutions, and so may still have to prototype them, or rely on experience and intuition.
Once the rough solution method is selected, writing the detailed code and then debugging it is tied to the very specific details of the problem involved, and really unrelated to any of the mathematics or science.
Cfteague2 17:39, 24 October 2007 (UTC)
Is "Soft Computing" a major branch of Computer Science?
According to Soft Computing (aka Computational Intelligence), and the various links it contains:
- Soft computing differs from conventional (hard) computing in that, unlike hard computing, it is tolerant of imprecision, uncertainty, partial truth, and approximation. In effect, the role model for soft computing is the human mind. The guiding principle of soft computing is: Exploit the tolerance for imprecision, uncertainty, partial truth, and approximation to achieve tractability, robustness and low solution cost.
- The principal constituents of Soft Computing (SC) are Fuzzy Logic (FL), Neural Computing (NC), Evolutionary Computation (EC) Machine Learning (ML) and Probabilistic Reasoning (PR), with the latter subsuming belief networks, chaos theory and parts of learning theory.(Y.Jin's Soft Computing portal)
- Enclosed in the name computational intelligence is a `message', according to scientific folklore it is chosen to indicate the link to and the difference with artificial intelligence. While some techniques within computational intelligence are often counted as artificial intelligence techniques (e.g. genetic algorithms, or neural networks) there is a clear difference between these techniques and traditional, logic based artificial intelligence techniques. In general, typical artificial intelligence techniques are top-to-bottom where, i.e., the structure of models, solutions, etc. is imposed from above. Computational intelligence techniques are generally bottom-up, where order and structure emerges from an unstructured beginning. (Vrije Universiteit, Amsterdam)
Soft Computing, aka Computational Intelligence, essentially consists of a collection of approaches, such as fuzzy computing, neural computing, and genetic algorithms, whose strength lies in modelling the brain, the mind, or genetic evolution, and whose main domain of application is Artificial Intelligence (AI). It has not been widely accepted as a seperate field from AI, nor should it be. It is at most a subfield of Artificial Intelligence. In my experience, it is a very obscure term, even within AI. I therefore suggest that it be listed as a subfield of AI, and not as a branch of CS.
Palaeovia 16:54, 23 April 2007 (UTC)
- I am proposing to delete Soft Computing from "Fields of computer science", considering its status as a collection of techniques within AI, and its low degree of acceptance as a name for that collection. Please register any protest. Palaeovia 00:19, 30 April 2007 (UTC)
-
- I've deleted "Soft computing" from "Fields of computer science". --Palaeoviatalk 12:54, 16 May 2007 (UTC)
More visual Fields of section
How about using a more visual categorisation system in the Fields of computer science section, this might make the article more appealing to many people. I have made some examples below of how this could look (the Fields of mathematics section from the Mathematics article was used as inspiration). ℚuackor 11:41, 5 May 2007 (UTC)
Mathematical foundations
-
Theory of computation
-
Algorithms and data structures
-
Programming languages and compilers
-
Scientific computing
-
- I am in favor of your proposal, which has generally excellent illustrations. Palaeovia 16:40, 5 May 2007 (UTC)
- If you do, do it at the location of this template.
{{Fields of Computer Science}}
- That way we can perhaps go a little more in depth into the fields and maybe make a more comprehensive and compact list, but I definitely love the pictures.--GlasGhost (talk) 02:42, 30 August 2008 (UTC)
I recently created Category:Computer Science when I was suprised it did not exist. Is there any larger set that Category:Computer Science should be a subset of? Mathiastck 10:09, 24 May 2007 (UTC)
- It's called Computer science, by convention categories are sentence cased. -- Prove It (talk) 12:44, 24 May 2007 (UTC)
- There were several articles in the Computer Science cat. I changed them to Computer science cat and made cat Computer Science a redirect. --agr 01:05, 25 May 2007 (UTC)
Professors at university have decomposed Computer Science into various mathematical topics. It is not like people who get paid to write programs, design databases, and architect web sites have need of mathematics, as practiced by mathematicians, in order to do their work. The big problem today, for people who are employed to put computers to profitable use, is keeping up with the fad du jour. You dare not try to enroll at university to learn about the fad du jour. FDJ is so laden with the stench of commerce that one is directed elsewhere -- an elsewhere where standards of the university are not upheld. To me, the term Computer Science refers to knowledge about the hows and whys of computing from the perspective of mathematicians, who would never stoop to write commercial software. Perhaps an overly broad indictment. Surely some good is accomplished teaching undergraduates about the FOR loop. But, there it is.--72.75.97.37 00:39, 9 September 2007 (UTC)
ACM Classification
Why does the article mention the ACM classification only to ignore it? If you are ignoring a reliable source, isn't that original research? What especially bothers me is that sexy topics like "artificial life" get moved up in the hierarchy. This is an encyclopedia, not a Discovery (magazine) article. Just because something is interesting doesn't mean it's important. ---- CharlesGillingham 17:47, 12 October 2007 (UTC)
differences regarding Ada
I'm not quite sure Ada participated on the development or fabrication of the difference engine. Instead, she corresponded with Babbage regarding his second, larger invention, the analytical engine... —Preceding unsigned comment added by Nwerneck (talk • contribs) 16:10, 4 November 2007 (UTC)
Removing "Data structures" from topic list
IMHO, Research and study on "Data structures" is not a distinct field from Algorithms. Additionally, the article on Data structures does not look as an introduction to a field of Computer Science, it just describes what a data structure is (confirming my idea).
IMHO, even Algorithms and Analysis of Algorithms should be replaced by a single item, but I've not performed the operation, waiting for more input.
So I've removed Data structures from the listing, in this diff: [1] --Blaisorblade (talk) 16:12, 16 June 2008 (UTC)
I wonder if Sociology of the Internet article should be categorized under computer sciences? --Piotr Konieczny aka Prokonsul Piotrus| talk 17:49, 8 July 2008 (UTC)
Where does security fit in?
I've been working on pages related to security, such as Intrusion detection, Intrusion detection systems, Misuse Detection, and Anomaly detection, and have been putting these into the Computer science category. However, someone has complained that this category is too broad and has suggested Data mining and Data security as categories. I'm not sure that I agree with his suggestion. I have looked at the fields of Computer science on this page and security seems to fit all of them and none of them. For example, security involves math, theory, algorithms, data structures, programming languages, compilers, and on down the list. Security professionals and researchers have to know something about all of these areas. However, security is not limited to math, theory, algorithms, etc. If I were to give a name to the field, I would probably call it Information security instead of Data security. Either that, or I would just keep calling it Computer science because security involves all of Computer science. I was wondering if anyone else had an opinion on this. --Clangin (talk) 22:53, 13 July 2008 (UTC)
Fields of computer science
Since someone converted our existing "fields of computer science" section into a navbox, I've taken this opportunity to put the more visual "fields" section suggested above by Quackor into the article. Following the style of the Mathematics article, I've added some introductory text to the section, but we could still use some more explanatory text in each subsection (as well as the addition of some more subsections to cover the areas not yet mentioned). --Allan McInnes (talk) 23:04, 31 August 2008 (UTC)
- I should probably note here that the present nomenclature of the fields/areas follows the CSAB description cited in the article. An alternative would be to use the Computing Curricula 2001 topic breakdown, which has the advantage of providing much more detail (see page 177 of the CC2001 report). The broad areas identified by both are roughly the same, although there are some slight differences in the nomenclature and in how things might get grouped. --Allan McInnes (talk) 23:17, 31 August 2008 (UTC)
Lead sentence
An anon user keeps removing the word "theoretical" from the lead sentence. While I'm not particularly wed to that word myself, the lead took a looooong time to hash out (Don't believe me? Look back through the archives), and it'd be better to propose any changes to the lead here first so that they can be discussed by any interested parties. Normally I wouldn't worry so much about a single word, but...well...take a look through archives yourself.
As an aside, if you make an edit with the comment "revert, see talk page", it's helpful to actually say something on the talk page as well.
--Allan McInnes (talk) 05:45, 24 December 2008 (UTC)
-
- It's not just theoretical though. Its concepts of the storage of information have been proven. While it does encomass the theoretical field, it is not bound to it. 75.62.37.143 (talk) 19:15, 24 December 2008 (UTC)
-
-
- Yes. That is why the lead sentence also includes the phrase "...and their implementation and application in computer systems". --Allan McInnes (talk) 10:53, 25 December 2008 (UTC)
- It should just be left as is. The other way implies its only theoretical, even if you add that fragment at the end. I vote we remove 'theoretical.' 76.20.25.186 (talk) 02:43, 26 December 2008 (UTC)
-
-
-
-
- Leaving it "as is" would mean leaving the word "theoretical" in place, since that was the consensus version of the lead (which, as I've pointed out several times, took a long time to get to). I encourage you to look back through the archives of this talk page (in particular Archive 5) to see how we ended up with the current definition. I'd also ask you to please not remove the word "theoretical" from the lead sentence until other editors have had a chance to comment here. Thanks! --Allan McInnes (talk) 08:43, 26 December 2008 (UTC)
- I think 75.62.37.143 misinterprets the meaning of the current lead. If we add some extra parentheses for clarity it would read: "..is the study of (the theoretical foundations of information and computation) and (their implementation and application in computer systems)." So it would already include both theory and practice. Cheers, —Ruud 11:43, 26 December 2008 (UTC)
-
- I would like it to be more obvious that it doesn't just study the theoretical foundations information, but their actual foundation, and not just in computers! —Preceding unsigned comment added by 76.20.25.186 (talk) 07:29, 30 December 2008 (UTC)
- I don't think I fully understand you, what is the difference between theoretical and actual foundations? —Ruud 22:05, 31 December 2008 (UTC)
- There isn't one -- thus, remove theoretical. —Preceding unsigned comment added by 76.20.25.186 (talk) 23:57, 31 December 2008 (UTC)
-
-
-
-
-
- If, in your opinion, there is no difference between "theoretical" and "actual" foundations, then I'm afraid I can't see why you are insisting on removing the word "theoretical" from the lead. Given what you've said above, the phrases "the study of the foundations of information and computation" and "the study of the theoretical foundations of information and computation" mean the same thing. If you have looked back through the archives of previous debate over the lead, as I previously encouraged you to do, you will have seen that the word "theoretical" was included because several editors felt that it was important to make it clear that computer science includes theory as well as practice. Since inclusion of the word "theoretical" both satisfies those other editors and (based on your comments above) makes no difference to the meaning of the sentence, why remove it? --Allan McInnes (talk) 09:43, 1 January 2009 (UTC)
-
- I want it clearer that it includes theoretical AND practical... how about this? 76.20.25.186 (talk) 10:07, 1 January 2009 (UTC)
-
-
-
-
-
-
-
-
- I fail to see how removing the word "theoretical" makes it clearer that computer science includes a theoretical component. As Ruud pointed out above, the existing sentence explicitly mentions both the theoretical and practical components of computer science (indeed, it was specifically constructed to do so). What about it (aside from the presence of the word "theoretical") are you not happy with? --Allan McInnes (talk) 11:03, 1 January 2009 (UTC)
-
-
-
-
-
-
-
-
- Also, can you please stop modifying the article before we've managed to reach some kind of consensus here. If you have some alternative version of the lead sentence, it'd be helpful for you propose it here on the talk page first. Thanks. --Allan McInnes (talk) 11:03, 1 January 2009 (UTC)
Dear anonymous editor, as I've mentioned several times now, the current lead sentence was arrived at through a rather long process of consensus-building among a number of editors. Please understand that this makes us hesitant to alter the lead sentence without careful consideration. I think that Ruud and I have made it clear that simple deletion of the word "theoretical" is not going to fly, given the arguments you have advanced so far. Nor do I consider a parenthetical phrase, as you inserted into the article earlier, to be good style within a lead sentence. If you have other suggestions for how we might address your objections to the current lead sentence, I'd be happy to discuss them here. --Allan McInnes (talk) 11:53, 1 January 2009 (UTC)
- I want the word theoretical removed. However you'd like to do this is fine. —Preceding unsigned comment added by 75.5.248.69 (talk) 20:10, 2 January 2009 (UTC)
-
- As I've already stated, I don't see removing the word "theoretical" as being acceptable. It was specifically included in the lead, for reasons that are made clear in the archived discussions about the lead sentence. Would you care to suggest some other options for revising the lead sentence? --Allan McInnes (talk) 04:15, 3 January 2009 (UTC)
- I've proposed two suggestions, both denied by you. Please try one yourself, or allow my edits through. 75.5.248.69 (talk) 07:23, 3 January 2009 (UTC)
-
-
-
- Well, it's difficult to know what to suggest, since your stated desire is simply to remove the word "theoretical". Assuming that you're willing to move beyond that towards something that's more of a compromise, let's start with the current lead:
-
-
-
-
- Computer science (or computing science) is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
-
-
-
- I suppose there's a case to be made that the sentence isn't sufficiently clear, since you are apparently able to read it in a way that implies only the theoretical aspect of CS. Would the following be any more acceptable?
-
-
-
-
- Computer science (or computing science) is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems.
-
-
-
- Ruud, do you have any comments? --Allan McInnes (talk) 08:18, 3 January 2009 (UTC)
-
-
-
-
- I like your second sentence. Although I also somewhat agree that talking about "theoretical foundations" and "practical techniques" would be like talking about "round circles". —Ruud 17:54, 3 January 2009 (UTC)
-
-
-
- Also, I'd like to again reiterate my request for you to not modify the lead sentence until we've reached an agreement here on the talk page. What you are currently doing is a form of edit warring, which can eventually lead to the imposition of editing bans. --Allan McInnes (talk) 08:18, 3 January 2009 (UTC)
- You are doing the same thing, are you not editing too? That point aside, you've yet to come up with any changes, while I have proposed some. Please show some iniative of your own. After all, this isn't a 1-person encyclopedia. :P 75.5.248.69 (talk) 04:10, 4 January 2009 (UTC)
-
-
-
-
-
- I have previously (as my edit comments have stated) reverted the article to the last consensus lead sentence in response to your continual attempts to modify the lead despite my repeated requests that you not do so until we'd reached some kind of agreement here on the talk page. Furthermore, had you bothered to look at the recent edit history of the article you'd find that I've even stopped making those reversions, because I have no desire to partake in a protracted edit war.
- As for your other point, I have so far proposed two courses of action:
- Leave the lead sentence as is (I understand that you object to this course action, but then I object to your removal of the word "theoretical")
- Modify the sentence as proposed above to provide greater emphasis on the practical aspects of computer science (this proposal was made here on the talk page, rather than in the article itself, since that's usually a better place to hammer out issues like this)
- I'd appreciate it if you could respond to the proposal I've made above, instead of continuing to modify the article before we've reached a consensus. --Allan McInnes (talk) 05:05, 4 January 2009 (UTC)
- I have no objection to point #2, I would just like some help coming up with it from you. You've denied all my suggestions, so please try it yourself. 75.5.248.69 (talk) 05:31, 4 January 2009 (UTC)
- I'm sorry, perhaps you missed it. I have already (08:18, 3 January 2009 (UTC)) proposed a new lead sentence that attempts to place greater emphasis on the practical aspects of CS. You can find my proposal by looking a little higher up the talk page (just above this subthread). Ruud has already given it his ok. We are waiting to hear your take on it. --Allan McInnes (talk) 10:37, 4 January 2009 (UTC)
-
- If you absolutely can't stand its current structure, I suppose option #2 would be better. 75.5.248.69 (talk) 17:22, 4 January 2009 (UTC)
- Thank you. I will modify the lead accordingly. --Allan McInnes (talk) 21:07, 4 January 2009 (UTC)
- Thanks. 75.5.248.69 (talk) 22:51, 4 January 2009 (UTC)
|