83 comments

[ 3.6 ms ] story [ 127 ms ] thread
This is obviously too big to be digested in a single chunk, but from a very brief first read, it looks impressive. 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.

The author is William J. Rapaport, emeritus professor of computer science at SUNY Buffalo: https://cse.buffalo.edu/~rapaport/

Wikipedia bio: https://en.wikipedia.org/wiki/William_J._Rapaport

Trivium: WJR is the author of "Buffalo buffalo buffalo buffalo Buffalo buffalo".

There've been some earlier submissions, few with much discussion, though from 2015: https://news.ycombinator.com/item?id=10388603

Also relevant, the "Philosophy of Computer Science" article at the Encyclopedia of Philosophy: https://news.ycombinator.com/item?id=16451072 https://plato.stanford.edu/entries/computer-science/

    ... earlier submissions ...
The front page of the PDF is dated 6 September, so this most likely is some newer revision.
The book has been in process for years. The previous 2015 draft was 824 pages, it's now 928.

I suspect a periodically-updated LaTeX draft with an auto-date macro.

From the preface:

This document is a continually-being-revised draft of a textbook on the philosophy of computer science. It is based on a course I created for the Department of Computer Science and Engineering and the Department of Philosophy at the State University of New York at Buffalo.

The latest (August 2019) edition significantly updates/adds chapters 5 ("What is Engineering") and 20 ("Computer Ethics II: AI").

>Ch 2. What is philosophy

Man, he's leaving no stone unturned.

looks fun, but man, do you really need to make subsubsubsubsubsections?
Philosophy is advertised as something more fundamental than logic itself. Here it's advertised as something more fundamental than computer science.

But when I read stuff like this I question the veracity of it all. The very first section seems to be talking about "science" and "computer science" then it goes on to talk about ethics... Is this really legit? I mean what "science" means and what "computer science" means is more of a english language problem then some fundamental aspect of reality... and ethics are just rules that govern human behavior and the human condition... does this really need to be merged with the formal fundamentals of computer science? It's like saying english literature is part of quantum theory or that morality is intrinsic to classical mechanics.

I'm curious but as an outsider looking in... it looks like a load of BS. Any top tier theoretical mathematicians or hardcore scientists have anything to say about philosophy? Or even the philosophy behind computer science? Is it worth reading this stuff?

Philosophy is the study of knowledge, including the idea of "knowing", and furthermore even being in a position to know (existence). It is indeed more fundamental, as it was probably the discipline in which first useful breakthroughs were made in human thought. Though we would do well not to confuse being more fundamental, with being more important (as far as people & society today are concerned).

In a way, it is the fuzzy wiring that underlies most other disciplines, that you need to poke around in when you run into longstanding, or seemingly intractable problems in what you're trying to do above. See for example: https://news.ycombinator.com/item?id=20905801

Computer science itself doesn't have ethics. It's like saying arithmetic has ethics. My question is why is philosophy including it as if it's part of the framework of computer science. It makes philosophy seem illegitimate.
Computer Science is pretty different from arithmetic (heck, that's a philosophical question in itself). Looking at the table of contents, he doesn't seem to be saying algorithms or data structures have ethics - but that a lot of recent developments in Computer Science can help us reckon with issues of what constitutes intelligence or autonomy, and the ethical ramifications that follow.
That's what makes it all seem illegitimate. The ethical ramifications of AI are a human quality outside of the computer science itself.

Computer science as a discipline like arithmetic has nothing to do with the human condition, it is just an aspect of logic. If philosophy purports to be more fundamental than logic or computer science why does it go on to talk about liberal arts topics of things like ethics or religion? It seems jumbled and disorganized and lacking of formal rigor.

Think about it. To use the analogy of arithmetic, the more fundamental theory is number theory. It dives into a lower level description of arithmetic. But then suddenly it starts talking about ethics and the moral implications of using arithmetic on human society. Is this social studies or formal logic?

Just read the intro, he explains what he means by ethics. There are two ethical questions to answer with respect to computer science. The first is are there decisions we should allow computers to make?
What nuclear missile trajectories should we allow mathematics to calculate? Yes, it's an ethical question that you can ask, but do you realize that this does not mean ethics is part of mathematics?

IF you can see how the question above doesn't force mathematics to be part of ethics. Then that same line of reasoning will help you realize how computer science is the exact same thing. The science of computing is entirely different from the application of computing (aka programming) side of it.

If philosophy purports to be a lower level description of mathematics/computing... why is it talking about ethics? The heart of computing relies on axioms, anything lower level then that would be an examination of what is an axiom? and what is logic? Not human rights.

I can understand your argument. Science necessarily must be void of any ethics in order to be science.

Then, people confuse ethics of what you do with science with the "ethics of science". It doesn't make any sense. But even if it's a thought contraction, it's imprecise enough to warrant a debate.

You are over thinking this.
The practice of computer science is a human activity and therefore involves ethics. Further, the argument that computer science is ethically neutral is itself a question of philosophical ethics.
The practice of mathematics also is a human activity and therefore has ethics when viewed from the context of human activity. However, math itself is not ethical. It just is.

The same is said of computer science. What you do on the job as a software engineer, is more engineering and applying math and programming in a human activity. The disciplines themselves, algebra, category theory, topology, calculus, number theory, computer science are all devoid of ethics or morals.

Combining ethics and science is like combining church and state.

is there any non-human math you are aware of? The categorization of mathematics into certain disciplines (algebra/topology/etc) is also a human choice. As is the choice to separate the philosophy class from the calculus class. They are all human choices, which reflect our outlook to life. I choose not to demarcate mathematics and philosophy because as far as I know only humans do mathematics, and every choice they make in that doing, teaching or researching has implications, even if tiny, for the good or bad that happens to this world.
All math is non-human.

What does the quantity one have to do with a human? Nothing. The only thing you are doing is giving it a name. "One" The categorization of mathematics is just nomenclature. We choose the name and categorizations of something that already exists independent of the human experience.

How does it make philosophy seem illegitimate?

I think that the three main areas of philosophy are being, ethics, and knowing. Of those, ethics doesn't apply to CS (until you try to make a program that does something), but that doesn't make all of philosophy illegitimate. It makes one branch of philosophy less applicable, that's all.

Ethics seems arbitrarily

It's a liberal arts thing.. opinionated ideas on how to behave well suited for a thick book with lots of prose. Very hand wavy and requires cultural context.

Science and mathematics on the other hand is more of a description of reality as we know it. It is a logical and cold description that is devoid of bias and the focuses on reality as it is not reality from the human perspective.

The two fields don't really fit together, but both are important. When you drop an atom bomb, science says "E=mc^2" while the liberal arts on ethics says "genocide."

Philosophy feels like a relic of the past. A lot of mathematics and modern science comes from it but it unfortunately includes a lot of more artsy human centric branches of study like religion and morality. Philosophy comes from a time when people thought humans were the heart of the universe and that deep thought on the nature of reality needed to include things humans felt were personally important.

We now know that we humans are a byproduct of natural selection and we're nothing special living on a tiny speck of dust at the edge of the galaxy. Our existence has little effect on the ultimate fate of the universe, the galaxy or let alone the solar system and as such the deep musings on the nature of reality must not include our own experiences in ethics or religion as part of the discussion.

When you start learning more about philosophy you realize it forms the bedrock of the accepted ideas in our society. Down to some very common sayings you often hear repeated. It makes its way into daily life all the time.
Sure. "Ideas about society."

Why do we need to combine "Ideas about society" with "Newtons laws of motion" is all I'm saying. One is a liberal art, the other is a formal theory.

You can't unlink them.
Most universities unlink them. That’s why philosophy isn’t a stem major. There is a clear dichotomy in both reality and society.
You don't get it. Its not about where one academic subject sits versus another or how they are taught. It's about the function they both play in daily life. We have science as we have it today because of the developments in philosophy that we have had.

There are 5 fundamental branches of philosophy that attempt to answer 5 questions.

What is real? (Metaphysics) How do I know? (Epistemology) Who/what am I? (Human nature) How should I live? (Ethics) How should we live? (Politics)

In modern society we have taken to answering the question of "how do I know?" by the scientific method. Well, a lot of us have.

Think about recently how the replication crisis has affected our philosophy. We have started to question the methods efficacy in certain disciplines and we are going back to the drawing board. Back to finding a way to answer the question "how do I know?"

Developments in philosophy form the bedrock of daily life. Science is included in that.

My argument is that these branches are not sibling branches.

Metaphysics sits at the root and all the other branches are abstractions on top of that. Like really high on top and centric to the human experience. It's as arbitrary as putting "dog nature" in place of human nature, what justifies human nature to be the foundation as opposed to "dog nature"? Nothing. Hence my argument for why this grouping and the field itself seems illegitimate.

Well if dogs were smart enough to figure things out they'd probably put dog nature at the top as it would be their experience they are trying to make sense of.

Everyone has their own answer to those questions. That's their philosophy. The field itself catalogues developments in which answers have been a) novel and significant and/or b) become widely accepted at some point in history.

Well why don't we find a part of it where everyone has the same answer? Something that's dog/human nature agnostic?

Philosophy fails on this count and thus I would argue fails to be a foundational framework for Science, math or logic.

I would argue that science, math and logic serve as foundational frameworks for religion, ethics and the rest of the soft sides of philosophy.

Sort of the whole point of it is that not everyone comes to the same set of answers. So, dialog ensues as people try to shore up their viewpoints with one another and both are often transformed in the process. That's how a dialectic works.

Before the age of enlightenment, yours was not a commonly held viewpoint. After, it became to be acceptable and then accepted. That's philosophy at work.

I don't think of it as a foundation per se. It's more like a continuous process that carries out over time as individuals interact, the result of which only a small portion is obviously visible with the rest going mostly unnoticed.

Yes, if that's the point of philosophy then it makes philosophy a bad foundation for science and logic.

If you say it's not a foundation, then we are in agreement.

Yeah I would say it's not a foundation for undertaking scientific equiry. That's what the scientific method is for. Math is a foundation for logic.

The aggregate output of philosophy as a process for negotiating a shared understanding of "what is true and what to do about it" is the foundation upon which societies thoughts rest. If that makes sense?

They are quite linked though. And there isn't any escaping philosophy regardless of you feel about it. Re: the replication crisis - we have found that the very foundation we thought was Rock solid doesn't appear to hold for the social sciences. The "how do we know?" has fundamentally come in to question and we find ourselves back at epistemology searching for another suitable way to be sure about things.

But I agree it's not a foundation for science per se. Just a foundation for forming belief systems. Philosophy is capable of producing all kinds of nonsense. And indeed it has and does all the time.

>The aggregate output of philosophy as a process for negotiating a shared understanding of "what is true and what to do about it" is the foundation upon which societies thoughts rest. If that makes sense?

Can't agree with this. Nothing can be verified to be true. The undertaking is impossible. We can only identify correlations to a degree and causation to a degree.

>we have found that the very foundation we thought was Rock solid doesn't appear to hold for the social sciences.

Science is known not to be rock solid. It is based on statistics which is based on the theory of probability. We use probability to establish correlation to a degree and causation to a degree. But this is based off of the assumption that the set of axioms and theorems from probability theory applies to the real world. It's self referential and unverifiable: By probability, probability is correlated with reality.

The replication crisis is not a philosophical problem but a problem with bias. Research studies are choosing biased samples and making biased observations. We have no indication as of yet that it is pointing to some fundamental flaws in probability.

This is the limit of what we can do. If philosophy purports to go deeper and further, I'll have to disagree.

Now, is there a contradiction with "both are important" and "[philosophy is a] relic of the past" (and what that implies, which is, that we can dispense with it)?
Liberal arts is important and philosophy is a relic from the past. Should not combine math and liberal arts which is what philosophy is.
Computer Science absolutely has ethics. In the process of constructing systems which humans interact with, we simultaneously cause cultural and societal repercussions. Even if the choices we made could be perfectly justified by "maximum efficiency", or "just the optimal way to structure things" (which is rarely the case - as this book likely argues, there's always a human design factor), then Computer Science must still work to understand the societal ramifications of those structures. To give a tiny sampling: Online shopping, social networks, VR, drones, office drones, automation, AI, the internet - all were arguably inevitable results of the new abilities computer science unlocked. All with deep ethical concerns.

If anything, the people who design the structures of life have the most ethical responsibility of anyone. We're the ones who make it possible, and who have the strongest understanding of what it is we're creating. Personally understanding the full ramifications might not be easy, with so much else to know, but certainly our field as a whole should be working to understand them. To say we have no ethical responsibility because we're scientists and mathematicians dealing with the technical problems is to say Frankenstein had no ethical responsibility when creating his Monster.

Naw. It doesn't. Programming, UI, UX has ethics. But computer science doesn't have ethics just like mathematics doesn't have ethics.

Pure computer science and pure mathematics have axiomatic foundations that are formally scoped and defined. The application of mathematics and computer science via engineering has ethics, but computer science itself is devoid of ethics just like algebra is devoid of ethics.

The work that gets done in a strictly theoretical area ripples out onto practical areas and thus society.

Cryptography is a rather "pure" form of math, yet it has major implications on society.

Yeah so does mathematics itself. Right? Mathematics is applied everywhere and is even used to calculate the trajectory of nuclear bombs yet it's utterly clear to most people that ethics and mathematics have nothing to do with each other.

The thing with computer science is that people are just confused because they use it as a more lego like artistic endeavor rather than a mathematical field. The reality is... Computer science is really just mathematics with axioms rooted in two isomorphic primitives:

Lambda calculus and turing machines.

It is absolutely not clear to me that ethics and mathematics have nothing to do with each other. Let me give just one example. In statistics, there is a great debate about Bayesian methods vs frequentist methods. People in other fields using Frequentist vs Bayesian has real world consequences. For instance, medical scientists using frequentist statisics abuse the methods to publish cures that will not cure or help any sick people. This is not to say that the same scientists using Bayesian statistics would not attempt to abuse the system, but my belief (which could be wrong), is that the abuse will be less with Bayesian statistics.

So for me the math professor, who teaches pre-medical students frequentist statistics or the mathematician who creates yet another adhoc frequentist test for some specific situation, is doing something bad according to my ethics. They are making the world a worse place because of the particular kind of mathematics they choose to do.

I'm talking about the categorization of ethics with mathematics. You can tell some story putting them both together it doesn't make the category make any sense.

I think the bayesian way is more beautiful. Does that mean now I have to insert beauty into the description? No.

If you want to make an arbitrary categorization of what is mathematics (or computer science) to divorce it of perspectives of ethics, beauty, etc, then go for it. But those perspectives are there (and valid), and good luck coming up with a robust definition that successfully divides them without dramatically limiting your ability to say things about math/csc. (e.g. you may not be able to favor any representation of one formula/program over another without creating a definition of beauty, which leads you down the rabbit hole again).

Point being: categorization is fuzzy. Ethics, beauty, etc are fuzzy but foundational and applicable to pretty much everything - like any other perspective. Denying them a place in CSC/Math/etc because they're seen as too "hard science" is a dead end road, because meeting your own bar of using only logical truth while still expressing anything useful about a subject is (probably) impossible - which is the general consensus in modern philosophy (as I understand it).

Philosophy is the arbitrary categorization.

Usefulness has nothing to do logic or mathematics. Math and logic is statements, axioms and theorems. Usefulness is an arbitrary judgement that depends on context. It's "fuzzy" like you say.

Math and logic aren't fuzzy, ever. Categorizing things that are fuzzy and aren't makes sense.

Even if math and logic were fundamentally without fuzziness, their applicability to the rest of the world is inherently fuzzy. Their invention has inescapable, inevitable repercussions which have ethical consequences - so yeah, those need to be considered by someone.

But I wouldn't even be that generous. The amount of inherently human decisions that go into the design, representation, learning, educating, and yes - categorization of math is far from a perfect un-fuzzy logical utopia. We inherently add our own human ideals of what we consider a beautiful (elegant, easily understandable) formula/proof/concept/whatever, and every time we do we affect the perception of subsequent discoveries. Any computer scientist who has developed a sufficiently complex system knows that it is is impossible to make something "purely rational" without making arbitrary categorizations, which another programmer might do completely differently to produce a similar result with far-reaching effects down the line. Likewise, Math as we know it is taught the way it is because of the specific way it formed historically and the way it's best understood by its human students. The fuzziness runs deep.

Maybe you want to escape to fundamental concepts with rigorous self-consistent definitions only, with no applicability to the real world. Just cold hard formulas - the "real math". 1+1=2. Well then I hate to break it to you, but unless you have mathematical definitions of elegance and complexity to replace the human ones, you have no choice but to treat every tautology the same. Even selecting which proofs and axioms we care about is inherently human. So 1=1 and 46332688=3+211+7774+... Oh, and forget base 10... Or for that matter, why we even choose to define particular operators... Or explaining the proofs of any of this in english without some self-bootstrapping rigorous definition of the proof language...

My point is just that to completely remove the human fuzziness you have to cut out a LOT. You have to sacrifice understandability, brevity, and conceptual usefulness, amongst many others. And even if you could make a perfect self-bootstrapping logic box (something famously proven to be impossible by Godel Esher Bach - no system can perfectly define itself, it can only be defined by its parent) then there's still the problem that whatever the discoveries of your self-contained system are, they'll still have an impact on the rest of the world - which we then judge the effects of through Ethics.

Sorry, but truly escaping the fuzzy swamp of human culture is pretty damn tough. Maybe it can be done, but I doubt it. All language is fuzzy, all understanding is fuzzy, representation is fuzzy, the choice to define one thing and not another is fuzzy, Mathematics and Computer Science as educational subjects are very fuzzy still (even as much as they believe they aren't). Fuzziness is the baseline, and the study of that fuzziness is Philosophy. Maybe there exists some pure kernel that is strictly without human fuzziness, but that remains to be seen, and even if it was - it would be very different from the subjects of Math and Computer Science as we understand them today.

Fuzziness is not baseline.

First off categorization and naming is a human endeavor. The logic that lies underneath is solid and independent of the nomenclature or any formal rigor needed to define the names. We understand math through using words and naming as tools, but the words themselves do not define the underlying structure itself which is as far as we know: Not Fuzzy.

Second our choice of what axioms and theorems to study don't make anything fuzzy. We are simply choosing a subset out of a set of all possible choices in which the subset remains not fuzzy. OUr arbitrary choices are human, but the logic within the framework of our choices still apply.

Godel Escher Bach is just a book. The incompleteness theorem you are seeking comes from Godel. Not only can a system not define itself, it cannot be fully provable and internally consistent at the same time. This does have a lot of interesting things to say about logic BUT it does not make mathematics or logic fuzzy and opinionated.

Fuzziness is not baseline. The baseline is unknown, but what we do know has been consistently observed to be not fuzzy.

Let's be clear, by fuzzy we mean things like ethics and religion. Things that are based on opinion and exclusive to the human experience. None of this type of fuzziness applies to science or math or computer science.

I'm just reiterating now:

Sure, the underlying structure of math and computer science may be entirely logical. But to delve at that, we develop a language of terms and a culture of understanding that is inherently human and inherently fuzzy - which yes, connects to things like ethics and religion. The choices in how we study logic, which areas we care about, how we represent it and how we use it put our fuzzy cultural signature all over it - which is rife for study.

Now, can math and logic be defined without some arbitrary cultural signature? Maybe. But I've yet to see it, and as I've pointed out it would be quite hostile to human understanding - at least until we could define human understanding in logical terms. Also there's the no-self-defining Godel thing (sorry, just meant "made famous in Godel Escher Bach") which I'm pointing out might also imply that you can't really define logic without using our inherently fuzzy language and understanding as a parent.

The baseline I'm talking about is our human understanding (or ability to understand) - which is inherently fuzzy. Fuzzier still when we pass it on through education and it picks up all these unique cultural characteristics.

The baseline you're looking at is the foundational rules of how logic and mathematics work in a defined system, which we can glimpse at through our cultural lense.

Now, can your baseline exist independently of mine? Does it exist at all? I do not know. I certainly won't try to challenge that here - though I know it has been argued before. What I do know is the educational subjects of Math and CSC as they stand today are highly enmeshed with the fuzziness of human historical understanding, rife with choices that are based on human opinion, and pulled from particular moments in time and cultures. Ethics would study those choices and how they affect society. Religious studies might conclude the culture being created has its own similarities to worshippers of the past. We are unfortunately inescapably enmeshed in culture, and the choices we make inherently affect everything else and leave us open to alternative interpretations - we can't just claim we're free of Ethics because we (try to) study foundational logical rules without injecting human opinion. That's simply not true.

Though personally, I believe you're right and there is something unique and universal underlying logic - which probably reveals a fundamental property of the universe. But I think we have to admit at least that there's a strong observer effect where trying to look at it inherently imprints our fuzzy cultural understanding on it - which unfortunately is the only state we have ever really known as a species.

The observer affect is too abstract to be discussed. Simply because anything can be interpreted to be anything by an observer.

It only makes sense to discuss what the majority agrees to observe consistently and assume that, these observations are true independent of observation.

nobody knows whether mathematics really exists "out there", independent of human minds, which is what you're talking about. people are generally more interested in how mathematics appears to humans.

the basic tools and methods we have of investigating mathematics is designed for human minds. what are mathematical axioms if not the attempt to discover the point beyond which human cognition can't go? if you truly believe that there is a mind-independent mathematics "out there", and you believe that humans are really that insignificant, then you must believe that the totality of mathematics is vastly beyond the reach of human minds. so then the mathematics that is available to humans as of today must be a very small part of mathematics in itself, and it's not a coincidence that we find it so useful.

(comment deleted)
Yes, mathematics has ethics - in the sense that as soon as you start talking about something being "right", while other understandings are "wrong" you're making an ethical choice. That doesn't just imply right/wrong in a logical sense. It also implies that you may be choosing use an analogous process - possibly automated - to find right/wrong values in decisions of all kinds.

Philosophy is about understanding patterns, habits, and traditions of thought. You can look at the patterns from different angles, one of which is ethical.

If you don't think at this level, math just "seems right because it is" - obviously and self-evidently.

But that's exactly why you need philosophy - to understand why that's a superficial misunderstanding of how math works, how the foundations of math aren't as stable as they seem to be (see also Hilbert's Project), why empiricism cannot possibly be genuinely objective and only works up to a certain point, and why even something "obvious" like the concept of True/False is contingent and questionable.

Philosophically, any sentence that starts with "Obviously..." or "It's completely clear that..." turns out to be the product of a cultural habit of thought, not the absolute and immutable objective truth that it pretends to be.

If you have no experience of this you're going to find this hard to understand, and you may even deny it outright.

But that may be taken to suggest that you haven't learned to think outside the usual socially-defined norms, and therefore can't imagine anything outside of them - which is not in any way the same as having infallible knowledge that there is nothing outside of them.

I get it. Your saying philosophy is foundational. A framework that’s even lower level then logic. My argument is that at this low level, why is philosophy talking about high level stuff like religion and ethics?

My guess is historical reasons. People in the past could not delineate the dichotomy between the human experience and hard logic, but they saw a deeper meaning in many topics. Hence philosophy is a basically a relic from the past.

Yes, philosophers argue "hard logic" is a subset of philosophy and the human experience, and its claim to truth is as unstable and fuzzy as the rest of said human experience - to the extent it can be applied to the real world at all. Moreover, the use of "hard logic" brings its own relative cultural perspective that steamrolls others without foundational claim to truth. Appealing to "hard logic" without awareness and acknowledgement of other arguments for claims to truth is thus seen as naive or arguably unethical, especially when imposed into systems that limit other discussions of truth.

That said, there are logical positivist philosophers that believe reality is consistent with a hard logic view of the world, and thus it is foundational. They are a minority these days as far as I know - falling out of favor since... Kant? (I forget my history).

But no, philosophy is not a relic of the past in the sense that it has been surpassed by logic/science/etc - not til those can lay claim to truth better than a bunch of old Athenians. Jury's still out.

Indeed, science, of any kind, is void of ethics. People should stop for a second and ponder what that really means.

_People_ have or don't have ethics. And this is different story altogether.

There are different views, but I like to think of philosophy as mapping the terrain of thought. Most scientists don't think much about the scientific method even though they implicitly apply it, but it's nice every once in a while to step back and reflect on the whole endeavor, and that's where philosophy steps in.

Obviously, the boundaries are blurred. The study of formal logic straddles both Math and Philosophy. Lots of fields were once under the domain of philosophy before they branched out - Leibniz, Descartes, Russell all made important philosophy contributions as well.

It would be nice if scientists and philosophers worked closer together. These days a scientist's understanding of the scientific method is usually a bowdlerized version of Karl Popper's work, as passed down from one scientist to another.

But ideas do tend to filter through eventually, even if most scientists aren't themselves aware of where they came from.

I think the difference between 'computer science' and just 'science' is definitely non-trivial. And I think that difference has practical applications and changes how we humans think about and interact with those concepts. I don't know if anything in here reflects the nature of reality, but it definitely reflects and can inform how we deal with the nature of human thought on these subjects.
Soviet academia had an aphorism to the effect that any discipline which contains the word "science" (or "scientific") in its name is not a real science. I.e. "political science", "scientific communism", etc.

Makes sense, since real science doesn't need to emphasize the fact that it is a real science :)

It helps, in most conversation though especially in philosophical ones, to be clear of what you do and do not mean by words.

For students (and this work is aimed at a university philosophy of comp sci course) the exercise of thinking through (and walking through) definitions is also useful.

Philosophy can (and does) get stuck in the weeds, and there's a great deal of philsophy (much of the religious bits, though not all, and certainly others) which was simply based on bad premises and/or logic.

The value in revisiting it is several-fold.

- You can recognise which present-day discussions are actually very-well-trod ones in the history of philosophy. Whilst some of the questions may indeed be unanswerable, identifying some of the more glaring errors of reason or fact can at least move you to more interesting areas of disagreement.

- Much of philosophy provides tools for thinking through questions. Aristotle's Organon (and Bacon's Novum Organum) literally means (new) tool.

- The history of philosophy says much about how we ended up thinking and/or knowing what we do, and where we (very frequently) got mislead along the way. Even the false turns are useful to know.

- All of Boolean logic grew out of philosophical logic of the 19th century. An obscure text that happens to be one of the handful (literally five or six) cited by Claude Shannon in his foundational work on information theory. (Shannon's work is remarkable on numerous counts, including not only founding virtually an entire new science, but reviving an all-but-dead niche of philosophy, and having scarcely any references.)

- The ethics of tools and their use is ultimately much of what they're all about. That and their unintended, especially negative, consequences (a topic not touched on significantly in PoCS so far as I've read).

- Philosophy also provides ontologies and taxonomies of subjects and areas. These are useful for understanding them, and help one grasp the landscape. Realising that as you've been driving down the road, the trees you've been seeing are actually all of the same species, or that the road is a loop and they're actually the same tree, is useful. Ontologies also lead to identifying characteristics, capabilities, and limitations of tools.

- There are a wealth of references given, most of which should prove highly illuminating and/or significant. Given the perennial HN question of "where do you find material to read", I'd dance and wave and whistle and whoop and say HERE!!!

- There are a tremendous numbers of models and myths surrounding all human endeavour. Philosophy helps identify the valid and invalid, separate wheat from chaff, and sort gold from bullshit. Again, the tools, models, background, and ontologies here help with that. Given the copious gobs of bovine matter and fad-driven-development in CS, IT, SV, and HN, you'll be ahead.

I've been doing this myself over the past few years, by the way.

Logic itself is a field of philosophy. As the most fundamental field of human inquiry, philosophy at times even tries to challenge logic itself. (Although this is rather niche) Anyway, if you're looking for the relevance of philosophy to Computer Science, look no further than to these 5 figures who were self-ascribed mathematicians and philosophers:

- Augustus DeMorgan

- Rudolph Carnap

- Gottlob Frege

- Kurt Gödel

- George Boole

Historically, philosophy has been the home of the study of logics, until there was a shift towards faculties of mathematics in the 19th century. - This is a very typical trend. Newton was a philosopher, his groundbreaking work basically created a new discipline.

Generally I would argue that the strict separation of disciplines is hindering understanding. Fundamentally, all studies are related in some ways, and I would argue that with the correct mindset, you can even learn valuable lessons in computer science through the study of literature or history.

Sure but the categorization is off.

Shakespeare is doesn't belong in a computer science textbook anymore than ethics.

I mean, you could use Isabelle/HOL to analyse a passage of Shakespeare, and if done correctly you could probably publish it in CS. If I'm not mistaken, it has been done for legal texts.

I haven't read the relevant part of the book yet, but it seems like he's using the Ethics of AI as an example for exactly how Ethics can be relevant to the field of Computer Science, and also as an example on how philosophers actually work.

In a course called "Philosophy of Computer Science", this seems quite reasonable.

Math and cs can be applied to thing outside of the respective fields even in research papers. Math can be used in architecture, this doesn’t mean it’s part of math. Programs can be used to analyze Shakespeare, this doesn’t mean Shakespeare is computer science.

Ethics in philosophy is reasonable which leads to my main point. Is philosophy legit? Why is philosophy purporting to be foundational then suddenly talking about ethics?

Ethics is a field of philosophy. You appear to believe in moral subjectivism, which is at least controversial[1], and probably a minority opinion among ethicists. The fundamental question of ethics "What should we do?" is one of the foundational questions of human existence, so it is quite fitting for the field.

Philosophy is pretty much as legit as the people writing the papers and the others peer-reviewing it are. The process obviously isn't empirical, instead you have to very narrowly define your axioms, and then in small steps argue from these axioms until you are at a final, logical conclusion. If your axioms are wrong, then the paper doesn't work. If your arguments are illogical or ambiguous, a peer-researcher will draw holes in it.

If I would compare the process with my own field, CS, I would probably compare it to system design. There exist a few fundamental axioms we have to follow, and a few things we want to optimize for. In a lot of cases, through argument it becomes clear which is the best method. In other cases though it is either unclear, or dependent on the priorities you set yourself.

[1]https://plato.stanford.edu/entries/moral-anti-realism/

Whoah. He goes for 360+ pages before even touching the titular subject of his book. I would have preferred a simple glossary of terms, or maybe just release 3 books instead of one? It sounds like he wants to teach this book in schools, but as a student, I could easily imagine the professor telling me to buy this whole book just so we can study the last 400 pages. I think it's a waste of money when the professor asks me to buy an entire book because he or she just wants to look at a few chapters.
But his book is freely available as a PDF.
Is there a print copy of this book purchasable anywhere? Reading PDFs of this length is difficult for me.
Not AFAIU, though:

- Reading this on a tablet works pretty well (9" or larger). I find PocketBook Reader is quite good, FBReader is another option. Both are far more functional than a basic PDF reader.

- You could print the text directly and bind it at virtually any print shop.

TL;DR; The major question in the philosophy of computer science, according to Smith, is: What is computation?
What section of it should I read to get an idea of what, according to the author, "philosophy of computer science" is?
The table of contents is surprisingly thorough in covering this topic.
Start with the ToC, as suggested. It provides an excellent overview and framework.

The first four chapters (and preface) largely answer this question. Though of course, the answer is what the entire book is about.

Thank you, Mr. Rapaport! Gonna break out my new Xerox Phaser tomorrow and print this out for reading. I am super excited as I've become quite bored with Computer Science since reading Zen and the Art and connecting with it deeply.

When you publish, I'll be happy to purchase a copy.