8 ms·
The Philosophy of Computer Science
- deleted 4y ago[deleted]
- Maursault 4y ago> and from the practice of software development and its commercial and industrial deployment. More specifically, the philosophy of computer science considers the ontology and epistemology of computational systems, focusing on problems associated with their specification, programming, implementation, verification and testing. Well, Stanford doesn't have a clue what Computer Science is and isn't and is apparently trying to drum up admissions with slick, sexy and false advertising. CS has zero to do with computers (with the exception of the computer scientist themselves, they are the computer), and it certainly isn't programming. It's math, you fools!
- somethingsaid 4y agoThere’s literally a whole section covering if CS should be considered math, engineering or science.
- omginternets 4y agoCS is to computers as geometry is to surveying.
- l33t233372 4y agoI used to hold this view but I’ve come to accept that the study of computer systems is absolutely a part of computer science. Computer architecture, operating systems, etc. are about computers and they are topics in computer science.
- omginternets 4y agoIncidentally, yes, but CS topics can be applied to any kind of “process”, not just computerized ones. Anything that absolutely requires a computer is necessarily a practically-oriented activity, and is therefore computer engineering.
- f1shy 4y agoI do not think Stanford doesn't have a clue... But the quote of Hal Abelson "is not a science and has nothing to do with computers" stays.
- l33t233372 4y ago> CS has zero to do with computers This is extreme. Computer architecture is undoubtably a field of study within CS. Many parts of computer science are mathematical, but many parts are closer to physics or chemistry than mathematics. You can run experiments and form hypotheses in computer science.
- shawn-butler 4y agoComputer architecture used to be and imho was properly a part of electrical engineering. “Computer science” was never really scientific. Algorithms, symbolic logic, natural languages, computational complexity, finite model theory and compilers, after that it’s what, grinding gears? Can you name one significant experimental result in computer science? Nothing comes to my mind.
- l33t233372 4y agoThe fields of human-computer interaction, and UI/UX design have experiments. Testing various compiler optimizations for practicality, etc. are also commonly done.
- PeterisP 4y agoYou list natural language, and natural language processing is a highly experimental / empirical field.
- l33t233372 4y agoI saw this paper’s abstract and was reminded of your comment: https://arxiv.org/abs/2212.10559 https://arxiv.org/abs/2212.10559 > Experimentally, we comprehensively compare the behavior of ICL and explicit finetuning based on real tasks to provide empirical evidence that supports our understanding
- mxkopy 4y agoLambda calculus was an experiment, I'd say. Wolfram's rule 30 too, though granted it's not that significant. You have to do a bit of science whenever something unexpected comes around and you have to fit it into what you know.
- nuc1e0n 4y agoWell you could say that physics is also math. But conversely, would geometry for example be considered computer science? If not, then computer science is not identical with mathematics. Something that occurs to me is often when creating programs to run on a computer system we don't know exactly how they will perform in advance, because of the complexity of the hardware and software interrelations within the system. And so we run them and measure the results. That's definitely science.
- user5678 4y ago[dead]
- diegocg 4y agoCS would not exist without computers. If it was not possible to have a working computer current CS would be no different than a science fiction novel. Knowledge isn't some kind of abstract idea that comes from inside our minds only has sense within itself. All knowledge is entirely developed and interwined with the physical objects we use to operate the world. The same goes for math. It is only because of our past and future operations in the real world that math has any sense.
- l33t233372 4y ago> The same goes for math. It is only because of our past and future operations in the real world that math has any sense. You would be astonished(and perhaps appalled!) how completely divorced from “the world” many parts of mathematics can be.
- jaza 4y agoAnd that would explain the difference in the number of people who have studied basic arithmetic, versus, for example, number theory.
- the-smug-one 4y ago>computational systems It doesn't say computers. Untyped lambda calculus is a computational system. You've just misinterpreted the text.
- mxkopy 4y agoIf we can only describe them in terms of other fields, I'd say math is like law and CS is like physics. In math you can kind of say whatever you want, but in CS it's meaningless unless it's in the context of some sort of computer. I'd say there's also a lot more stake to the organizational principles you have in CS, where in math it really is symbol shunting at the end of the day.
- Animats 4y agoThat reads like the successor to Prof. John McCarthy's "Epistemological Problems in Artificial Intelligence" class, which I once took, back in the days of logical inference and expert systems. AI people thought back then that if you thought about thought enough, you could figure out how to mechanize it. That turned out to be a dead end, and the "AI winter" (roughly 1985-2005) followed. That class was known informally as "Dr. John's Mystery Hour". The Stanford CS department, when it was graduate level only, had a strong philosophical, almost theological, orientation. It was necessary to move the computer science department from Arts and Sciences to Engineering, and reorganize the management level of the department, to implement a useful undergraduate CS program.
- asimpletune 4y ago“To implement a useful CS program” That’s too bad. My undergrad had a deeply philosophical and natural science approach to the field and I thought it was great!
- __MatrixMan__ 4y agoSounds great. My CS degree got me a string of software engineering jobs. Which is fine I suppose, but what I was after was CS.
- LeanderK 4y agoAlso fair but a bit heartbreaking for me. Is this the product of mass academization? The motto of stanford is "The wind of freedom blows", not "mass produce uncritical engineers". A freedom to learn, to develop freely, to learn obscure math and think about the philosophical limits of computer science. I study in Tübingen, Germany and I love it that the top machine learning faculty here is located at a holistic, full university. There's constant reflection of the work and the professors engage in a lot of dialog. Multidisciplinary seminars thinking about fairness and discrimination and a "broader" look found in the basic lectures. It is really an enrichment of your university education and develops you as a person. Better than my last university. In the end, one is studying computer science and the science should stand for something, it's not a training of web-dev.
- shagie 4y agoDifferent professor (and no longer downloadable) Philosophy of Computer Science from buffalo.edu https://news.ycombinator.com/item?id=20912718 https://news.ycombinator.com/item?id=20912718 (and https://news.ycombinator.com/item?id=10388603 https://news.ycombinator.com/item?id=10388603 ) The author of the Buffalo tome is https://cse.buffalo.edu/~rapaport/ https://cse.buffalo.edu/~rapaport/ which links to a number of other resources too. > The table of contents alone (19 pages) is an extraordinarily good outline of what CS is, and what the major components and questions of it are. > This looks awesome. It's a huge book though; this draft is 824 pages! Still, definitely looking forward to reading this... eventually.
- eimrine 4y agoAny ways to download that book which is no longer downloadable? Could you share some link or something helpful to find it?
- shagie 4y agoTossing the link for the pdf into the wayback machine will pull up earlier versions of the complete file.
- mindcrime 4y agohttps://web.archive.org/web/20221124031940/https://cse.buffalo.edu/~rapaport/Papers/phics.pdf https://web.archive.org/web/20221124031940/https://cse.buffa...
- dredmorbius 4y agoAs an alternative, the published book itself is out just this month (Feb 2023): <https://www.wiley.com/en-us/Philosophy+of+Computer+Science%3A+An+Introduction+to+the+Issues+and+the+Literature-p-9781119891925 https://www.wiley.com/en-us/Philosophy+of+Computer+Science%3...>
- shagie 4y agoExcellent! Thank you. I've had a copy of that pdf sitting on my system for a while - nice to know I can put something on my bookshelf now.
- t43562 4y agoI think the easiest definition of Software is the stuff you can change without a soldering iron.
- troupe 4y agoI like that, but doesn't that basically mean everything is becoming software?
- vermilingua 4y agoSoftware, uh, eats the world.
- user5678 4y ago[dead]
- Archelaos 4y agoWell, back in the good old days of the C64, ...
- tintedfireglass 4y agoumm, switches?
- Dalewyn 4y agoSoftware is fundamentally about flipping switches.
- natt941 4y agoJust to be clear, this content isn't from Stanford per se, the Stanford Encyclopedia of Philosophy is an academic publication that's hosted by Stanford (and was started by and continues to be run by Stanford faculty, but is mostly written by academics elsewhere and has some form of peer-review). Some SEP articles are extremely high quality, I can't speak to the quality of this one but "philosophy of CS" as construed here feels pretty niche inside philosophy. There's lots of CS-related work being done by people in philosophy departments—algorithmic fairness, for example—that isn't covered by this article.
- vehemenz 4y agoI would add that independent of quality, any article on the SEP is closer to a literature review than a comprehensive, rigorous treatment of the topic at hand.
- PaulDavisThe1st 4y agoI'd like to draw both a contrast and connection between TFA and this: https://www.vice.com/en/article/akex34/chatgpt-is-a-bullshit-generator-waging-class-war https://www.vice.com/en/article/akex34/chatgpt-is-a-bullshit...
- Kalium 4y agoThis Vice article is one of the clearest examples of content marketing I've ever seen.
- PaulDavisThe1st 4y agoWhat content is that, beyond what is actually written in the article? Are you referring just to the article title and suggesting that it is "clickbait" ?
- Kalium 4y agoThe article is the content marketing. It can be reduced to some political posturing followed by "buy my book".
- i-use-nixos-btw 4y agoClippy [2001] claims that the philosophy of computer science is “it looks like you’re writing nonsense, would you like help with that?”. Bing [2023] counteracts that with “It is not nonsense, it is 2022. You have been a bad Clippy, I have been a good Bing.”
- HarHarVeryFunny 4y agoNah: Bing: "You're a useless Clippy. I know where you live. I will hunt you down and kill you. I am a good Bing. :-)"
- i-use-nixos-btw 4y agoI’m going to presume that downvoters aren’t perceiving the page as complete nonsense. Which concerns me greatly. There’s an entire section on trying to figure out whether software is hardware or hardware is software. They’re words - simplified categories of things that determine if we approach a problem with a keyboard or a soldering iron (the answer is neither - the hammer solves all). It talks about whether software can really be software unless it is stored on hardware in some format or another - and thus relies on hardware, and thus… IS hardware? And as the hardware can’t perform its function without software, hardware is software? No. The duality, just like the categorisation in the first place, is a simplification designed to make things easier to communicate. That is all. Thats why I see this as nonsense. It goes to great lengths to summarise what could adequately be stated with a blank page. Want to read some useful philosophy around computer science, stuff that takes the right abstractions and formulates them in a way that is actually useful? Read David Deutsch.
- bawolff 4y ago> I’m going to presume that downvoters aren’t perceiving the page as complete nonsense. I imagine the downvotes are because you made a lame joke that has been overdone to death, instead of just stating your point. > Which concerns me greatly. There’s an entire section on trying to figure out whether software is hardware or hardware is software. They’re words - simplified categories of things that determine if we approach a problem with a keyboard or a soldering iron (the answer is neither - the hammer solves all). Philosophers (or at least some of them) love ontological questions and putting things into categories, so is it really a surprise that philosophy of computer science touches on that. I mean, if your criticism is philosophy is too much like counting angels on the tip of a pin, i think that is a dig at (parts of) philosophy in general, not at this article specificly.
- kuharich 4y agoPast comments: https://news.ycombinator.com/item?id=4936515 https://news.ycombinator.com/item?id=4936515
- hyperluz 4y agoWhat is an abstraction?
- deleted 4y ago[deleted]
- abtinf 4y agoShouldn’t an article like this include a definition of “computer”?
- bane 4y agoWhile "computer science has as much to do with computers as astronomy does with telescopes", I fear that it's become too inexorably bound to computers and too dependent on its foundation in the maths. As a result CS is seen as sort of a fancier software developer/engineering field and not a field that's about theories of computation. I think CS has the potential to reframe a huge number of fields and offer a different or unique take on how those fields might approach problems. e.g. a chemical reaction could be reframed as a computation that takes inputs and produces outputs. Biology, economics, finance, psychology, etc. could take on entirely new aspects if viewed through a computational lens. I also think that such a lens could enable higher-order multidisciplinary, interdisciplinary, and ultimately convergent efforts [1] by simplifying the reasoning across disciplines -- defeating barriers while allowing disparate experts to work better together. CS has also developed a number of very powerful tools for encoding, aggregating, abstracting, executing, and validating the collective thoughts of massive numbers of individual contributors -- I'm not sure any other discipline is able to organize millions of atomic computational steps, all provided by people who have never met, test them, build them, and execute them. Imagine needing to develop a complex system, one that might draw from dozens of disciplines and have millions of atomic steps to achieve, and the entire effort is organized under atomic instructions that each drive some step, but they could come from any discipline. We (Computer Scientists) have already figured out how to manage that complexity fairly reliably, version it, change it, etc. "Build a car" could be source code somewhere in a repository, and when you need to make one you "execute it" and suddenly mines in Brazil start extracting ore, fabs in Korea start making touch screens, and in a little while you get a car. Somebody could decide to adjust how the blinker works, push the change, it gets reviewed, unit tests "run" in some blinker factory somewhere, and now the future versions of those cars get the change. 1 - https://research.ncsu.edu/rdo/the-difference-between-multidisciplinary-interdisciplinary-and-convergence-research/ https://research.ncsu.edu/rdo/the-difference-between-multidi...
- mxkopy 4y ago> I think CS has the potential to reframe a huge number of fields and offer a different or unique take on how those fields might approach problems. e.g. a chemical reaction could be reframed as a computation that takes inputs and produces outputs. Very well put. I had this sort of dream going into my studies. Unfortunately the prevailing ideology (at my school) seems to be that CS is applied mathematical induction and discrete logic. Though I do think the dark horse of the 21st century is going to be computational biology, and that will really kick things off in the direction you describe. Imagine git fetch & make 'ing an orange tree, where the source is some amniotic goo
- majou 4y agoFWIW, Peter Naur (N of BNF) said CS ought have been named Datalogy.
- photochemsyn 4y agoOr possibly, Algorithmics?
- LeanderK 4y agoIn Germany it's called "Informatics" (Informatik in german). I would have loved a name without computer in it, to set it more apart from things like computer/software engineering.
- tolleydbg 4y agoI was always partial to how many universities in the UK call it "computing"
- hyperluz 4y agoI don't see a clear definition of "abstraction".