Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer science
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Philosophy== {{main|Philosophy of computer science}} ===Epistemology of computer science=== Despite the word ''science'' in its name, there is debate over whether or not computer science is a discipline of science,<ref name="Luk20">{{cite journal|last = Luk| first= R.W.P.| title=Insight in how computer science can be a science| date = 2020 | journal = Science & Philosophy | volume = 8 | issue = 2| pages = 17–47 | doi = 10.23756/sp.v8i2.531}}</ref> mathematics,<ref name="Knuth74">{{cite journal| last = Knuth| first=D.E.| date = 1974 | title = Computer science and its relation to mathematics | journal = The American Mathematical Monthly | volume = 81 | issue = 4 | pages = 323–343 | doi = 10.2307/2318994| jstor=2318994}}</ref> or engineering.<ref name = "plato">{{cite book| chapter-url = https://plato.stanford.edu/entries/computer-science/#EpisStatCompScie| title = The Philosophy of Computer Science (Stanford Encyclopedia of Philosophy)| chapter = The Philosophy of Computer Science| year = 2021| publisher = Metaphysics Research Lab, Stanford University| access-date = September 16, 2021| archive-date = September 16, 2021| archive-url = https://web.archive.org/web/20210916211931/https://plato.stanford.edu/entries/computer-science/#EpisStatCompScie| url-status = live}}</ref> [[Allen Newell]] and [[Herbert A. Simon]] argued in 1975, {{Blockquote|text =Computer science is an empirical discipline. We would have called it an experimental science, but like astronomy, economics, and geology, some of its unique forms of observation and experience do not fit a narrow stereotype of the experimental method. Nonetheless, they are experiments. Each new machine that is built is an experiment. Actually constructing the machine poses a question to nature; and we listen for the answer by observing the machine in operation and analyzing it by all analytical and measurement means available.<ref name = "plato"/>}} It has since been argued that computer science can be classified as an empirical science since it makes use of empirical testing to evaluate the [[Correctness (computer science)|correctness of programs]], but a problem remains in defining the laws and theorems of computer science (if any exist) and defining the nature of experiments in computer science.<ref name = "plato"/> Proponents of classifying computer science as an engineering discipline argue that the reliability of computational systems is investigated in the same way as bridges in [[civil engineering]] and airplanes in [[aerospace engineering]].<ref name = "plato"/> They also argue that while empirical sciences observe what presently exists, computer science observes what is possible to exist and while scientists discover laws from observation, no proper laws have been found in computer science and it is instead concerned with creating phenomena.<ref name = "plato"/> Proponents of classifying computer science as a mathematical discipline argue that computer programs are physical realizations of mathematical entities and programs that can be [[deductive reasoning|deductively reasoned]] through mathematical [[formal methods]].<ref name = "plato"/> Computer scientists [[Edsger W. Dijkstra]] and [[Tony Hoare]] regard instructions for computer programs as mathematical sentences and interpret formal semantics for programming languages as mathematical [[axiomatic system]]s.<ref name = "plato"/> ===Paradigms of computer science=== A number of computer scientists have argued for the distinction of three separate paradigms in computer science. [[Peter Wegner (computer scientist)|Peter Wegner]] argued that those paradigms are science, technology, and mathematics.<ref>{{cite conference |author=Wegner, P. |title=Research paradigms in computer science—Proceedings of the 2nd international Conference on Software Engineering |location=San Francisco, California, United States |date=October 13–15, 1976 |publisher=IEEE Computer Society Press, Los Alamitos, CA}}</ref> [[Peter J. Denning|Peter Denning]]'s working group argued that they are theory, abstraction (modeling), and design.<ref name=Denning/> Amnon H. Eden described them as the "rationalist paradigm" (which treats computer science as a branch of mathematics, which is prevalent in theoretical computer science, and mainly employs deductive reasoning), the "technocratic paradigm" (which might be found in engineering approaches, most prominently in software engineering), and the "scientific paradigm" (which approaches computer-related artifacts from the empirical perspective of [[natural science]]s,<ref name=denning07>{{Cite journal | first = Peter J. | last = Denning | title = Computing is a natural science | journal = Communications of the ACM | year = 2007 | volume = 50 | issue = 7 | pages = 13–18 | doi = 10.1145/1272516.1272529| s2cid = 20045303 }}</ref> identifiable in some branches of [[artificial intelligence]]).<ref>{{Cite journal | first1 = A.H. | title = Three Paradigms of Computer Science | journal = [[Minds and Machines]] | last1 = Eden | volume = 17 | issue = 2 | year = 2007 | url = http://www.eden-study.org/articles/2007/three_paradigms_of_computer_science.pdf | doi = 10.1007/s11023-007-9060-8 | pages = 135–167 | url-status=dead | archive-url = https://web.archive.org/web/20160215100211/http://www.eden-study.org/articles/2007/three_paradigms_of_computer_science.pdf | archive-date = February 15, 2016 | df = mdy-all | citeseerx = 10.1.1.304.7763 | s2cid = 3023076 }}</ref> Computer science focuses on methods involved in design, specification, programming, verification, implementation and testing of human-made computing systems.<ref>{{cite encyclopedia |last1=Turner |first1=Raymond |last2=Angius |first2=Nicola |editor1-last=Zalta |editor1-first=Edward N. |title=The Philosophy of Computer Science |encyclopedia=The Stanford Encyclopedia of Philosophy |date=2019 |url=https://plato.stanford.edu/archives/spr2019/entries/computer-science/ |access-date=October 14, 2019 |archive-date=October 14, 2019 |archive-url=https://web.archive.org/web/20191014101624/https://plato.stanford.edu/archives/spr2019/entries/computer-science/ |url-status=live }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)