
The Philosophy of Computer Science - agreen
https://plato.stanford.edu/entries/computer-science/
======
dvddgld
Props to the Stanford Encyclopaedia of Philosophy, it’s perhaps the best
general resource on philosophy on the web

~~~
GuiA
It’s a great example of what an editorialized online encyclopedia can be.
Would love to learn about other such resources for other fields.

~~~
dvddgld
Me too! If anyone has any fantastic niche web encyclopaedia links, link away!

------
zengid
Honest question: is this useful?

~~~
sedachv
Absolutely, because it keeps you from wasting time. Computer programming is
applied analytic philosophy and unfortunately very few people realize this.
For example, if more people knew about the shortcomings of Platonism, we
wouldn't be wasting time on idiotic fads like OO patterns.

~~~
pasabagi
Can you expand on this? To me, Plato seems like a fairly good fit for the
computer world. I also think that, from the perspective of analytic
philosophy, OO patterns make some kind of sense - since they allow us to
clarify problems as being subsets of more general ones.

~~~
sedachv
> Can you expand on this? To me, Plato seems like a fairly good fit for the
> computer world.

That is exactly the issue - computing is the closest thing we will ever have
to Platonic Idealism. You can create simple, elegant, symmetric worlds. Many
people instead assume that whatever poorly designed programming language is
around at the moment is the be-all, end-all Platonic world that they must
inhabit, and then proceed to come up with all kinds of dumb workarounds
because the programming language does not model whatever they are trying to
express, all the while patting themselves on the back for being clever and
creating "abstractions."

OO patterns do not make any kind of sense. There is no "generality" or
"abstraction" about Singletons or Factories. They are made-up nonsense terms
for ad-hoc techniques people hacked together to work around the problems they
had trying to apply certain classes of OO languages to modeling certain kinds
of problems in the real world.

So the contrast should be between different philosophic schools - if patterns
(and OO inheritance) is like Platonism, what would materialism be? I think
DSLs and DDD is a kind of materialist view on computer programming. And DDD's
emphasis on clear and precise naming and concepts is very much what analytic
philosophy is also concerned with.

~~~
pasabagi
>OO patterns do not make any kind of sense.

Isn't this a matter of perspective, though? I've been thinking recently that
programming languages are kinda like hexidecimal numbers or logarithms -
essentially shorthands that allow us to handle stuff the human brain isn't
built for. In this sense, object oriented thinking shouldn't be any worse than
any other kind of thinking, provided the practitioner finds it useful for
making the problem at hand tractable.

I can see there would be two obvious problems with this kind of relativism -
if there were performance implications, or maintenance implications. But I
don't see OO stuff causing these in and of itself.

------
neokantian
The really interesting philosophies emerge from the trenches and the battles
in the field. For example, the most surprising meta-level insights on
randomness come from Nassim Taleb's decade-long experience in trading
securities. What he writes, is truly striking. The article in the link,
however, make no reference to such real-world starting points. It fails to
emerge from the very practical. It does not gradually abstract away details in
order to arrive at surprising insights at the meta-level. The verifiable path
is simply gone. It is much more an example in the art of mediocre teaching. I
personally think that it is a useless read.

~~~
GuiA
I am completely unfamiliar with Taleb, this is a genuine question - does he
have any work that is accepted as academic philosophy? Just hearing
coworkers/friends/etc talk about him, I thought he just wrote books for a
general audience.

~~~
sjg007
Yes. I mean wikipedia answers it for you:
[https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb](https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb)

~~~
GuiA
That article provides little to no insight as to how his work has been
incorporated within academic philosophy. It does provide a brief "Selection of
papers" section, all of them in finance and statistical mechanics, so my
original question remains.

The answer might be “his work hasn’t really intersected with academic
philosophy”, that’s fine, I’m just curious to hear about it from people who
have done more than read a Wikipedia page about him.

------
freedomben
Gotta say, I've never ever considered "the Ontology of Programs" or "The
Epistemological Status of Computer Science" before. I'm trying to keep an open
mind here, but I do wonder if some academics are really stretching to justify
the latest grant money.

~~~
fabianhjr
> Ontology of programs

The presuppositions of programs or to program

Example:
[https://arxiv.org/pdf/math/0602053v3.pdf](https://arxiv.org/pdf/math/0602053v3.pdf)

> The epistemological status of computer science

Do Neural Nets learn or memorize? What's the difference and how do we know
what Neural Nets do?

Example:
[https://arxiv.org/pdf/1706.05394.pdf](https://arxiv.org/pdf/1706.05394.pdf)

~~~
bgibson
Or one of my personal favorites, the Epistemology of Computer Simulations in
Science:

[https://plato.stanford.edu/entries/simulations-
science/#EpiC...](https://plato.stanford.edu/entries/simulations-
science/#EpiComSim)

------
tjgillies
Portland State offers PhD in Philosophy of Computer Science
[https://www.pdx.edu/computer-science/doctor-of-philosophy-
in...](https://www.pdx.edu/computer-science/doctor-of-philosophy-in-computer-
science)

~~~
jswrenn
PhD = Doctor of Philosophy

This is just a normal PhD in Computer Science.

