A famous computer scientist, Edsger Dijkstra, once remarked, "Computer Science is no more about computers than astronomy is about telescopes." I am inclined to agree. However, this brings up an interesting question: what would a better name for the field be?
Probably it should be Computing Science, or the Science of Computation.
By the way, I don't think Computer Science should be renamed. It's older than the computer itself. If something should be renamed, it's the computer that's doing much more nowadays!
In a few countries, it is called something like datalogy (Datalogi in Denmark), or "the study of data". That is, generating, using, analyzing, processing, manipulating data. It took me a few years to get used to that name (partly because it sounds boring as hell compared to "computer science", and partly because it sounds awkward in English), but today I can't help thinking it's a remarkably accurate name. Computer Science isn't about computers, and it isn't even about comput*ing*. Computing (on computers) is just a tool used to process and reason about data, and of course, do so efficiently and without any errors.
The name was strongly advocated by Peter Naur, the guy behind Algol 60 and (part of) the BNF notation. Also by Niels Bohr, the Danish physicist and Nobel laureate.
I believe Germans and some other countries use the name "Informatik" which seems to be founded in the same basic idea, that the important part isn't the process you're using (computing), or the physical tool you use (computer), but about the data or information you work on.
I suppose the problem with "computing science" is that it doesn't really fix the issue Dijkstra pointed out. In addition to the telescope/astronomy quote, he also said something like "computer science is like calling surgery 'knife science'". Computing science might be a slight improvement, in that instead of knife science, it corresponds to "cutting science". A bit better, perhaps, but not much. The important thing isn't really that you cut, or what kind of knife you use, but what you're cutting, and what you're trying to achieve with it. In that perspective, I think something like "datalogy" is much more to the point than "computing science".
Physics is the science of the behaviour of that which is physical.
So I think 'datics' is the science of the behaviour of that which is data.
Cheesy, but no longer requires sayings like:
"Computer science is no more about computers than astronomy is about telescopes." --Dijkstra
maybe "computer science" is ok. see a related paper by peter denning: http://cs.gmu.edu/cne/pjd/PUBS/CACMcols/cacmApr05.pdf
What's wrong with the name? Computer science might not be about computers, and neither is it a science1) (Abelson in his SICP lecture), but then, neither are social sciences.
That said, the German term “Informatik” or French “informatique” might capture the concept better. If I were therefore in any position to make such a proposal, I'd go with technical informatics.
1) An article on Wikipedia explains this nicely:
The difference between [computer science] and natural science is that [computer science] starts from theoretical ideas and leads to other theoretical ideas through thinking processes, while natural science starts from observation of the real world and leads to more or less useful models for an empirical part of reality. One can never learn anything empirical from studying formal sciences alone. One can never prove anything empirical through the use of formal sciences.
Initially I attended college for a BS in CS, but after already having a decent Full time job I took leave. Later when I returned, the degree was a BS in Information Technology (IT) which honestly is much more applicable to the kind of work that most programmers who leave college will end up at.
It is also nice having the diversity of tech support in both hardware and software, networking, etc. Kind of like attending a University where they want you well versed in a few fields, not just focused on a single area.
I got a college degree from University of California, Santa Cruz in "Computer & Information Science."
I always assumed the 'information' part was due to the influence of David Huffman, who was a senior member of the faculty. He famously did not use a computer.
The source of the quote is Edsger Dijkstra. Dijkstra was always keen on the theme that it is the algorithm which comes first; the computer exists only to execute it. Hence the quote. Astronomy isn't about telescopes; it is about the nature of the space above the earth's atmosphere, for which telescopes are merely a tool of observation.
Likewise, computers are merely a tool for symbol manipulation. However, perhaps the analogy breaks down here. In what we call computer science, which is also what I believe Dijkstra called it, we aren't really as interested in the raw data that we manipulate, as we are interested in the series of instructions our computer executes in order to perform that manipulation. If we were working in astronomy, our interest would lie in the process by which we use our telescopes to search, and what process we use to analyze all of the data we collect from observation.
So if by "the field" you mean what Dijkstra was referring to, I would suggest something like Algorithm Science.
I guess the better question is, what are you studying and doing in particular?
If you are working with mathematical algorithms and working to improve upon then, then a good name might be Algorithm Science.
If you are working in industry writing code, then a good name for a degree might be Applied Algorithms.
If you are working in industry and you are concentrating on what is the best way to coordinate the development of new software, then the best name might be Software Engineering.
If you are interested in working with large data sets and the best way to manipulate then both in and out of industry, then the best name might be Data Analysis or Data Processing.
Why not call it "Look. Don't ask me why your ruddy printer's broken. I write software for a living."?
The term Computer Science now covers a great deal of ground from applied mathematics (algorithms, queueing theory) to applied physics (hardware, but also graphics modeling) to applied psychology (human factors). Don't get involved in a flame war about what is the "real" computer science and what is merely peripheral.
Building computer programs is not a science, it's an art or at best a craft.
Programming is about explaining ones thoughts and ideas in a limited language to an entity that will do exactly what you tell it and it a way that other humans can also understand.
I like the European term 'informatics', but I think we need to concede that in computer science we are stuck with a lot of names that are not really accurate or descriptive ('bss section', 'optimizer', 'grep'), and 'computer science' is just another one. 'That Which is Practiced By Engineers Who Name Things Before They Understand Them' is just a bit unwieldy.
My dissertation advisor, whose degrees were in physics, used to love to say that
Anything that has to call itself a science isn't.
(Library, military, social...)
<Dons asbestos suit>
But compuer science is not all about algorithms. We study alot of things,
- computer networking
- software engineering
- hardware/software interface
- graphics programming
- database systems
- operating systems
- human computer interaction
- distributed systems
All of these things are about computers, they don't just exist without the computer! and although they employ logic and math heavily, they're don't fit under the name Math/Logic.
One of my profs used to say that computer science really is science, because when you write software, you're finding solutions to problems, applying the scientific method of gathering information, analysis, testing.
Like all good things, we should just scrap the meaning and just have the abbreviation. CS is nice. A recursive acronym would be even better. Takers?
I personally feel that "computer science" is pretty good. The "science" in it lends it the rigor associated with the traditional sciences like mathematics and physics, and allows it to be forked into the pure and applied versions. However, computer science as it is today implies the pure version, while the applied version is actually just software engineering etc.. Innovation in computing comes from both the industry and from the academia, so I feel that it is important that we keep the science word for the academics so that they can remain to feel like stakeholders. If it were renamed informatics, they might feel disenfranchised as merely a department and not a science in its own right. That being said, A rose by any other name would smell as sweet. so it shouldn't really matter.
Hal Abelson in the first video lecture for SICP reccomends that computer science not be called computer science but rather "Managing Complexity".
I think it's a sub-field of Process Engineering (and I'm not entirely sure that's a real field). Software engineering is all about designing effective processes. That is why I believe software engineers would make good politicians... the legal system is just a process, and the legislators try to design that process. A lot of the lessons apply equally well.
"Fungineering"
The "science" part of the standard name is problematic. It was obviously chosen to confer respectability on a young discipline, but it's entirely inappropriate - or it should be.
Science is about approaching something about which you initially know very little and trying to construct a model of how it works by experimenting with it and drawing general inferences from the results of those experiments. Unfortunately, it is certainly applicable to aspects of our jobs, e.g. when you assume responsibility for a million or so lines of code written over a decade by fifty people who came and went and never left any comments. But even then, you can - in theory - look at the code and reason from that, without needing to run anything to find out what it does (yeah, right.) In practice, the explosive complexity will force you to use the experimental method to double-check your theories.
It's also applicable when a customer calls and says "When I do X, it makes Y happen" and you have to figure out (a) whether this is really true and then (b) why X makes Y happen so you can (c) change the code, and re-run your experiments (tests) to ensure that you haven't changed anything you didn't intend to.
Pretty much the whole thrust of CS, of the evolution of language features, is to find ways to make this scientific approach less necessary. Ideally, you shouldn't need to apply the scientific method when you're writing programs - it's a sign that things have gotten out of hand. In practice, things regularly get out of hand, so a good understanding of the scientific method is essential, but that's no reason to make like it's the aim of the whole exercise.
This is why I regard it as defeatist or pessimistic to talk about "computer science". If all I had to look forward to each day was another day of "computer science", reduced to carrying out experiments to try and figure out the mystery of the big hairy mess of code, I'd probably change careers.
In Germany 'Computer Science' is called 'Informatik', an artifical word. Meanwhile this word has also found its way into the English language, 'Informatics'. The definition to be found in Wikipedia is quite good and quite identical to the German one, click here.
I studied 'Informatik' in Germany. Actually the the self-image of that scientific area might be a bit different from the anglo-american 'Computer Science', my personal definition (to describe what it's all about, not the expression) would be a kind of 'science of structure'. I am convinced that huge parts of the knowledge in this area are also applicable to different trades that have to do with organisation, but not necessarily with solving problems using computers, so it can make sense to use a term that does not contain 'Computer'.
+1 vote for Informatics (and I'm English)
-1 vote for "IT" or "ICT" (as it's sometimes called in schools here)
Don't listen to Dijkstra. It's called "Computer Science" period.
Perhaps "Computer Science" is a slight misnomer and "The Science of Computing" would be a more apt name.
Computer science is more about the methdology of computing than it is about computers. A Computer program is a convenient way of expressing this methodology. Computers are just the laboratories where we perform experiments. Quoting SICP - 'Programs must be written for people to read, and only incidentally for machines to execute.'
Mathematics answers the question of 'what is', while computer science aims to answer questions of -'how to'. 'Computing science' seems to better describe the field.
How about 'applied epistemology' or 'turology'? :P
I tend to like 'Computer Science'. Although Computing Science would make more sense, I don't like how it sounds. 'Informatics' or 'datalogy' doesn't really capture the computing aspect, while 'Computing Science' doesn't capture the data processing aspect. At least 'Computer Science' makes it clear that it has something to do with computers, though it isn't 'a Science of Computers'.
Human Computer Interaction, though that is already used. I mean, isn't it all about that?
Computer science deals with the algorithms and the concepts more than the hardware used to run them. So I think that's the point he was trying to make. Nothing wrong as such with the name.
iam not a student of cs.according 2 me whatever produces ease is marical of science and thats what computers are doing endlessly.
Depends. Given how some schools use it as a portal for students to enter corporate software development, they should just call it "Applied Sofware Engineering" to make it not sound like a simple "Computer Programming" degree. For other schools that still teach the fundamentals of computing, it should simply be called "Computing Science" or Datalogy.
Just a random, late-night thought.
In Spain "Computer Science" is called Informática
and IT is called "Tecnologías de la Información"
I think many areas of computer science can be rightly called science, in that they are fields of exploration rather than of creation. What's odd is that computer science is the only purely man-made science. In this sense, computer science encompasses what in the physical world would range from what we call "theoretical physics" to "mechanical engineering".
I do think much of computer science is an art or a craft rather than a science. I don't think algorithms, information, etc. convey enough on their own to work for the whole field. Some options:
Applied syntactics
Applied abstraction
The Great Bug Hunt
I don't think the German "Informatik" is such a good term. By inference, if statistics is the study of statī (which could be translated as 'standings'), informatics would be the study of īnfōrmātiōnēs (ideas, concepts). If you use a more recent translation, it could be the study if bits of information. Which isn't really what computer science is about. Computer Scientists don't study the information, as statisticians do with the data they use. We study ways to conceptualise those data and of finding them.
If I use this method to come up with a term, the one that jumps out is Computistics. Something like the study of computation But, since I know very little Latin indeed, I may be completely off the page. If my Latin turns out to be sound, I will say, Computer Science should be called Computistics. Not because I think every word should be derived 'properly' from Latin, but it sounds nice, doesn't it?
I like what Donald Knuth calls it, "The Art of Computer Programming".