Philosophy and Computer Science Revisited
Soren Kierkegaard writes "While reading the two-and-a-half-year-old Slashdot post on Does Philosophy have a role in Computer Science, it occurred to me that over these past few years Philosophy has a more prominent role in Computer Science then ever before. Cognitive Science and Computer Ethics are more established disciplines in universities, and the numbers of philosophy graduates double majoring in computer science and information systems are climbing. Is a merger of Philosophy, a discipline steeped in history and intelligent thought, and Computer Science, a discipline that looks to the future, the best of both worlds?"
While reading the two and a half year old Slashdot post
Get out much?
Actually, a course in the philosophy department on logic got me into computers. Years later I took a programming course and discovered it was the same thing as symbolic logic, mostly. The rest is history. It made my career. :-)
How about a moderation of -1 pedantic.
This is one of the first websites I discovered when I first started getting on the internet back in the early to mid 90s.
Technoli
Now, whether that's in a formal course like "Philosophy 101" or whether it's embedded in other courses, like ethics course content spread throughout an engineering curriculum or programming philosophies spread throughout programming courses, isn't all that important.
What is important is that by the time you graduate, you understand both why there are so many different world views for "big picture" things like the responsibilities of citizens, the rights of individuals vs. the rights of the collective or state, etc. as well as why there are different views on "details" like different coding standards and different standards of business ethics.
By knowing many of these views and by understanding why different people have different views, you will be better prepared to know why you adopt the views you adopt, and be able to explain your reasons to others. You will also be better equipped to understand why your boss or coworker may have a different view, and whether that difference is a reason for you to re-evaluate your views, agree to disagree, or circulate your resume.
This is why philosophy should be taught in school. Graduates should also continue a lifetime of self-study.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Hofstader's GEB:EGB?
Set your phasers on "funky"!
Having worked as a developer for 5 years since finishing grad school, I've been discouraged to find that the points of contact between philosophy and CS are VERY few and far between. Studying philosophy will definitely sharpen your reading, writing, and analytical skills, all of which are (or should be, if you're doing your job right) useful for programmers. But those are all general skills; my knowledge of philosophical theories or history or personalities are, frankly, never a part of my work life.
I think that still holds true in all but rare cases. It's unfortunate but I made a reference to Kant's Critique of Pure Reason a few months ago at work. Someone had just read The Blind Watchmaker by Dawkins and I asked them if he was referring to Kant's "Prime Mover" or "Watch Maker" ... and everyone promptly drew a blank. My actual work is even further from it.
... even in C that stuff is resource intensive.
Although that is primarily the 'classic' idea of philosophy and I'm well aware of increasing fields related to computer science like information law (or whatever they call it) and AI. I became disheartened as I tried implementing some rudimentary NLP/AI programs
Is a merger of Philosophy, a discipline steeped in history and intelligent thought, and Computer Science, a discipline that looks to the future, the best of both worlds?
No offense but you just took two positive sentences about two arbitrary majors and tried to pull them together for reasons unknown to me. The same could probably be said about any two majors:
Is a merger of Home Economics, a discipline steeped in making home life better and easier, and Mathematics, a discipline of rigorous proofs, the best way to improve the common man's life?
Yeah, it's romantic. But aside from logic, predicate calculus and the philosophy of mathematics, could you help me out in how this is supposed to meld with my Java monkey job?
... where has a major application of Philosophy developed in Computer Science in the last 2.5 years?
Don't get me wrong, I love to read AI papers on arxiv and tinker with a local copy of Wikipedia at home but
My work here is dung.
...wonder whether 'tis nobler in the mind to suffer
The slings and arrows of welcoming our new AI overlords or not; that is the question.
Learning HOW to think is more important than learning WHAT to think.
Computer Science needs to go. 95% of the students majoring in Computer Science should actually be majoring in Software Engineering.
It's a sad mistake of history than CompSci is the major most widely available in a world that needs software engineers, not more academics arguing about p=np.
There is nothing wrong with Computer Science, it's just being applied incorrectly in the education system today.
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
Comment removed based on user account deletion
Or, slightly more specifically, it depends on what parts of symbolic logic you focus on. Given a specific system of symbolic logic, working out its technical implications is yes, essentially mathematics or theoretical computer science. Using it to implement automated reasoners is artificial intelligence (a branch of computer science).
Designing logics can go either way, though. You could do it purely as a technical matter: you want a logic with a particular property, so you design one that has that property. Most logics are designed from a more philosophical perspective, though: logic basically as a way of formalizing statements and ways of reasoning about statements. From Aristotle through the middle ages people had catalogued valid and fallacious methods of reasoning; a system of logic encompasses a formalization of such a system. It also has ontological implications, depending on what you decide to make representable in the logic, and what you view as the implications of doing so. For example, W.V.O. Quine's works on logic, while they contain technical results as well, are mainly philosophical in nature. Bertrand Russell's research program in logic, while it contained a lot of technical results, was also primarily philosophical in nature.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
There is a lot in computer science that has long ago been worked out in philosophy, but for which most computer scientists have but a fuzzy grasp.
Computer Science operates under certain philosophical assumptions which have consequences -- but if you don't even know that you're operating under a DUALISTIC ASSUMPTIONS -- you will not be able to deal with those.
For example, Cognitive Scientists are often are not very precise in their use of the words 'knowledge' and 'understanding', as John Searle so brilliantly explains:
(Exerpted from 'Minds Brains and Programs')
"First I want to block some common misunderstandings about 'understanding': in many of these discussions one finds a lot of fancy footwork about the word "understanding." My critics point out that there are many different degrees of understanding; that "understanding" is not a simple two-place predicate; that there are even different kinds and levels of understanding, and often the law of excluded middle doesn-t even apply in a straightforward way to statements of the form "x understands y; that in many cases it is a matter for decision and not a simple matter of fact whether x understands y; and so on. To all of these points I want to say: of course, of course. But they have nothing to do with the points at issue. There are clear cases in which "understanding' literally applies and clear cases in which it does not apply; and these two sorts of cases are all I need for this argument 2 I understand stories in English; to a lesser degree I can understand stories in French; to a still lesser degree, stories in German; and in Chinese, not at all. My car and my adding machine, on the other hand, understand nothing: they are not in that line of business. We often attribute "under standing" and other cognitive predicates by metaphor and analogy to cars, adding machines, and other artifacts, but nothing is proved by such attributions. We say, "The door knows when to open because of its photoelectric cell," "The adding machine knows how) (understands how to, is able) to do addition and subtraction but not division," and "The thermostat perceives chances in the temperature."
The reason we make these attributions is quite interesting, and it has to do with the fact that in artifacts we extend our own intentionality;3 our tools are extensions of our purposes, and so we find it natural to make metaphorical attributions of intentionality to them; but I take it no philosophical ice is cut by such examples. The sense in which an automatic door "understands instructions" from its photoelectric cell is not at all the sense in which I understand English. If the sense in which Schank's programmed computers understand stories is supposed to be the metaphorical sense in which the door understands, and not the sense in which I understand English, the issue would not be worth discussing. But Newell and Simon (1963) write that the kind of cognition they claim for computers is exactly the same as for human beings. I like the straightforwardness of this claim, and it is the sort of claim I will be considering. I will argue that in the literal sense the programmed computer understands what the car and the adding machine understand, namely, exactly nothing. The computer understanding is not just (like my understanding of German) partial or incomplete; it is zero.
[This has certain consequences...]
IN MUCH OF AI THERE IS A RESIDUAL BEHAVIOURISM OR OPERATIONALISM. Since appropriately programmed computers can have input-output patterns similar to those of human beings, we are tempted to postulate mental states in the computer similar to human mental states. But once we see that it is both conceptually and empirically possible for a system to have human capacities in some realm without having any intentionality at all, we should be able to overcome this impulse. My desk adding machine has calculating capacities, but no intentionality, and in this paper I have tried to show that a system could have input and output capabilities that duplicated those
I'm almost 5 years out of school now and got degrees in both CS and Philosophy. In my humble opinion, there's a lot of intersection between the two, especially in regard to philosophy of the mind, but the really interesting part, I think, is how it helps me in my day to day work.
No, I'm not discussing the Critique of Pure Reason, espousing empiricism, or wondering if I really am just dreaming.
What I learned from my other major was discursive thinking: dissecting an idea to see what it means and what its ramifications are and how to deal with having more than one way to do it (TM) by choosing the best one.
Philosophy, for me, was all about discussion, so I'd had years of practice putting ideas up on the white board, understanding them, and maybe shooting them down years before I ever joined my first programming team.
(That, and being able to write incomprehensible comments vis a vis the English challenged folk with whom I sometimes work;))
-- Political fascism requires a Fuhrer.
It's particularly relevant in areas of CS research with significant philosophical implications, like AI. In some cases knowing relevant philosophical problems can point out likely technical problems and potential approaches to solving them.
For example, machine learning repeatedly bangs its head against the age-old philosophical problem of induction, and in my view (as an AI academic), the people who know about that and the relevant literature are more likely to make non-naive technical contributions.
Reinforcement learning (a specific branch dealing with learning how to act in an environment) bangs its head against issues like the relationship between something we might call "the real world", the data from your senses, and how to infer between them. Specific technical proposals have largely recapitulated some of the philosophical debate: for example, there was a semi-recent and somewhat influential proposal to replace a priori "states", which represent a view of the "real" states in an environment, with phenomenological state, constructed on the fly from sequences of sensor values clustered based on their ability to predict future sensor values (Predictive State Representations, or PSRs). This is essentially recapitulating the empiricists' "sense-data" view of the early 20th century, which they proposed as a replacement for metaphysical ontologies of the world.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Philosophy is indispensable to all branches of life. Every person, from a construction worker to a CEO; from a scientist to an engineer; from a social worker to a policeman. They should all be taught the basic fundamentals of logic, ethics, rhetorical debate and the history of some of the most ingenious humans to ever walk the earth. And I don't simply mean in college. Philosophy is an indispensable and critical element of the human experience and legacy--something that must be cherished and nourished in order to live a successful human life. When people stop studying philosophy and blindly accept whatever world view and logical conclusions are thrust in front of them, they become slaves. Although its historically inevitable that a large portion of society will ignore philosophy, it should still be attempted to give all people the same chances so many others have been fortunate enough to receive.
Computer Science is no exception.
Ginga no Rekshiya Mata Each page.
Are computer science and philosophy related? Yes! I have BA in philosophy, and I focused on cognitive science and artificial intelligence, where the two meet head to head. Computer science needs philosophy in order to help evaluate the status of machines in terms of whether or not they have consciousness. And philosophy needs computer science to help answer open questions in the philosophy of mind.
Also, the two have a mutual interest in the study of information--what is it, how do you use it efficiently, how do you organize it, how do you process it, etc. If you have any interest in it, you should definitely check out Luciano Floridi--he's part of/started a movement he calls The Philosophy of Information that encompasses but AI and the philosophy of computing in general, including questions in ethics.
Currently I'm taking courses in computer science (and I work in IT), and I hope to start grad school in cognitive science next year. So yes, for me philosophy and computer science are intimately entwined.
This question is a red herring, because by answering it the way it is written it allows us to avoid the question that is taken for granted: does philosophy and computer science have little to no overlap? You have to believe that both fields don't overlap if you want to start answering the post's question as it is written.
But consider just some of the branches and topics of philosophy: aesthetics, reality, truth, ethics(!), logic. I have yet to see anyone try and demonstrate that these topics have no relevance to certain fields. At bare minimum, the social nature of all knowledge implies that these topics will have relevance to your field, occupation, or program of study.
Furthermore, take just one branch of philosophy: ethics. Essentially asking the question, "how then shall we live together?", the only way you could prove that a topic under consideration had little relevance to ethics is if you could prove that the topic under consideration has nothing to do with how we live our lives. I have yet to see anyone attempt to prove this about any topic.
Maybe it was just a poorly worded question, and the poster was asking about ways to make explicit how deeply connected both fields are. I'm not certain. But it's troubling to see such a huge assumption about philosophy and computer science pop up here and have so many people agree to it without proof.
and it's quite different than logic studied in philosophy classes.
As the island of our knowledge grows, so does the shore of our ignorance.
I'd say mathematical logic classes tend to be more detailed but less broad: they focus on the rigorous mathematical treatment of usually one or two relatively well-behaved logics, like propositional logic or first-order logic.
Philosophical logic classes, by contrast, study these logics in less depth, but put more emphasis on comparisons between logics, the relationship between logic and natural-language argument and thought (and science), and so on.
Which of these is watered down I suppose depends on your perspective. Introductory philosophical logic classes typically have much weaker treatment of issues such as decidability, model theory, interpretations, syntax vs. semantics, and so on. On the other hand, introductory mathematical logic classes typically have much weaker treatment of issues such as nonmonotonic logics, higher-order logics, autoepistemic logics, the relationship between logic and science/mathematics, the ontological commitments inherent in a choice of logic (if any), etc.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10