This page is an archive of past discussions. 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. |
I replaced this paragraph from the section entitled "Debate over name", and renamed that section. It is not clear from the (uncited) paragraph what this "debate" is, who debates it, or its importance. Surely if this is a real "debate" then there would be some papers or letters or something in which practitioners take sides:
What's more, this para treats "software engineering" as an alternate name for computer science. This is not a usage I'm familiar with. As described in the software engineering article, software engineering is an attempt to apply engineering methodology to software production -- the managing and work of programming. It is not the same as computer science.
I've replaced this para with one that does not pretend to describe a "debate" but rather simply the perceived inaccuracy of the name "computer science". If anyone has any sources for particular positions people have taken on names for the discipline, feel free to reintroduce the "debate" meme. -- FOo 05:15, 7 Mar 2005 (UTC)
In the Data and information systems section there is a reference to Coding Theory and Information Theory. However, someone linked Coding Theory to the Computer Programming page, which has nothing whatsoever to do with Coding Theory. This should probably be fixed...
hey, guys: New template: comp-sci-stub . thank you ABCD Use appropriately. I was horrified with the use of computer-stub. Thanks.
Computer Science for lyfe! :D
Project2501a 19:37, 8 May 2005 (UTC)
a picture of TAOCP is not an adequate symbol for computer science; you wouldn't show a picture of a biology book when describing biology
Somebody get me a pic of a coke bottle and a pic of a young geek reading slashdot and looking at porn ^_^
or we need a pic of um a long-bearded, long-hair older man screaming his windows box :D
in all seriousness, i'd like to point that i created [[Category:Wikipedian computer scientists]] go register ^_^
Project2501a 22:05, 13 Jun 2005 (UTC)
I want to raise this question in the context of WKP categories such as Category:German computer scientists. Someone just added Konrad Zuse to that category. However, Zuse was educated as a civil engineer, but later went on to construct several pioneering electro-mechanical computers, of which his Z3 is arguably the first actual computer in the modern sense (no holy wars, please---this is a controversial subject, to say the least...).
In light of the above, my question is this: should categories of computer scientists also include self-taught pioneers like Zuse and others of his generation, or should we include only people educated as computer scientists as such? I acknowledge, of course, the groundbreaking efforts many of those engineers and scientists did for computer science and, perhaps even more to the point, c. engineering. -- Wernher 19:43, 6 August 2005 (UTC)
A computer scientist is a scientist that computes. Okay, that is blunt. However, I've seen two realms of computer scientists, and that is the academic follower and those that make computer science a religion (to say the extreme). Those that follow academia are just after the degree and only just study the field to achieve such degree. Those that go beyond study alone apply and live by the bounds of computer science. Anotherwords, evolution and creationism have been analogous to opposite forces of science and religion, but computer science can work with either if it logically computes. My opinion is the with the recent growth of intelligent design and the hype that there is nothing that competes is wrong hype -- as there is computer science. Computer scientist would claim God is a hacker and the human body is a machine, while intelligent design would claim that somebody intelligent like God must have designed the human body. Anyways, those are just some poinst of extreme to compare (or compute) the differences. --- Mr. Ballard 18:14, 3 September 2005 (UTC)
This paragraph defines "computing" rather than "computer science". Unless there is a really good reason, this definition should be moved to the computing page.
I think that N. Chomsky should also be included in the list of pioneers in Computer Science. Almost in every introduction book to CS theory, you can see his "Chomsky Hierarchy"...
The page list of academic disciplines has a nice list, which is the following:
Computer science
* Algorithms * Artificial intelligence * Computer security * Computing * Complexity theory * Cryptography * Distributed systems * Hardware * Programming (see List of programming languages) * Formal methods * Information systems * Robotics * Software engineering
See also: ACM Computing Classification System
I think we could build upon this list to improve the "field of computer science", adding (many) details. IMHO, the current list is scruffy, mixing High-level fields with minor fields, without any hierarchy... -- Powo 20:57, 23 November 2005 (UTC)
I've made a new article for this subject -- Definition of computer science -- enjoy Sbwoodside 08:58, 15 November 2005 (UTC)
A posteriori, it seems to me that a central point of the discussion herunder is to question if a scientific use of a computer is to be considered as part of CS. C.f. hereunder for details. -- Powo 22:31, 30 November 2005 (UTC)
Dear all,
in the first paragraph, the following sentence can be found:
"By definition, computer science is the accumulated knowledge through scientific methodology by computation or by the use of the computer."
I strongly disagree with this sentence, so I removed it but it was reintroduced later by another user. I will remove it once more, but this time please let me explain why I disagree.
"accumulated knowledge through scientific methodology by computation" is not sufficient for being computer science. Accumulated knowledge through scientific computation is an empirical approach amongst others. There are basically three ways of doing such accumulation of knowledge:
- Experiment "in vivo", - Experiment "in vitro", and a (new) type of experiments - Experiment "in computers" (simulations), or "in silicone" as I have heard it named...
Therefore if accumulated "knowledge through scientific methodology by computation" is obtained on say: some physical phenomenon, biological phenomenon, chemical phenomenon, etc..., Then this is physics, biology, or chemistry respectively, but NOT computer science.
Please remember the citing of Dijkstra: Computer science is no more about computers than astronomy is about telescopes.
To illustrate what I mean, and poorly copying Dijkstra, I would say:
Computer science is no more about "Accumulated knowledge through scientific computation"
than biology is about test tubes...
The use of a computer to gather scientific results those not mean you are doing computer science!!! If you "accumulate knowledge through scientific computation" AND if this knowledge is related to computer science (e.g. experimentally testing the complexity of an algorithm), then THIS is computer science. Note that computer science doese not necessarily imply the use of a computer (e.g. theoretical computer science usually favors a mathematico-deductive approach to an "in silicone" empirical approach to computer science).
I lost track of all the handwaving here, but suffice it to say that the "by definition" definition is totally bogus. The etymology is irrelevant to current meaning (as are most etymologies), and a formal definition more elaborate than "scientific study of computation" is almost certainly going to run afoul of real-life exceptions. If anyone just can't stand not having more detail than the simple phrase, then add some quotes from famous introductory CS textbooks. Stan 03:11, 16 October 2005 (UTC)
Here is the text cut from an earlier revision. It helps explain the roots of the definition. The sentence below as it existed in the article was split appart in attempt to put the details further in the article. ---- Mr. Ballard 14:17, 14 October 2005 (UTC)
This is where we are at: Powo and Mpeisenbr state Computer Science is defined as "the study of computation." I provided sources, and I even further provided root terminology of the words. I haven't seen any source that defines computer science as such. I google'd it and actually the closest I've seen is a included study of the limits of computation, but not that alone. Lets put this another way, if one studies computation, one actually studies a process where input on a set of instructions produce an output, or at least that is one way to describe a way to study computation among many. That just kind-of included everything and nothing is particular. With that "study of computation," the argument emphasizes on what constitutes the instructor. The question arises of what kind of instructions are given and in what form are they. Further questions arise if the instructions where heuristic, genetic, algorithmic, natural, or phenomenal. Even if the input is known and well understood, the question arises of what is to be done with the output. If one studies computation just to see if a given input produces an output, that doesn't define computer science especially when all these other questions arise. A computer scientist does study the limits of computation. Anotherwords, a computer scientist wants to produce a well-formed computation. Yes, one must study computations in order to "compute" computations. Usually, an algorithm is written to express the computation. That would mean a computer scientist must also learn how to produce algorithms and not just study them. The means to produce such algorithms involves a practice. That practice goes well beyond experimentation and study. When one plays a musical instrument at a live concert, they aren't only there to just study musical talent, as they got to perform.
Powo, that kind of performance issue is what lacks in your points, or you haven't acknowledged it or even experienced it. I'm surprised you listed one reference above with a citation from the web about computer science, and you want to also agree to an incongruent definition like "the study of computation."
When you emphasized computer science with the focus on science, that is were I finally saw you take a step in the right direction about what computer science is about. Computer science is knowledge, yet what constitutes that knowledge can be governed by a computation. This computation simply tells us if the knowledge is in the realm of "computer science" or not. This computation is a proposition. If we say the proposition is "the study of computation," then what knowledge would hold true under that is was by a study of computation. Does that computation include any system of facts or does it base its output on theories? If the computation is based only on facts we could justify it as a pure solid science. If the computation includes any theory, it wouldn't be pure and be just a study of theory. There is nothing to the phrase "the study of computation" that justifies what makes the computation and thus what would be computer science. Do you follow this kind of propositional process? Anotherwords, does the involvement of a genetic instruction concern the computer scientists? Does the involvement of heuristic instructions concern the computer scientists? Does the involvement of phenomenal instructions concern the computer scientists? Actually, that last one would probably concern more than just the computer scientists! The computer scientists doesn't live by algorithmic instruction sets alone. To get back to a the knowledge governed by a computation, we could express such an algorithmic instruction in english. We want to define computer science, right? That definition of computer science qualifies as an algorithm. What set of instructions do you propose would define computer science, Powo? ---- Mr. Ballard 18:44, 7 November 2005 (UTC)
Computer science, as the term is used in English, is the study of computation and the surrounding subjects -- things like data organization and retrieval; algorithms; programming language and operating system design; and so forth. But the term usually isn't used to include (say) electronic engineering, or computer applications training (how to use Word), or how to manage programmers.
Computer science includes work done in both academia and industry. Academic CS would imperil itself if it ignored the work of industrial researchers -- like IBM's Ted Codd, who invented relational database theory. Luckily, academics don't neglect industry, and today many of the problems worked on in academia and industry are very similar: such as large parallel systems (clusters; grids; whatever you like to call them).
Nonetheless, it is an error to say or to imply that any "body of knowledge" having to do with computers is thereby computer science. The field has its limits. I for one would place modern HCI outside of computer science -- industrial HCI these days is no longer limited by the computer side of the equation, but rather by the human side -- that is, by programmers' and engineers' (lack of) knowledge of human factors. -- FOo 06:58, 9 November 2005 (UTC)
I do not disagree that the study of computation is excluded. The study of computation, however, exists as a higher-level area within computer science. The study of computation doesn't define computer science, alone.
I've noticed you stated, "limited by the computer side of the equation, but rather by the human side." Does this mean you believe computers and humans are different like a thing and a person? Do realize that "computer" was the formal name given to a person that computed as a job, as a computer is simply "one that computes." It wasn't even a thing until more recent era. In this high-tech era, a computer more is more found as an electronic device in common sense. Consider these facts, and you'll notice that "computer science" changed by high-tech influences, but that doesn't mean its knowledge has to exclude the everything at the time it was founded before high-tech electronic devices were involved. Is it a science, yes. In fact, some colleges and universities have computer science under the department of Science (or "Letters & Science"). Others have it under Mathematics, Information Technology, or Engineering. Some have it under two or more. It is a science made by a computer. I'm sure we don't want to be consider a machine, so the difference between computers and humans is stronger today. If you look at the expression "computer science" and think of that computer as a person instead of a machine, it'll help understand the roots of the "body of knowledge." Today's computer scientists luckily do not have to tediously act like a computer as those did in the past. ---- Mr. Ballard 15:27, 9 November 2005 (UTC)
Here are a few as requested. - Mr. B
Do you need more?
I've noticed a lot of sources use a timeline of computing of late BC. Those timelines generally follow those that used numerical methods. It is of interest to me why those timelines don't show other non-numerical devices, like the great pyramids which had devices to compare (compute) locations of stars and planets. ---- Mr. Ballard 23:54, 9 November 2005 (UTC)
A posteriori remark: The term "non-standard" definition hereabove refers to the following definition: The accumulated knowledge through scientific methodology by computation or by the use of the computer
Dear Mr. Ballard, Your definition is a minority definition (yours only, since you still have no reference of anybody using computer science with your meaning), I think you agree with that. Summarizing your point of view, you say computer science is science done through the use of a computer, where a computer has to be understood in its archaic sense, and that it is a very old science (archaic computers existed long before electronics). In this sense, your definition of computer science is an etymological definition. (Although the standard etymological definition is the science of computers). I understand your definition. However, I think your definition does not belong in Wikipedia, let me tell you why:
Because of what I have just said, your definition doese not belong (yet) to an Encyclopedia. From what I understand of Wikipedia, my previous statement implies your definition does not belong (yet) in Wikipedia. Btw, gentlemen, let's stay cool about all this: no toilet paper, fingers and black holes ;) -- Powo 09:13, 11 November 2005 (UTC)
About the contradiction thing, I agreed with Dijkstra that it wasn't about computers as in his quote. Instead, computers still are significant to determine the constitution of the science.
You've noticed the humor and questioned my seriousness. I knew one wouldn't take it too seriously, but this is real. Without the need to remorse on questionable seriousness, let this discussion lighten a bit.
I read some articles to try to grasp your point of view more. I read the ones which express computer science isn't a science. Perhaps, it'll help to relate our arguments easier. One thing I've noticed in such "not science" arguments is that they only limit their subjects to high-level practices instead of lower-level tangents to physics. It is those lower-level pieces that allow the higher-level to exist. When people walk up to a computer, they see the higher-level machine. They have no clue what happens at the low-level. Much hard work has been done to automate the computations and the physics. We don't use big clanky steam powered machinery, anymore, for our day to day web browser! It's like something magical to non computer users.
Non computer users tend to seperate realty between what a computer is and not. A non computer user would never allow themselves to be considered a computer. The computer today, however, was very much intended to replace the computer, which was human, of yesterday.
The whole process to replace the (human) computer (or to automate computations) into machinery started computer science. It's not about the computer. It's about what can be done to replace the computer. Although mathematics was used heavily, artificial intelligence was more significant in computer science. Those that argue computation (mathematically) is what computer science is about also tend to argue that the science started well before physics. Since computers performed many physics based calculations, I doubt that is true. We could argue that artificial intelligence started way before computer science, but it couldn't be scientifically prooven until the tangents between physics and computer science existed, which they do now. Those tangents are the foundations of computer science.
One earlier psuedo artificial intelligence shown was the abacus. It wasn't a computer. It was a state machine, memory. People had to physically move the beads into their positional states. It served as a memory device to allow one perform other calculations. Pencils and pens are much more abundant now, we don't need the abacus anymore. It wasn't much of artificial intelligence because the abacus didn't think for itself. The abacus had a computer to think, and the abacus was the the computer's memory. It was a physical device which science can proove works.
My fascination is with cybernetic biotechnology. Computer science really doesn't exist yet until we have fully proven computers (the non human kind) can think for themselves. Until then, we have cybernetic biotechnology. Until then, we still have human computers because to compute means to think, and yesterday's machinery still hasn't thought by itself. We do have solid foundations of computer science, fortunately. ---- Mr. Ballard 00:34, 14 November 2005 (UTC)
I just did a bit of a cleanup edit, mainly affecting the summary which was really terrible (sorry...). Some quick notes:
Sbwoodside 08:56, 15 November 2005 (UTC)
Sbwoodside, I'm glad you tried to do this layout. We should merge the defintions back into the article.
I thought about how we could smoothly gather the different view points without worry. I remember that I read computer science was originally based on principles rather than a discipline. The discipline began later within academia. Perhaps to point out the principles and the transition to the discipline is easier than a definition in opener. One of the easiest principles to pick out is to automate computation. ---- Mr. Ballard 15:19, 15 November 2005 (UTC)
Not really an improvement in my opinion either. You say CS is mainly concerned in the development of software, I am of the opinion that software development is neither computer science, nor science at all. Gee, development of software is (computer) science? Like developing a... word processor??? No way! You say computer data structure is one of the two main areas of CS? In the university I am in, I can only think of one course on data strcture. (Whereas I agree there are at least...hum 1,2,3,4...5 course on algorithmics I can think of straight away...). What do you mean, is it one of the areas where the biggset achievements have been made, one of the most active research areas? Maybe you are right, but I did not have this impression...-- Powo 19:47, 15 November 2005 (UTC)
There are two sides to software that would fit science and non-science. Most of the higher-level software hides all the tangible physics of what software accomplishes in its operations. Beyond that it becomes math, database theory, cognitive theory, art, protocols, etc. ---- Mr. Ballard 23:09, 15 November 2005 (UTC)
OK, so let's see if we can agree on any of the following (some third party, some mine) statements at all. I'll break them down into small bits that we can individually analyse.
1. Computer science is "the branch of engineering science that studies (with the aid of computers) computable processes and structures" ( WordNet)
2. Computer science is "the study of computers, including their design (architecture) and their uses for computations, data processing, and systems control. The field of computer science includes engineering activities such as the design of computers and of the hardware and software that make up computer systems. It also encompasses theoretical, mathematical activities, such as the…" ( britannica)
3. General issues:
If can at least come to a consensus on the talk page then perhaps we can stymie the endless edit wars in the article itself and get a real article written. Sbwoodside 00:30, 16 November 2005 (UTC)
User:Jhballard why did you want to avoid a definition in the summary? Have a look at WP:LEAD - "the perfect article: Begins with a definition or clear description of the subject at hand. This is made as absolutely clear to the nonspecialist as the subject matter itself will allow." Sbwoodside 00:43, 16 November 2005 (UTC)
History_of_science#Emerging_disciplines has a definition of computer science as well. Sbwoodside 06:33, 17 November 2005 (UTC)
Looks like somebody needs to look up what the word "transpire" means. It means "breathe", with the metaphorical meaning of "to whisper a secret" or "to let the true story come out". It doesn't mean to begin or to be founded upon somethng, and it wasn't even minimally appropriate in the way that it was being used in the intro. Reverted. -- FOo 06:44, 17 November 2005 (UTC)
YA new summary then. I've tried to merge the positive points of the long-standing old summary [2] with the summary that was just reverted by Fubar Obfusco because of the incorrect (I agree) use of the word transpire, and with my own previous addition of the word "theoretical"... to distinguish between hardware and software, which are arguably (and I think) practical concerns, and the theoretical part of CS, which is huge of course, which may not actually get into implementation as a major concern. Sbwoodside 07:25, 17 November 2005 (UTC)
It seems to me the current definition is too much of the type: there is "software, hardware, the rest is theory". Software engineering is not part of computer science, but part of computer engineering. The big bag called "theory" in the current definition is in fact CS. Algorithmics, for example, is not theory: its the heart of CS. Computer Scientists have a very precise definition of what theoretical Computer Science is, probably its kernel is algorithmic complexity. Broadly speaking, Computer Science is the science that studies computation. "Computation" is a word which had fallen out of use, and it was revivified to describe the new discipline that emerged since mid XX century, a new discipline that did not exist before. Please forget any definition ment to include archaic definition of computers. BTW numerical analysis is not part of CS, its part of maths. Please do realise that CS and computer engineering are not the same, although they are siamese-sisters, sometimes called CS&E. When people talk of CS as an engineering science, they are talking of CS&E, which is allright, but we should know what we do... Also, some huge confusion comes from the fact that Computer Science (a concept, thus the capital letters) can not be understood by looking at the definition of both words, and that people abusively use "computer science" to talk of anything related to (modern,digital) computers. Computer Science is a science, thus computer scientists are scientist: they do research, publish papers, contribute to science, etc... The rest is not computer science. Most people who where trained as computer scientists do not work as computer scientists, because as in every science, a drastic selection is made at each step. The confusion comes from the fact that CS is so closely related to computer technology, abusively called computer science. CS is what is being tought in CS departements of universities. Since there is all this confusion, we could include it in a NPOV spirit, but the fundamental definition should be clear, simple, and broad: CS is the science that studies computation.-- Powo 22:18, 17 November 2005 (UTC)
To end this section about "transpired," yes it doesn't have a single definition. It does have a definition that works very well, but as we see that is disagreement about it's use. I could have replaced "transpired" with "became known," and leave out the ambiguosity. It is a good example show a kind-of logic antonym to use against the word "study" or "discipline." Anotherwords, Computer science doesn't have a single definition, like to study computation. A body of knowledge is knowledge, not a discipline. The discipline is a tool. The expression "Computer Science" has become the formal title of the academic discipline since it represents the body of knowledge as its principle to exist. That is simple. Others here make it seem so hard to understand the difference between a title of a discipline and the meaning of the expression to be a body of knowledge.
I'm gald there is progress here to understand what we all want. There is almost no revert war (like the ones that happen more then once a day). At least we try to improve others work instead of complete revert. Do recognize this as progress. However, to call each other amatuers is or other names is immature. It's only intention is obviously the same as pychopathic bullies. Settle down I say to those that know what that meant.
As proven there computer science translates to information technology or such in other languages, we will continue to see arguements from all sides of what computer science really is about. I'll still stand that the definition I added is works well, but it is obviously to simple for other to understand. It is obviously a definition that I mistakenly added that only logical computer scientists can agree to its point. It's in the same position when I or other really good programmers run into when they write code, the code is easily understood by other really good programmers, but others want a translation, like code comments. Like I said many times, I compiled it from diverse sources. I found none that purely agreed with one another.
Powo, I'm glad that you pointed out you think there are only two extremes to only explain computer science, academics and popular contexts. There are more. The discipline isn't all in academia, as there are the technocratic institutions. That isn't to imply technocracy doesn't involve academics in function, but there are systems to use the body of knowledge of computer science without the help of academic institutions or outside of what would be the academic realm. Becuase of that, I'm against to make the article not include anything that isn't specifically of academia. ---- Mr. Ballard 15:14, 18 November 2005 (UTC)
Sure, CS is so closely related to technology and engineering, the boundary often so blurry, it is sensible to let this be refelected in the article. Still we need a mainline to follow, and I vote for the academic/scientific line.-- Powo 18:06, 18 November 2005 (UTC)
I'm comfortable with saying that CS is an academic discipline. I think that most practising "computer scientists" would be engaged in academic work or in serious commercial research (like with "scientist" in the title). Sbwoodside 02:47, 24 November 2005 (UTC)
My bad, it appears that History of computing isn't about computer science at all, but more like the history of bean counting and calculating the values of functions. There is not in fact any History of computer science article at all that I can find. History of computer science could either be covered here or in a new article. Sbwoodside 06:31, 17 November 2005 (UTC)
A posteriori, it seems to me the discussion has taken a new turn from this point. A definition was introduced which could be summarized as implying that a computation is a physical phenomena, and that CS therefore is a study of the physical world. C.f. herunder for details. -- Powo 22:31, 30 November 2005 (UTC)
I've consulted more sources beyond dictionary (or encyclopedic) entries to find a more complete definition of computer science. Currently a few wikipedians agree to a definition:
That only seems to cover a popular subset of computer science, and I hate to see the definition fall short. I don't intend to remove the popular course, but I want to nail this down more. I know that "deals with all areas of computation" doesn't quite cover it since a computation, its mechanical structure, is the result of the research. I know what its intention is meant to cover, but we can improve it. Computer Science is science that also ecompasses the popularity of the engineers work. That popularity is the obvious confusion and is not a means to make the article emphasize only those aspects. The article should point out the difference between computer scientist and computer science engineers. We can still do this with an academic emphasis.
I like to point out some things to consider. Computation is commonly performed by algorithmic tasks, and definition of algorithm has heavily influenced the definition of computation, unfortunately. Also, computation is very similar to the word computer since they both start with "comput-". These are obscurities. Some have used the word automaton instead of the word computation. The word automaton isn't definined like computation but follows the same principles. The word is useful to avoid obscurities.
Here is one proposal for the opener:
I like to add a little more, but that expands the opener a bit. — Dzonatas 15:41, 25 November 2005 (UTC)
---
Not bad! But what do you mean by based on the mechanization of computation? This is obscure to me...-- Powo 16:18, 25 November 2005 (UTC)
Although you didn't give a reason why you thought it is obscure, we should expand on it since mechanization has an unintended influence on the word. — Dzonatas 20:33, 25 November 2005 (UTC)
It seems to me the word computation already implicitely refers to CS. The reason (this should be checked) is that the word computation had fallen in desuetude, and was revified with the emergence of CS. I like the definition of stan: the study of computation, it is broad yet specific to CS. Perfect fo the intro... I think there is a concensus in the comunitiy about this type of definition. E.g. "procedural epistemology" was proposed. Is this not (although more esotheric) very close to "the study of computation"? It seems to me "computation", "procedural", "mechanical" or "causal", etc... are all almost synonyms in the constext of CS. However, "mechanical" is clearly not standard terminology, so I would porefer a definition based on procedure or, even better, computations: a word which was invented (more precisely, taken out of desuetude) just for CS!-- Powo 09:09, 26 November 2005 (UTC)
"Computation", "mechanical", and "effective" have stated synonym attributes only if one reads about CS in depth, but we still have to aim for the audience that never has read about CS. We can't assume that the readers know that the words in use are only for the context of CS or any particular article. We can, however, use such words in such a way if they are stated in the article to be used in such a way. I want to expand "purely mechanical process" a bit to make it less ambiguous on "mechanical." There seems to be heavy debate in past published papers on just what the universal machine can do, and it all relates as if to question the domain of the physical world or beyond. Certainly, the description of the universal machine allowed an assumption of metaphysics, but the debate (e.g. Church and Gandy) clearly states it works only by "effectively calculable" means. Therefore, if we add something like "based on the science of computability (i.e. "what can be computed," "how can it be computed," or "that which is computed") by purely physical forces and bodies" would make it more clear. — Dzonatas 14:28, 26 November 2005 (UTC)
Only the lead paragraphs need to be brief, but the first line doesn't need to be so succinct. The first line needs to be clear description. For example, look at peer review:
That is even more than:
There is already a page for computation. If one wants to study computation, then read about computation. There are several books about computation that are not related to Computer Science. — Dzonatas 18:13, 26 November 2005 (UTC)
"One article is about the thing itself, the other article is about the human activity of thinking about the thing." -- Oh, so computing is about thinking and you think that CS is about thinking about "thinking?" That's bizarre. Try the cognitive sciences for that.
Stan, you may be able to program, but I believe you don't really understand what you program at the very low-level. There is that point where all operations done by a computer require some sort of physical activity and interaction with the real world, and that activity and the ability to make the physical world compute what we want is what Computer Science is all about. You, however, think it is only about computing or computation, and you've shown it is nothing about the physical world. Do realize that "computing without the physical world" is not Computer Science. — Dzonatas 00:05, 27 November 2005 (UTC)
It is written about several times through the Church-Turing thesis, its peer reviews, and its derived works. It's clear the intention was to bind the limits of computability to just the physical domain. The thesis states the universal machine can compute anything, and it further limits its computations to purely mechanical descriptions. I find this very simple, and I have known it for more than 20 years, also. Their was already a system to compute anything that existed before any notion of Computer Science. If you remove the physical limits of Computer Science, you remove the science, and you have then the point you have tried to make.
One thing you'll find of interest is a point made by the Turing test, and recent articles have not emphasized the point as when I learned about the Turing test 20+ years ago. It had a different perspective then. The point was not if the computer could emulate human like conversation, but the point was, given the technology then, could someone tell the difference between the electronic computer and a human being under a viel. The viel, given the technology then, was simply what was available -- three terminals where the "judge," the "computer," and the "human" could not see or hear each other and were limited to just the screen conversation. That was very possible scenerio centuries ago. Turing didn't seem to state some future possibility of a "holodeck," like in Star Trek, and the "judge" could personally see, hear, touch, talk, or smell and the "human" and the "computer," a solid holographic personage. Recent articles don't seem to emphasis the consciousness part. The conscious part of human is generally an exception to physics. Because of that exception, the limits of the universal machine were stricly set to the physical world. Turing reiterated the thesis in a way that subtracts consciousness: human clerks that only had pen and paper to follow instructions of effective methods. Anotherwords, the human clerks had to think in order to follow the instructions but they didn't have to be conscious of any decision being made by the instructons. The Turing test pinpoints where the consciousness is, or is not, in the physical world when the test can be really challenged and a result given. If the computer can execute a program that can pass the test, we can assume the the computer has real intelligence or consciousness or both. The computer, if fails otherwise, neither has consciousness nor real intelligence. Obviously, Turing went on in his life to try to create a better machine that could go beyond his universal machine, yet his work was incomplete with his "life" program. These are the reasons why he has been noted as the Father of Computer Science rather then any other significant work done by those who mastered computation before and after him. He tried to create, or program, "life." Is it a pun to call him a "father" for "life" program he did make? No, it just makes it that much more simple to understand Computer Science and what it is about. His work may be completed someday, "given enough time to program" it. For now by science, the consciousness is not part of Computer Science. Computation may generally require conscious decisions to be made, but those parts of compuation, hence, are not Computer Science. Do we need to write examples here about example instructions of computation that would require conscious decisions? If we do, ask yourself are these instructions computable by today's technology? Will they be computable by some future technology?
That is what computability conquers. And, that is why Computer Science limits itself to the physical domain -- to conquer it. There is computation, and there is reality. Seriously, tell me everything that we can't compute if and only if by purely physical forces and bodies, and I'll tell you what is not Computer Science. — Dzonatas 15:31, 28 November 2005 (UTC)
Just to remind people - the summary is not a good place to put your personal view of what Computer Science is. It needs to be clear, readable, comprehensible by a wide ranging audience (including non-technical people), and holistic on the topic. I think that the proposed change fails in a number of those areas. Dzonatas - if you think that there's something wrong with the Church-Turing thesis page, then make changes there. Since the summary of this article is so controversial, changes to it are likely to be hotly contested. The summary should reflect at this point be deliberately written to reflect a consensus view - things that we can all agree on. Which I think it currently does. Sbwoodside 01:12, 29 November 2005 (UTC)
Besides the "cut tape" delimma above (pun intended), if the words expresses the same intentions of the original source then I agree an editors own words may subsitute discussion. If the reworded phrases fail to bound the same means, I would not agree to such original content. The one from the ACM emphasizes information technology more than computer science, as IT is the pillar of their foundation. Perhaps, that definition belongs on the Information Technology article. — Dzonatas 01:03, 30 November 2005 (UTC)
Dzonatas, what makes you think this definition is refering to information technology, besides the word information in it? From what I understood when reading the article in which the acm gives this definition, they are trying to define what CS academic cursus should include, and they come to the conclusion that CS and CE are different yet so closely related that no CS training can exclude a CE training an vice-versa. They finally define the union of CS and CE as "the discipline of computing", for which they propose the above defintion.-- Powo 09:53, 30 November 2005 (UTC)
Powo, the document states beforehand another definition of the body of knowledge of computer science, and then it later states the discipline of computing an a definition for that. It's pretty clear to use "computer science" and "computing" in different contexts, but the article doesn't specifically point them out. It does state a difference as to "what can be automated" as opposed to the computability aspect as "what can be computed." The article further explains that it hints and highlights divisions of the science, and it doesn't seem to specifically set any bounds on computer science, but it does on computing. It also considered the physical sciences a newer addition to CS than other foundations, but past papers have shown the physics and physical sciences are in strong relation. — Dzonatas 15:36, 30 November 2005 (UTC)
Here is a bunch of remarks, in hope it will help going forward. These are my personal POV's, and I have no claim that they are universally accepted!
- It seems to me that it is more usual to compare CS to mathematics than to physics. In this sens, the point of view of Dzonatas is minoritary, because it seems to emphasize strongly on the fact that a computation is a physical phenomena.
- Clearly, a computation is a mathematical object. A typical prototype is what follows from a TM, though there are other models, more or less equivalent (c.f. history of RAM for differences between RAM and other models). Plenty mathematical models of computations, extensive litterature, etc... abound in this direction.
- In my opinion, the point of view of Dzonatas is no nonsens: a computation can be a physical phenomenon. However, this is a far less common way of thinking of a computation. What exactly is a physical computation is fuzzy. However a core of physical phenomenon, I believe, would make immediate concensus. E.g. what happens inside a digital computer is clearly a physical computation. But there is more than that to be putted into the bag of physical computations. I have no knowledge of work defining what a computation is from the physical point of view. The more interesting and exotic example I can think of was an article I read in an EATCS bulletin, where comutation where done by a chemical reaction in test tubes... Ultimately, and without much meaning in my opinion, it has been previously claimed on this talk page that every physical phenomenon is a computation, because the world itself is a computer. (I disagree with tgoing in that direction, its metaphysics, not science in my opinion).
It seems to me CS is a particular science: very much like mathematics, however with a strong link to a physical world. In the point of view (my interpretation) of instrumentalism, one difference between CS and physics is that, contrary to physics, CS started by being a purely T-term science, with no real O-terms and statements. Another difference is that the O-terms studied by CS are not natural, but constructed by humans. On the other hand CS studies computation and computations are T-terms , but also O-terms. On the contrary, probably mathematics has no O-terms, which makes CS different from mathematics. In fact, under some definitions of science, it could be argued this makes CS a science while mathematics are not a science.
Sumarizing, I think CS is well defined as the study of computation, computation being both a mathematical object and a physical object. However, the current definition(s) put(s) a strong emphasis on the physical part (mostly because of the word mechanical), in accordance with the point of view of those who defended this definition. This is a non NPOV and should be tempered. Further in the article, the existence of physical computations and computations as mathematical objects could be explained, and instrumentalism may be a good inspiration. BTW, if I was quizzed about what the extent of mechanistic explanation is, I dont think I would find out it is refereing to CS! -- Powo 21:47, 30 November 2005 (UTC)
It wasn't point to state computation as a physical phenomenon. Computation, however, involves a greater deal then just the physical domain, and that is my point. Whereas, computer science is bounded by the physical domain; therefore, a subset of computation is a phenomena in computer science. (I'll respond more, later...) — Dzonatas 23:47, 30 November 2005 (UTC)
Is this ridiculous or what? Here we have an article about a core topic that other people in Wikipedia are saying is one of the most important articles in the wikipedia, and every day there's a crazy new summary? I have a degree in CS and I have to read pages and pages of arguments to find out what the heck "mechanistic" means and here it is in the first sentence of the whole article.
Dzonatas and others, please read WP:LEAD.
Does this article explain what "mechanistic explanation" is? No, it does not! So if you're going to stick that in the lead, write a section on it, explaining what it means -- first!
Please -- the summary of this article should follow the guidelines in WP:LEAD -- and if it isn't, I consider that good grounds for reversion. Which I am now going to do with the "mechanistic" bit. Sbwoodside 05:36, 1 December 2005 (UTC)
The article doesn't define "mechanistic explanation" redundantly as a dictionary, no. It does touch basis to relate where the expression starts. Computation isn't defined, as you say, in the article, so I wonder why you reverted to "all areas of computation." However your right, it does need improvement, and to revert to a definition that is propositionally false about computer science doesn't improve the article. I'll take some time to recollect some sources I have come across. In the mean time, various dictionary entries:
mech·a·nis·tic adj. 1. Mechanically determined. 2. Philosophy. Of or relating to the philosophy of mechanism, especially tending to explain phenomena only by reference to physical or biological causes. 3. Automatic and impersonal; mechanical.
mecha·nisti·cal·ly adv.
Source: The American Heritage® Dictionary of the English Language, Fourth Edition
mechanistic
adj 1: explained in terms of physical forces; "a mechanistic universe" 2: of or relating to the philosophical theory of mechanism 3: lacking thought or feeling [syn: mechanical]
Source: WordNet ® 2.0, © 2003 Princeton University
Main Entry: mech·a·nis·tic Pronunciation: "me-k&-'nis-tik Function: adjective 1 : mechanically determined <mechanistic universe> 2 : of or relating to a mechanism or the doctrine of mechanism 3 : MECHANICAL - mech·a·nis·ti·cal·ly /-ti-k(&-)lE/ adverb
Source: Merriam-Webster OnLine
mechanistic • adjective Philosophy relating to the idea that all natural processes can be explained in purely physical or deterministic terms.
Source: Compact Oxford English Dictionary
These popular dictionaries all have a similar means for the word "mechanistic." It is Turing that stated "purely mechanical, " and it was von Newman that stated "extent and limitations of mechanistic explanation." It is obvious that the physical aspect is significant to computer science. "Computation" can mean procedural calculation or logical method. Turing made such computation more finite as phrased "effectively calculable." Another section that covers these points as well as computation included in general would help. — Dzonatas 15:34, 1 December 2005 (UTC)
Hi folks. I just added a definition which I tried to make the less controversial. I failed, for sure, however I reacon it is less controversial than the previous one. Here is my proposition:
Computer Science is a young academic discipline with roots in mathematical logic, linguistics and electrical engineering. Its very fast development is closely related to the emergence of digital computers, however it is widely recognised that it does not restrict to the study of computers. Computer scientists generally agree that the concept of computation is central to computer science, and the proposition to define computer science as the study of computations is not uncommon. The status of computer science as a science is often challenged, typically arguing that it is more like mathematics and that it would not follow the scientific method, however these facts are not unanimously accepted. Computer Engineering (CE) is very closely related to Computer Science, and their frontier is often blurry. In popular language, the term computer science is often confusingly used to denominate anything related to computers.
I had it on the main page, and if you dont think it is too bad, maybe we can discuss changes to it on the discussion page and change it slowly after debating it. So, how do you like the definition? What does it miss? How is it erroneous? Best, -- Powo 20:49, 2 December 2005 (UTC)
Good information. The entire article doesn't cover most of that, and as sbwoodside suggested we're close to an agreement. — Dzonatas
I think at this point it's not a good idea to rewrite the summary completely since we seem to be (maybe) converging on a consensus. So, I reverted it... I did use the second half of what you wrote though to rewrite my disclaimer on the definition of CS. Sbwoodside 21:13, 2 December 2005 (UTC)
Hmmm... Folks, from a logical point of view, your arguments are fully sensible. But I question the premisses: I think we are very far from an agreement. Sorry.
Is this not far from an agreement hey?! Kind regards, -- Powo 21:56, 2 December 2005 (UTC)
Ok, so you want to keep going with the previous (bad IMHO) definition. So let me please challenge you:
We are not finished yet! Hopefully we'll make it in the end. Best regards: -- Powo 01:08, 3 December 2005 (UTC)
Your opener doesn't give me a definition or clear description, but it does give me historic information. — Dzonatas 11:46, 3 December 2005 (UTC)
Basically, my opening saiz:
These are uncontroversial facts. This is an abstract high level definition. Maybe have I missed some important points.
Whereas my proposition is structured, it seems like the current definition is clumsy, adding parasital information. E.g. "is an academic discipline, a body of knowledge". The fact that it is a body of knowledge is trivial! It lacks structure: it enumerates random disciplines, says they are fundamental, and that it leads to (the development? The construction? Again a word missing...) of other disciplines, e.g. algorithmics. In its current form it imlicitely states or at least hints, that operating systems is a fundamental discipline that lead to formal languages. Although I admit this is not explicit, and probably not intended, it shows the clumsiness and unscholarliness of the current definition. It also introduces non NPOVness, since it states some subfields are fundamentals. For example, I dont think OS is a central part of CS at all. First of all, I dont think it is really related to CS, but rather to CE.
We need to structure what we want to put in the opening. I propose the following program:
-- Powo 12:50, 3 December 2005 (UTC)
Why not try to write what you have wanted to explain as part of the body of the article. There is no concrete NPOV definition. We have a lengthly discussion above that screams that fact. What we can do is describe the discipline, its programs, and how it relates to the body of knowledge. Personally, I rather see a more technical definition, but the argument to write for an audience of teenagers wins out. Read the CS programs at universities, and you'll notice that "hardward", "software", "theory" (computation), and "electronics" are the most general terms used to describe what paths to follow. Someone who wants to know hardware and electronics probably wants to be a computer engineer. Someone who wants to know software and theory probably wants to be a software engineer. Someone who wants to know software and hardward probably wants to know about information technology. Add business to that last one and you have a TechnoMBA. These aren't the only examples and by no means are they concrete.
We have a list of specifics in the body -- too many lists. Unfortunately, the article is too much bones and not enough meat. We've discussed many issues above that make great pieces for the body or other articles. — Dzonatas 14:27, 3 December 2005 (UTC)
Ok. All very good. So if this page is to become a description of what non-computer scientists think CS is with a teenage targeted audience, I am out of the game. I am fed-up of seing this page mungled by amateurs, like Stan said. At the time I thought he was extreme... --
Powo 18:41, 3 December 2005 (UTC)
Powo, its not what they think it is, but it is not unheard of to write technical articles at a 12th grade level. The audience here isn't just computer scientists. I've been very patient to answer your questions. Most of these question make great topic/header starters. — Dzonatas 19:11, 3 December 2005 (UTC)
Sure the audience is not only computer scientists (they know what CS is...) but at least the writers should be.--
Powo 19:27, 3 December 2005 (UTC)
Powo has stated above that the writers of the article should only be computer scientists. Unfortunately, it does not work that way. If there was such a rule, most of the content in wikipedia would never get written because of the tedious job to find someone that would be so consensually deemed qualified to write. That is what non open content encyclopedias do because they get paid for it to hold a certain reputation. That is also their downfall as those encyclopedias lack information from a larger resourceful population.
Technically punny: if we let this article only be written by computer scientist, then they aren't doing their job. Computer scientist are theorists, researchers, and inventors. They aren't editors, so why are they here? I'm sure the computer scientist that have so professed that their wisdom is so great here that they have judged all others as to be excluded in any attempt to write on the article surely would not let any technical detail such as the benefits of open content to be so unfamiliar to them. Perhaps, those computer scientist that profess such great wisdom should write their own version of wikipedia that prohibits anybody except doctors of philosophy to edit content. They can further provide a website for their content. They could even run their own server for their website. If the information is truly worthwhile, they can put up hit-counters and advertisements and get paid for it. Nevertheless, they have come here but only to tout themselves and taunt others.
Fortunately, wikipedia is much more open than that. — Dzonatas 12:06, 9 December 2005 (UTC)
This page is an archive of past discussions. 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. |
I replaced this paragraph from the section entitled "Debate over name", and renamed that section. It is not clear from the (uncited) paragraph what this "debate" is, who debates it, or its importance. Surely if this is a real "debate" then there would be some papers or letters or something in which practitioners take sides:
What's more, this para treats "software engineering" as an alternate name for computer science. This is not a usage I'm familiar with. As described in the software engineering article, software engineering is an attempt to apply engineering methodology to software production -- the managing and work of programming. It is not the same as computer science.
I've replaced this para with one that does not pretend to describe a "debate" but rather simply the perceived inaccuracy of the name "computer science". If anyone has any sources for particular positions people have taken on names for the discipline, feel free to reintroduce the "debate" meme. -- FOo 05:15, 7 Mar 2005 (UTC)
In the Data and information systems section there is a reference to Coding Theory and Information Theory. However, someone linked Coding Theory to the Computer Programming page, which has nothing whatsoever to do with Coding Theory. This should probably be fixed...
hey, guys: New template: comp-sci-stub . thank you ABCD Use appropriately. I was horrified with the use of computer-stub. Thanks.
Computer Science for lyfe! :D
Project2501a 19:37, 8 May 2005 (UTC)
a picture of TAOCP is not an adequate symbol for computer science; you wouldn't show a picture of a biology book when describing biology
Somebody get me a pic of a coke bottle and a pic of a young geek reading slashdot and looking at porn ^_^
or we need a pic of um a long-bearded, long-hair older man screaming his windows box :D
in all seriousness, i'd like to point that i created [[Category:Wikipedian computer scientists]] go register ^_^
Project2501a 22:05, 13 Jun 2005 (UTC)
I want to raise this question in the context of WKP categories such as Category:German computer scientists. Someone just added Konrad Zuse to that category. However, Zuse was educated as a civil engineer, but later went on to construct several pioneering electro-mechanical computers, of which his Z3 is arguably the first actual computer in the modern sense (no holy wars, please---this is a controversial subject, to say the least...).
In light of the above, my question is this: should categories of computer scientists also include self-taught pioneers like Zuse and others of his generation, or should we include only people educated as computer scientists as such? I acknowledge, of course, the groundbreaking efforts many of those engineers and scientists did for computer science and, perhaps even more to the point, c. engineering. -- Wernher 19:43, 6 August 2005 (UTC)
A computer scientist is a scientist that computes. Okay, that is blunt. However, I've seen two realms of computer scientists, and that is the academic follower and those that make computer science a religion (to say the extreme). Those that follow academia are just after the degree and only just study the field to achieve such degree. Those that go beyond study alone apply and live by the bounds of computer science. Anotherwords, evolution and creationism have been analogous to opposite forces of science and religion, but computer science can work with either if it logically computes. My opinion is the with the recent growth of intelligent design and the hype that there is nothing that competes is wrong hype -- as there is computer science. Computer scientist would claim God is a hacker and the human body is a machine, while intelligent design would claim that somebody intelligent like God must have designed the human body. Anyways, those are just some poinst of extreme to compare (or compute) the differences. --- Mr. Ballard 18:14, 3 September 2005 (UTC)
This paragraph defines "computing" rather than "computer science". Unless there is a really good reason, this definition should be moved to the computing page.
I think that N. Chomsky should also be included in the list of pioneers in Computer Science. Almost in every introduction book to CS theory, you can see his "Chomsky Hierarchy"...
The page list of academic disciplines has a nice list, which is the following:
Computer science
* Algorithms * Artificial intelligence * Computer security * Computing * Complexity theory * Cryptography * Distributed systems * Hardware * Programming (see List of programming languages) * Formal methods * Information systems * Robotics * Software engineering
See also: ACM Computing Classification System
I think we could build upon this list to improve the "field of computer science", adding (many) details. IMHO, the current list is scruffy, mixing High-level fields with minor fields, without any hierarchy... -- Powo 20:57, 23 November 2005 (UTC)
I've made a new article for this subject -- Definition of computer science -- enjoy Sbwoodside 08:58, 15 November 2005 (UTC)
A posteriori, it seems to me that a central point of the discussion herunder is to question if a scientific use of a computer is to be considered as part of CS. C.f. hereunder for details. -- Powo 22:31, 30 November 2005 (UTC)
Dear all,
in the first paragraph, the following sentence can be found:
"By definition, computer science is the accumulated knowledge through scientific methodology by computation or by the use of the computer."
I strongly disagree with this sentence, so I removed it but it was reintroduced later by another user. I will remove it once more, but this time please let me explain why I disagree.
"accumulated knowledge through scientific methodology by computation" is not sufficient for being computer science. Accumulated knowledge through scientific computation is an empirical approach amongst others. There are basically three ways of doing such accumulation of knowledge:
- Experiment "in vivo", - Experiment "in vitro", and a (new) type of experiments - Experiment "in computers" (simulations), or "in silicone" as I have heard it named...
Therefore if accumulated "knowledge through scientific methodology by computation" is obtained on say: some physical phenomenon, biological phenomenon, chemical phenomenon, etc..., Then this is physics, biology, or chemistry respectively, but NOT computer science.
Please remember the citing of Dijkstra: Computer science is no more about computers than astronomy is about telescopes.
To illustrate what I mean, and poorly copying Dijkstra, I would say:
Computer science is no more about "Accumulated knowledge through scientific computation"
than biology is about test tubes...
The use of a computer to gather scientific results those not mean you are doing computer science!!! If you "accumulate knowledge through scientific computation" AND if this knowledge is related to computer science (e.g. experimentally testing the complexity of an algorithm), then THIS is computer science. Note that computer science doese not necessarily imply the use of a computer (e.g. theoretical computer science usually favors a mathematico-deductive approach to an "in silicone" empirical approach to computer science).
I lost track of all the handwaving here, but suffice it to say that the "by definition" definition is totally bogus. The etymology is irrelevant to current meaning (as are most etymologies), and a formal definition more elaborate than "scientific study of computation" is almost certainly going to run afoul of real-life exceptions. If anyone just can't stand not having more detail than the simple phrase, then add some quotes from famous introductory CS textbooks. Stan 03:11, 16 October 2005 (UTC)
Here is the text cut from an earlier revision. It helps explain the roots of the definition. The sentence below as it existed in the article was split appart in attempt to put the details further in the article. ---- Mr. Ballard 14:17, 14 October 2005 (UTC)
This is where we are at: Powo and Mpeisenbr state Computer Science is defined as "the study of computation." I provided sources, and I even further provided root terminology of the words. I haven't seen any source that defines computer science as such. I google'd it and actually the closest I've seen is a included study of the limits of computation, but not that alone. Lets put this another way, if one studies computation, one actually studies a process where input on a set of instructions produce an output, or at least that is one way to describe a way to study computation among many. That just kind-of included everything and nothing is particular. With that "study of computation," the argument emphasizes on what constitutes the instructor. The question arises of what kind of instructions are given and in what form are they. Further questions arise if the instructions where heuristic, genetic, algorithmic, natural, or phenomenal. Even if the input is known and well understood, the question arises of what is to be done with the output. If one studies computation just to see if a given input produces an output, that doesn't define computer science especially when all these other questions arise. A computer scientist does study the limits of computation. Anotherwords, a computer scientist wants to produce a well-formed computation. Yes, one must study computations in order to "compute" computations. Usually, an algorithm is written to express the computation. That would mean a computer scientist must also learn how to produce algorithms and not just study them. The means to produce such algorithms involves a practice. That practice goes well beyond experimentation and study. When one plays a musical instrument at a live concert, they aren't only there to just study musical talent, as they got to perform.
Powo, that kind of performance issue is what lacks in your points, or you haven't acknowledged it or even experienced it. I'm surprised you listed one reference above with a citation from the web about computer science, and you want to also agree to an incongruent definition like "the study of computation."
When you emphasized computer science with the focus on science, that is were I finally saw you take a step in the right direction about what computer science is about. Computer science is knowledge, yet what constitutes that knowledge can be governed by a computation. This computation simply tells us if the knowledge is in the realm of "computer science" or not. This computation is a proposition. If we say the proposition is "the study of computation," then what knowledge would hold true under that is was by a study of computation. Does that computation include any system of facts or does it base its output on theories? If the computation is based only on facts we could justify it as a pure solid science. If the computation includes any theory, it wouldn't be pure and be just a study of theory. There is nothing to the phrase "the study of computation" that justifies what makes the computation and thus what would be computer science. Do you follow this kind of propositional process? Anotherwords, does the involvement of a genetic instruction concern the computer scientists? Does the involvement of heuristic instructions concern the computer scientists? Does the involvement of phenomenal instructions concern the computer scientists? Actually, that last one would probably concern more than just the computer scientists! The computer scientists doesn't live by algorithmic instruction sets alone. To get back to a the knowledge governed by a computation, we could express such an algorithmic instruction in english. We want to define computer science, right? That definition of computer science qualifies as an algorithm. What set of instructions do you propose would define computer science, Powo? ---- Mr. Ballard 18:44, 7 November 2005 (UTC)
Computer science, as the term is used in English, is the study of computation and the surrounding subjects -- things like data organization and retrieval; algorithms; programming language and operating system design; and so forth. But the term usually isn't used to include (say) electronic engineering, or computer applications training (how to use Word), or how to manage programmers.
Computer science includes work done in both academia and industry. Academic CS would imperil itself if it ignored the work of industrial researchers -- like IBM's Ted Codd, who invented relational database theory. Luckily, academics don't neglect industry, and today many of the problems worked on in academia and industry are very similar: such as large parallel systems (clusters; grids; whatever you like to call them).
Nonetheless, it is an error to say or to imply that any "body of knowledge" having to do with computers is thereby computer science. The field has its limits. I for one would place modern HCI outside of computer science -- industrial HCI these days is no longer limited by the computer side of the equation, but rather by the human side -- that is, by programmers' and engineers' (lack of) knowledge of human factors. -- FOo 06:58, 9 November 2005 (UTC)
I do not disagree that the study of computation is excluded. The study of computation, however, exists as a higher-level area within computer science. The study of computation doesn't define computer science, alone.
I've noticed you stated, "limited by the computer side of the equation, but rather by the human side." Does this mean you believe computers and humans are different like a thing and a person? Do realize that "computer" was the formal name given to a person that computed as a job, as a computer is simply "one that computes." It wasn't even a thing until more recent era. In this high-tech era, a computer more is more found as an electronic device in common sense. Consider these facts, and you'll notice that "computer science" changed by high-tech influences, but that doesn't mean its knowledge has to exclude the everything at the time it was founded before high-tech electronic devices were involved. Is it a science, yes. In fact, some colleges and universities have computer science under the department of Science (or "Letters & Science"). Others have it under Mathematics, Information Technology, or Engineering. Some have it under two or more. It is a science made by a computer. I'm sure we don't want to be consider a machine, so the difference between computers and humans is stronger today. If you look at the expression "computer science" and think of that computer as a person instead of a machine, it'll help understand the roots of the "body of knowledge." Today's computer scientists luckily do not have to tediously act like a computer as those did in the past. ---- Mr. Ballard 15:27, 9 November 2005 (UTC)
Here are a few as requested. - Mr. B
Do you need more?
I've noticed a lot of sources use a timeline of computing of late BC. Those timelines generally follow those that used numerical methods. It is of interest to me why those timelines don't show other non-numerical devices, like the great pyramids which had devices to compare (compute) locations of stars and planets. ---- Mr. Ballard 23:54, 9 November 2005 (UTC)
A posteriori remark: The term "non-standard" definition hereabove refers to the following definition: The accumulated knowledge through scientific methodology by computation or by the use of the computer
Dear Mr. Ballard, Your definition is a minority definition (yours only, since you still have no reference of anybody using computer science with your meaning), I think you agree with that. Summarizing your point of view, you say computer science is science done through the use of a computer, where a computer has to be understood in its archaic sense, and that it is a very old science (archaic computers existed long before electronics). In this sense, your definition of computer science is an etymological definition. (Although the standard etymological definition is the science of computers). I understand your definition. However, I think your definition does not belong in Wikipedia, let me tell you why:
Because of what I have just said, your definition doese not belong (yet) to an Encyclopedia. From what I understand of Wikipedia, my previous statement implies your definition does not belong (yet) in Wikipedia. Btw, gentlemen, let's stay cool about all this: no toilet paper, fingers and black holes ;) -- Powo 09:13, 11 November 2005 (UTC)
About the contradiction thing, I agreed with Dijkstra that it wasn't about computers as in his quote. Instead, computers still are significant to determine the constitution of the science.
You've noticed the humor and questioned my seriousness. I knew one wouldn't take it too seriously, but this is real. Without the need to remorse on questionable seriousness, let this discussion lighten a bit.
I read some articles to try to grasp your point of view more. I read the ones which express computer science isn't a science. Perhaps, it'll help to relate our arguments easier. One thing I've noticed in such "not science" arguments is that they only limit their subjects to high-level practices instead of lower-level tangents to physics. It is those lower-level pieces that allow the higher-level to exist. When people walk up to a computer, they see the higher-level machine. They have no clue what happens at the low-level. Much hard work has been done to automate the computations and the physics. We don't use big clanky steam powered machinery, anymore, for our day to day web browser! It's like something magical to non computer users.
Non computer users tend to seperate realty between what a computer is and not. A non computer user would never allow themselves to be considered a computer. The computer today, however, was very much intended to replace the computer, which was human, of yesterday.
The whole process to replace the (human) computer (or to automate computations) into machinery started computer science. It's not about the computer. It's about what can be done to replace the computer. Although mathematics was used heavily, artificial intelligence was more significant in computer science. Those that argue computation (mathematically) is what computer science is about also tend to argue that the science started well before physics. Since computers performed many physics based calculations, I doubt that is true. We could argue that artificial intelligence started way before computer science, but it couldn't be scientifically prooven until the tangents between physics and computer science existed, which they do now. Those tangents are the foundations of computer science.
One earlier psuedo artificial intelligence shown was the abacus. It wasn't a computer. It was a state machine, memory. People had to physically move the beads into their positional states. It served as a memory device to allow one perform other calculations. Pencils and pens are much more abundant now, we don't need the abacus anymore. It wasn't much of artificial intelligence because the abacus didn't think for itself. The abacus had a computer to think, and the abacus was the the computer's memory. It was a physical device which science can proove works.
My fascination is with cybernetic biotechnology. Computer science really doesn't exist yet until we have fully proven computers (the non human kind) can think for themselves. Until then, we have cybernetic biotechnology. Until then, we still have human computers because to compute means to think, and yesterday's machinery still hasn't thought by itself. We do have solid foundations of computer science, fortunately. ---- Mr. Ballard 00:34, 14 November 2005 (UTC)
I just did a bit of a cleanup edit, mainly affecting the summary which was really terrible (sorry...). Some quick notes:
Sbwoodside 08:56, 15 November 2005 (UTC)
Sbwoodside, I'm glad you tried to do this layout. We should merge the defintions back into the article.
I thought about how we could smoothly gather the different view points without worry. I remember that I read computer science was originally based on principles rather than a discipline. The discipline began later within academia. Perhaps to point out the principles and the transition to the discipline is easier than a definition in opener. One of the easiest principles to pick out is to automate computation. ---- Mr. Ballard 15:19, 15 November 2005 (UTC)
Not really an improvement in my opinion either. You say CS is mainly concerned in the development of software, I am of the opinion that software development is neither computer science, nor science at all. Gee, development of software is (computer) science? Like developing a... word processor??? No way! You say computer data structure is one of the two main areas of CS? In the university I am in, I can only think of one course on data strcture. (Whereas I agree there are at least...hum 1,2,3,4...5 course on algorithmics I can think of straight away...). What do you mean, is it one of the areas where the biggset achievements have been made, one of the most active research areas? Maybe you are right, but I did not have this impression...-- Powo 19:47, 15 November 2005 (UTC)
There are two sides to software that would fit science and non-science. Most of the higher-level software hides all the tangible physics of what software accomplishes in its operations. Beyond that it becomes math, database theory, cognitive theory, art, protocols, etc. ---- Mr. Ballard 23:09, 15 November 2005 (UTC)
OK, so let's see if we can agree on any of the following (some third party, some mine) statements at all. I'll break them down into small bits that we can individually analyse.
1. Computer science is "the branch of engineering science that studies (with the aid of computers) computable processes and structures" ( WordNet)
2. Computer science is "the study of computers, including their design (architecture) and their uses for computations, data processing, and systems control. The field of computer science includes engineering activities such as the design of computers and of the hardware and software that make up computer systems. It also encompasses theoretical, mathematical activities, such as the…" ( britannica)
3. General issues:
If can at least come to a consensus on the talk page then perhaps we can stymie the endless edit wars in the article itself and get a real article written. Sbwoodside 00:30, 16 November 2005 (UTC)
User:Jhballard why did you want to avoid a definition in the summary? Have a look at WP:LEAD - "the perfect article: Begins with a definition or clear description of the subject at hand. This is made as absolutely clear to the nonspecialist as the subject matter itself will allow." Sbwoodside 00:43, 16 November 2005 (UTC)
History_of_science#Emerging_disciplines has a definition of computer science as well. Sbwoodside 06:33, 17 November 2005 (UTC)
Looks like somebody needs to look up what the word "transpire" means. It means "breathe", with the metaphorical meaning of "to whisper a secret" or "to let the true story come out". It doesn't mean to begin or to be founded upon somethng, and it wasn't even minimally appropriate in the way that it was being used in the intro. Reverted. -- FOo 06:44, 17 November 2005 (UTC)
YA new summary then. I've tried to merge the positive points of the long-standing old summary [2] with the summary that was just reverted by Fubar Obfusco because of the incorrect (I agree) use of the word transpire, and with my own previous addition of the word "theoretical"... to distinguish between hardware and software, which are arguably (and I think) practical concerns, and the theoretical part of CS, which is huge of course, which may not actually get into implementation as a major concern. Sbwoodside 07:25, 17 November 2005 (UTC)
It seems to me the current definition is too much of the type: there is "software, hardware, the rest is theory". Software engineering is not part of computer science, but part of computer engineering. The big bag called "theory" in the current definition is in fact CS. Algorithmics, for example, is not theory: its the heart of CS. Computer Scientists have a very precise definition of what theoretical Computer Science is, probably its kernel is algorithmic complexity. Broadly speaking, Computer Science is the science that studies computation. "Computation" is a word which had fallen out of use, and it was revivified to describe the new discipline that emerged since mid XX century, a new discipline that did not exist before. Please forget any definition ment to include archaic definition of computers. BTW numerical analysis is not part of CS, its part of maths. Please do realise that CS and computer engineering are not the same, although they are siamese-sisters, sometimes called CS&E. When people talk of CS as an engineering science, they are talking of CS&E, which is allright, but we should know what we do... Also, some huge confusion comes from the fact that Computer Science (a concept, thus the capital letters) can not be understood by looking at the definition of both words, and that people abusively use "computer science" to talk of anything related to (modern,digital) computers. Computer Science is a science, thus computer scientists are scientist: they do research, publish papers, contribute to science, etc... The rest is not computer science. Most people who where trained as computer scientists do not work as computer scientists, because as in every science, a drastic selection is made at each step. The confusion comes from the fact that CS is so closely related to computer technology, abusively called computer science. CS is what is being tought in CS departements of universities. Since there is all this confusion, we could include it in a NPOV spirit, but the fundamental definition should be clear, simple, and broad: CS is the science that studies computation.-- Powo 22:18, 17 November 2005 (UTC)
To end this section about "transpired," yes it doesn't have a single definition. It does have a definition that works very well, but as we see that is disagreement about it's use. I could have replaced "transpired" with "became known," and leave out the ambiguosity. It is a good example show a kind-of logic antonym to use against the word "study" or "discipline." Anotherwords, Computer science doesn't have a single definition, like to study computation. A body of knowledge is knowledge, not a discipline. The discipline is a tool. The expression "Computer Science" has become the formal title of the academic discipline since it represents the body of knowledge as its principle to exist. That is simple. Others here make it seem so hard to understand the difference between a title of a discipline and the meaning of the expression to be a body of knowledge.
I'm gald there is progress here to understand what we all want. There is almost no revert war (like the ones that happen more then once a day). At least we try to improve others work instead of complete revert. Do recognize this as progress. However, to call each other amatuers is or other names is immature. It's only intention is obviously the same as pychopathic bullies. Settle down I say to those that know what that meant.
As proven there computer science translates to information technology or such in other languages, we will continue to see arguements from all sides of what computer science really is about. I'll still stand that the definition I added is works well, but it is obviously to simple for other to understand. It is obviously a definition that I mistakenly added that only logical computer scientists can agree to its point. It's in the same position when I or other really good programmers run into when they write code, the code is easily understood by other really good programmers, but others want a translation, like code comments. Like I said many times, I compiled it from diverse sources. I found none that purely agreed with one another.
Powo, I'm glad that you pointed out you think there are only two extremes to only explain computer science, academics and popular contexts. There are more. The discipline isn't all in academia, as there are the technocratic institutions. That isn't to imply technocracy doesn't involve academics in function, but there are systems to use the body of knowledge of computer science without the help of academic institutions or outside of what would be the academic realm. Becuase of that, I'm against to make the article not include anything that isn't specifically of academia. ---- Mr. Ballard 15:14, 18 November 2005 (UTC)
Sure, CS is so closely related to technology and engineering, the boundary often so blurry, it is sensible to let this be refelected in the article. Still we need a mainline to follow, and I vote for the academic/scientific line.-- Powo 18:06, 18 November 2005 (UTC)
I'm comfortable with saying that CS is an academic discipline. I think that most practising "computer scientists" would be engaged in academic work or in serious commercial research (like with "scientist" in the title). Sbwoodside 02:47, 24 November 2005 (UTC)
My bad, it appears that History of computing isn't about computer science at all, but more like the history of bean counting and calculating the values of functions. There is not in fact any History of computer science article at all that I can find. History of computer science could either be covered here or in a new article. Sbwoodside 06:31, 17 November 2005 (UTC)
A posteriori, it seems to me the discussion has taken a new turn from this point. A definition was introduced which could be summarized as implying that a computation is a physical phenomena, and that CS therefore is a study of the physical world. C.f. herunder for details. -- Powo 22:31, 30 November 2005 (UTC)
I've consulted more sources beyond dictionary (or encyclopedic) entries to find a more complete definition of computer science. Currently a few wikipedians agree to a definition:
That only seems to cover a popular subset of computer science, and I hate to see the definition fall short. I don't intend to remove the popular course, but I want to nail this down more. I know that "deals with all areas of computation" doesn't quite cover it since a computation, its mechanical structure, is the result of the research. I know what its intention is meant to cover, but we can improve it. Computer Science is science that also ecompasses the popularity of the engineers work. That popularity is the obvious confusion and is not a means to make the article emphasize only those aspects. The article should point out the difference between computer scientist and computer science engineers. We can still do this with an academic emphasis.
I like to point out some things to consider. Computation is commonly performed by algorithmic tasks, and definition of algorithm has heavily influenced the definition of computation, unfortunately. Also, computation is very similar to the word computer since they both start with "comput-". These are obscurities. Some have used the word automaton instead of the word computation. The word automaton isn't definined like computation but follows the same principles. The word is useful to avoid obscurities.
Here is one proposal for the opener:
I like to add a little more, but that expands the opener a bit. — Dzonatas 15:41, 25 November 2005 (UTC)
---
Not bad! But what do you mean by based on the mechanization of computation? This is obscure to me...-- Powo 16:18, 25 November 2005 (UTC)
Although you didn't give a reason why you thought it is obscure, we should expand on it since mechanization has an unintended influence on the word. — Dzonatas 20:33, 25 November 2005 (UTC)
It seems to me the word computation already implicitely refers to CS. The reason (this should be checked) is that the word computation had fallen in desuetude, and was revified with the emergence of CS. I like the definition of stan: the study of computation, it is broad yet specific to CS. Perfect fo the intro... I think there is a concensus in the comunitiy about this type of definition. E.g. "procedural epistemology" was proposed. Is this not (although more esotheric) very close to "the study of computation"? It seems to me "computation", "procedural", "mechanical" or "causal", etc... are all almost synonyms in the constext of CS. However, "mechanical" is clearly not standard terminology, so I would porefer a definition based on procedure or, even better, computations: a word which was invented (more precisely, taken out of desuetude) just for CS!-- Powo 09:09, 26 November 2005 (UTC)
"Computation", "mechanical", and "effective" have stated synonym attributes only if one reads about CS in depth, but we still have to aim for the audience that never has read about CS. We can't assume that the readers know that the words in use are only for the context of CS or any particular article. We can, however, use such words in such a way if they are stated in the article to be used in such a way. I want to expand "purely mechanical process" a bit to make it less ambiguous on "mechanical." There seems to be heavy debate in past published papers on just what the universal machine can do, and it all relates as if to question the domain of the physical world or beyond. Certainly, the description of the universal machine allowed an assumption of metaphysics, but the debate (e.g. Church and Gandy) clearly states it works only by "effectively calculable" means. Therefore, if we add something like "based on the science of computability (i.e. "what can be computed," "how can it be computed," or "that which is computed") by purely physical forces and bodies" would make it more clear. — Dzonatas 14:28, 26 November 2005 (UTC)
Only the lead paragraphs need to be brief, but the first line doesn't need to be so succinct. The first line needs to be clear description. For example, look at peer review:
That is even more than:
There is already a page for computation. If one wants to study computation, then read about computation. There are several books about computation that are not related to Computer Science. — Dzonatas 18:13, 26 November 2005 (UTC)
"One article is about the thing itself, the other article is about the human activity of thinking about the thing." -- Oh, so computing is about thinking and you think that CS is about thinking about "thinking?" That's bizarre. Try the cognitive sciences for that.
Stan, you may be able to program, but I believe you don't really understand what you program at the very low-level. There is that point where all operations done by a computer require some sort of physical activity and interaction with the real world, and that activity and the ability to make the physical world compute what we want is what Computer Science is all about. You, however, think it is only about computing or computation, and you've shown it is nothing about the physical world. Do realize that "computing without the physical world" is not Computer Science. — Dzonatas 00:05, 27 November 2005 (UTC)
It is written about several times through the Church-Turing thesis, its peer reviews, and its derived works. It's clear the intention was to bind the limits of computability to just the physical domain. The thesis states the universal machine can compute anything, and it further limits its computations to purely mechanical descriptions. I find this very simple, and I have known it for more than 20 years, also. Their was already a system to compute anything that existed before any notion of Computer Science. If you remove the physical limits of Computer Science, you remove the science, and you have then the point you have tried to make.
One thing you'll find of interest is a point made by the Turing test, and recent articles have not emphasized the point as when I learned about the Turing test 20+ years ago. It had a different perspective then. The point was not if the computer could emulate human like conversation, but the point was, given the technology then, could someone tell the difference between the electronic computer and a human being under a viel. The viel, given the technology then, was simply what was available -- three terminals where the "judge," the "computer," and the "human" could not see or hear each other and were limited to just the screen conversation. That was very possible scenerio centuries ago. Turing didn't seem to state some future possibility of a "holodeck," like in Star Trek, and the "judge" could personally see, hear, touch, talk, or smell and the "human" and the "computer," a solid holographic personage. Recent articles don't seem to emphasis the consciousness part. The conscious part of human is generally an exception to physics. Because of that exception, the limits of the universal machine were stricly set to the physical world. Turing reiterated the thesis in a way that subtracts consciousness: human clerks that only had pen and paper to follow instructions of effective methods. Anotherwords, the human clerks had to think in order to follow the instructions but they didn't have to be conscious of any decision being made by the instructons. The Turing test pinpoints where the consciousness is, or is not, in the physical world when the test can be really challenged and a result given. If the computer can execute a program that can pass the test, we can assume the the computer has real intelligence or consciousness or both. The computer, if fails otherwise, neither has consciousness nor real intelligence. Obviously, Turing went on in his life to try to create a better machine that could go beyond his universal machine, yet his work was incomplete with his "life" program. These are the reasons why he has been noted as the Father of Computer Science rather then any other significant work done by those who mastered computation before and after him. He tried to create, or program, "life." Is it a pun to call him a "father" for "life" program he did make? No, it just makes it that much more simple to understand Computer Science and what it is about. His work may be completed someday, "given enough time to program" it. For now by science, the consciousness is not part of Computer Science. Computation may generally require conscious decisions to be made, but those parts of compuation, hence, are not Computer Science. Do we need to write examples here about example instructions of computation that would require conscious decisions? If we do, ask yourself are these instructions computable by today's technology? Will they be computable by some future technology?
That is what computability conquers. And, that is why Computer Science limits itself to the physical domain -- to conquer it. There is computation, and there is reality. Seriously, tell me everything that we can't compute if and only if by purely physical forces and bodies, and I'll tell you what is not Computer Science. — Dzonatas 15:31, 28 November 2005 (UTC)
Just to remind people - the summary is not a good place to put your personal view of what Computer Science is. It needs to be clear, readable, comprehensible by a wide ranging audience (including non-technical people), and holistic on the topic. I think that the proposed change fails in a number of those areas. Dzonatas - if you think that there's something wrong with the Church-Turing thesis page, then make changes there. Since the summary of this article is so controversial, changes to it are likely to be hotly contested. The summary should reflect at this point be deliberately written to reflect a consensus view - things that we can all agree on. Which I think it currently does. Sbwoodside 01:12, 29 November 2005 (UTC)
Besides the "cut tape" delimma above (pun intended), if the words expresses the same intentions of the original source then I agree an editors own words may subsitute discussion. If the reworded phrases fail to bound the same means, I would not agree to such original content. The one from the ACM emphasizes information technology more than computer science, as IT is the pillar of their foundation. Perhaps, that definition belongs on the Information Technology article. — Dzonatas 01:03, 30 November 2005 (UTC)
Dzonatas, what makes you think this definition is refering to information technology, besides the word information in it? From what I understood when reading the article in which the acm gives this definition, they are trying to define what CS academic cursus should include, and they come to the conclusion that CS and CE are different yet so closely related that no CS training can exclude a CE training an vice-versa. They finally define the union of CS and CE as "the discipline of computing", for which they propose the above defintion.-- Powo 09:53, 30 November 2005 (UTC)
Powo, the document states beforehand another definition of the body of knowledge of computer science, and then it later states the discipline of computing an a definition for that. It's pretty clear to use "computer science" and "computing" in different contexts, but the article doesn't specifically point them out. It does state a difference as to "what can be automated" as opposed to the computability aspect as "what can be computed." The article further explains that it hints and highlights divisions of the science, and it doesn't seem to specifically set any bounds on computer science, but it does on computing. It also considered the physical sciences a newer addition to CS than other foundations, but past papers have shown the physics and physical sciences are in strong relation. — Dzonatas 15:36, 30 November 2005 (UTC)
Here is a bunch of remarks, in hope it will help going forward. These are my personal POV's, and I have no claim that they are universally accepted!
- It seems to me that it is more usual to compare CS to mathematics than to physics. In this sens, the point of view of Dzonatas is minoritary, because it seems to emphasize strongly on the fact that a computation is a physical phenomena.
- Clearly, a computation is a mathematical object. A typical prototype is what follows from a TM, though there are other models, more or less equivalent (c.f. history of RAM for differences between RAM and other models). Plenty mathematical models of computations, extensive litterature, etc... abound in this direction.
- In my opinion, the point of view of Dzonatas is no nonsens: a computation can be a physical phenomenon. However, this is a far less common way of thinking of a computation. What exactly is a physical computation is fuzzy. However a core of physical phenomenon, I believe, would make immediate concensus. E.g. what happens inside a digital computer is clearly a physical computation. But there is more than that to be putted into the bag of physical computations. I have no knowledge of work defining what a computation is from the physical point of view. The more interesting and exotic example I can think of was an article I read in an EATCS bulletin, where comutation where done by a chemical reaction in test tubes... Ultimately, and without much meaning in my opinion, it has been previously claimed on this talk page that every physical phenomenon is a computation, because the world itself is a computer. (I disagree with tgoing in that direction, its metaphysics, not science in my opinion).
It seems to me CS is a particular science: very much like mathematics, however with a strong link to a physical world. In the point of view (my interpretation) of instrumentalism, one difference between CS and physics is that, contrary to physics, CS started by being a purely T-term science, with no real O-terms and statements. Another difference is that the O-terms studied by CS are not natural, but constructed by humans. On the other hand CS studies computation and computations are T-terms , but also O-terms. On the contrary, probably mathematics has no O-terms, which makes CS different from mathematics. In fact, under some definitions of science, it could be argued this makes CS a science while mathematics are not a science.
Sumarizing, I think CS is well defined as the study of computation, computation being both a mathematical object and a physical object. However, the current definition(s) put(s) a strong emphasis on the physical part (mostly because of the word mechanical), in accordance with the point of view of those who defended this definition. This is a non NPOV and should be tempered. Further in the article, the existence of physical computations and computations as mathematical objects could be explained, and instrumentalism may be a good inspiration. BTW, if I was quizzed about what the extent of mechanistic explanation is, I dont think I would find out it is refereing to CS! -- Powo 21:47, 30 November 2005 (UTC)
It wasn't point to state computation as a physical phenomenon. Computation, however, involves a greater deal then just the physical domain, and that is my point. Whereas, computer science is bounded by the physical domain; therefore, a subset of computation is a phenomena in computer science. (I'll respond more, later...) — Dzonatas 23:47, 30 November 2005 (UTC)
Is this ridiculous or what? Here we have an article about a core topic that other people in Wikipedia are saying is one of the most important articles in the wikipedia, and every day there's a crazy new summary? I have a degree in CS and I have to read pages and pages of arguments to find out what the heck "mechanistic" means and here it is in the first sentence of the whole article.
Dzonatas and others, please read WP:LEAD.
Does this article explain what "mechanistic explanation" is? No, it does not! So if you're going to stick that in the lead, write a section on it, explaining what it means -- first!
Please -- the summary of this article should follow the guidelines in WP:LEAD -- and if it isn't, I consider that good grounds for reversion. Which I am now going to do with the "mechanistic" bit. Sbwoodside 05:36, 1 December 2005 (UTC)
The article doesn't define "mechanistic explanation" redundantly as a dictionary, no. It does touch basis to relate where the expression starts. Computation isn't defined, as you say, in the article, so I wonder why you reverted to "all areas of computation." However your right, it does need improvement, and to revert to a definition that is propositionally false about computer science doesn't improve the article. I'll take some time to recollect some sources I have come across. In the mean time, various dictionary entries:
mech·a·nis·tic adj. 1. Mechanically determined. 2. Philosophy. Of or relating to the philosophy of mechanism, especially tending to explain phenomena only by reference to physical or biological causes. 3. Automatic and impersonal; mechanical.
mecha·nisti·cal·ly adv.
Source: The American Heritage® Dictionary of the English Language, Fourth Edition
mechanistic
adj 1: explained in terms of physical forces; "a mechanistic universe" 2: of or relating to the philosophical theory of mechanism 3: lacking thought or feeling [syn: mechanical]
Source: WordNet ® 2.0, © 2003 Princeton University
Main Entry: mech·a·nis·tic Pronunciation: "me-k&-'nis-tik Function: adjective 1 : mechanically determined <mechanistic universe> 2 : of or relating to a mechanism or the doctrine of mechanism 3 : MECHANICAL - mech·a·nis·ti·cal·ly /-ti-k(&-)lE/ adverb
Source: Merriam-Webster OnLine
mechanistic • adjective Philosophy relating to the idea that all natural processes can be explained in purely physical or deterministic terms.
Source: Compact Oxford English Dictionary
These popular dictionaries all have a similar means for the word "mechanistic." It is Turing that stated "purely mechanical, " and it was von Newman that stated "extent and limitations of mechanistic explanation." It is obvious that the physical aspect is significant to computer science. "Computation" can mean procedural calculation or logical method. Turing made such computation more finite as phrased "effectively calculable." Another section that covers these points as well as computation included in general would help. — Dzonatas 15:34, 1 December 2005 (UTC)
Hi folks. I just added a definition which I tried to make the less controversial. I failed, for sure, however I reacon it is less controversial than the previous one. Here is my proposition:
Computer Science is a young academic discipline with roots in mathematical logic, linguistics and electrical engineering. Its very fast development is closely related to the emergence of digital computers, however it is widely recognised that it does not restrict to the study of computers. Computer scientists generally agree that the concept of computation is central to computer science, and the proposition to define computer science as the study of computations is not uncommon. The status of computer science as a science is often challenged, typically arguing that it is more like mathematics and that it would not follow the scientific method, however these facts are not unanimously accepted. Computer Engineering (CE) is very closely related to Computer Science, and their frontier is often blurry. In popular language, the term computer science is often confusingly used to denominate anything related to computers.
I had it on the main page, and if you dont think it is too bad, maybe we can discuss changes to it on the discussion page and change it slowly after debating it. So, how do you like the definition? What does it miss? How is it erroneous? Best, -- Powo 20:49, 2 December 2005 (UTC)
Good information. The entire article doesn't cover most of that, and as sbwoodside suggested we're close to an agreement. — Dzonatas
I think at this point it's not a good idea to rewrite the summary completely since we seem to be (maybe) converging on a consensus. So, I reverted it... I did use the second half of what you wrote though to rewrite my disclaimer on the definition of CS. Sbwoodside 21:13, 2 December 2005 (UTC)
Hmmm... Folks, from a logical point of view, your arguments are fully sensible. But I question the premisses: I think we are very far from an agreement. Sorry.
Is this not far from an agreement hey?! Kind regards, -- Powo 21:56, 2 December 2005 (UTC)
Ok, so you want to keep going with the previous (bad IMHO) definition. So let me please challenge you:
We are not finished yet! Hopefully we'll make it in the end. Best regards: -- Powo 01:08, 3 December 2005 (UTC)
Your opener doesn't give me a definition or clear description, but it does give me historic information. — Dzonatas 11:46, 3 December 2005 (UTC)
Basically, my opening saiz:
These are uncontroversial facts. This is an abstract high level definition. Maybe have I missed some important points.
Whereas my proposition is structured, it seems like the current definition is clumsy, adding parasital information. E.g. "is an academic discipline, a body of knowledge". The fact that it is a body of knowledge is trivial! It lacks structure: it enumerates random disciplines, says they are fundamental, and that it leads to (the development? The construction? Again a word missing...) of other disciplines, e.g. algorithmics. In its current form it imlicitely states or at least hints, that operating systems is a fundamental discipline that lead to formal languages. Although I admit this is not explicit, and probably not intended, it shows the clumsiness and unscholarliness of the current definition. It also introduces non NPOVness, since it states some subfields are fundamentals. For example, I dont think OS is a central part of CS at all. First of all, I dont think it is really related to CS, but rather to CE.
We need to structure what we want to put in the opening. I propose the following program:
-- Powo 12:50, 3 December 2005 (UTC)
Why not try to write what you have wanted to explain as part of the body of the article. There is no concrete NPOV definition. We have a lengthly discussion above that screams that fact. What we can do is describe the discipline, its programs, and how it relates to the body of knowledge. Personally, I rather see a more technical definition, but the argument to write for an audience of teenagers wins out. Read the CS programs at universities, and you'll notice that "hardward", "software", "theory" (computation), and "electronics" are the most general terms used to describe what paths to follow. Someone who wants to know hardware and electronics probably wants to be a computer engineer. Someone who wants to know software and theory probably wants to be a software engineer. Someone who wants to know software and hardward probably wants to know about information technology. Add business to that last one and you have a TechnoMBA. These aren't the only examples and by no means are they concrete.
We have a list of specifics in the body -- too many lists. Unfortunately, the article is too much bones and not enough meat. We've discussed many issues above that make great pieces for the body or other articles. — Dzonatas 14:27, 3 December 2005 (UTC)
Ok. All very good. So if this page is to become a description of what non-computer scientists think CS is with a teenage targeted audience, I am out of the game. I am fed-up of seing this page mungled by amateurs, like Stan said. At the time I thought he was extreme... --
Powo 18:41, 3 December 2005 (UTC)
Powo, its not what they think it is, but it is not unheard of to write technical articles at a 12th grade level. The audience here isn't just computer scientists. I've been very patient to answer your questions. Most of these question make great topic/header starters. — Dzonatas 19:11, 3 December 2005 (UTC)
Sure the audience is not only computer scientists (they know what CS is...) but at least the writers should be.--
Powo 19:27, 3 December 2005 (UTC)
Powo has stated above that the writers of the article should only be computer scientists. Unfortunately, it does not work that way. If there was such a rule, most of the content in wikipedia would never get written because of the tedious job to find someone that would be so consensually deemed qualified to write. That is what non open content encyclopedias do because they get paid for it to hold a certain reputation. That is also their downfall as those encyclopedias lack information from a larger resourceful population.
Technically punny: if we let this article only be written by computer scientist, then they aren't doing their job. Computer scientist are theorists, researchers, and inventors. They aren't editors, so why are they here? I'm sure the computer scientist that have so professed that their wisdom is so great here that they have judged all others as to be excluded in any attempt to write on the article surely would not let any technical detail such as the benefits of open content to be so unfamiliar to them. Perhaps, those computer scientist that profess such great wisdom should write their own version of wikipedia that prohibits anybody except doctors of philosophy to edit content. They can further provide a website for their content. They could even run their own server for their website. If the information is truly worthwhile, they can put up hit-counters and advertisements and get paid for it. Nevertheless, they have come here but only to tout themselves and taunt others.
Fortunately, wikipedia is much more open than that. — Dzonatas 12:06, 9 December 2005 (UTC)