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"!
Understanding how to model real life objects into a database taught me alot about what an object truly is. It also taught me alot about relationships between entities, parent and child and 'many to many' relationships. I made leaps and bounds in development just by understanding data modeling.
This is my sig. There are many like it but this one is mine.
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.
Because we'll end up with programming examples that involve the use of methods named Cogito.Ergo.Sum() for adding two numbers together.
Hint for those of you not forced to study such things while you were taking CS - http://en.wikipedia.org/wiki/Descartes
You are using English. Please learn the difference between loose and lose; they're, there, and their; your and you're.
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
it occurred to me that over these past few years Philosophy has a more prominent role in Computer Science then ever before
Maybe computers have a more prominent role in philosophy than ever before. Not in the physical sense of typing up long winded papers, but in the sense of creating models to simulate ... stuff.
Just asking.
Infuriate left and right
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
Wait...computer science is the practical application of symbolic logic. Western science as we know it is rooted in Western philosophy to the point that science didn't become it's own little domain until that Renaissance thing. Philosophy has zero practical real world application except as philosophy (i.e. the study of knowledge). I say this as someone with a philosophy minor and my wife has a masters in philosophy...believe me, nobody has ever quizzed us on Kant's moral imperative in a job interview or expected anything on dualism.
In 1983, as an undergraduate, I started at DUKE on a pair of B.S degrees in Psychology (emphasis on Human Learning) and Computer Science but later expanded my undergraduate scope to include a Philosophy degree. I was durn early in crossing these disciplines and still remember how little they used to talk to one another (during the late 80s and into the early 90s it was frustrating and amusing to watch the C.S. AI researchers painfully re-discover stuff that Psychologists had known for decades).
After so many years of studying all 3 disciplines, I believe there's plenty in Psychology that Computer Scientists (at least, those concerned with HCI or AI, and *please* leave HCI to the pros) can benefit from melding in to their work but durn little in Philosophy that benefits C.S. The glaring exception is that I think everyone in C.S. ought to be educated in the Philosophical Foundations of Statistics (a course which is sadly often relegated to graduate programs). We work with statistics so often, but so few people seem to understand what we're *really* trying to express when we look at "1 standard deviation out" or when a particular statistic is appropriate to our computing goal.
Sure areas of Philosophy such as Modal Logic are fun (what? the rules of boolean logic don't always *have* to apply? cool!) but most of the things Philosophy studies have little application to the work of Computer Science.
There's a lot of branches to philosophy, most are basically entire disciplines unto themselves. I think in terms of logic and ethics, yes there's some overlap -- as those are two branches in the field.
But when talking about areas like phenomenology, epistemology & cosmology I don't see any real connection, or any kind of overlap (without really forcing it). Not that it's a bad thing -- it's just an apples and oranges kind of thing.
Ethics is relevant anywhere imo, not only CS and certainly in the business world it's valuable. I would say the one place where philosophy and CS overlap the closest is in Logic, for pretty obvious reasons.
But, there's simply too many areas of study in philosophy for the disciplines to merge entirely
'The unexamined life is not worth living' - Socrates
Say rather that all mathematics stems from philosophy and you'll be more correct. The foundation of modern mathematical thought was a philosophical work called the Principia Mathematica . Deductive logic is pretty much the foundation of all programming languages, its relevant to chip architecture, everything.
As far as ethics go, I'm more ambivalent. There is no great ethical theory out there these days, it's just varying forms of crappy, intellectually bankrupt relativism. Kant may have had his problems, but at least he was trying.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
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.
We've had that in IT for awhile now. Just go to your UNIX sysadmin and start reading the features list for Windows Vista-- Instant holy war. So philosophy in IT would actually be an improvement. ^_^ (grinning, ducking, running)
#fuckbeta #iamslashdot #dicemustdie
Sure, because a fuzzy blend of eastern thought and western existentialism is valuable for anyone.
Fine. Decent book. But it's got zip to do with CS, or even much with logic, and that's the exact sort of statement that lets demagogues dismiss philosophy as nothing but intellectual fluff.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
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.
The clearest connection between Philosophy and Computer Science lies in the intersection between formal logic, philosophy of mind, and philosophy of computation - namely the field of Artificial Intelligence, understood as a sub-field of Cognitive Science. [shamelessselfpromotion] My book 'Minds and Computers' (EUP 2007) - mindsandcomputers.net - is an accessible introduction to the philosophy of artificial intelligence and gives a sustained account of the relation between philosophy, computation and cognition! [/shamelessselfpromotion]
Um, no, not really. Rather, foundationalist philosophers of mathematics, and a few philosophically oriented mathematicians used to claim that mathematics was founded on logic and/or set theory. There were always philosophers who disagreed with the whole foundationalist project for mathematics, and over time those folks have gotten more and more influential.
Computer science has given a hell of a boost to a lot of work that started out in the foundations of mathematics bin, but the work in question tends to be constructive mathematics à la Brouwer and similar folk, and not the logicist mathematics espoused by Russell (big exception: type theory, but type theory is often constructivized). This is because constructive mathematics tends to be computable, and constructive proofs can be mechanically translated into computer programs that solve mathematical problems.
Are you adequate?
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.
John Searle is rubbish. His argument simply isn't cogent. Lets look at it this way. Obviously your brain has a vast array of capabilities, it is highly complex. Furthermore it performs a function (assisting your biological survival and reproduction) which is an ongoing constant task, it never ends, and it does not break down into any one closed set of sub goals.
Now, lets consider your calculator. It is quite simple and performs only a few specific functions. Furthermore its function is quite limited, it performs arithmetical operations on numbers which are input to it. Seems fairly safe to say it has no 'intentions'. These functions it performs are quite 'closed ended', addition is a procedure which begins at one state, and ends at another, at which point the machine simply halts and displays a result.
Those are rather the extreme cases.
Now. Lets look at your thermostat again. The thermostat is at least as simple as the calculator. It is a BIT more interesting though in that its function is open ended. There are states, but it doesn't ever halt.
Now, what about an ameoba? Obviously considerably more complex than the thermostat. Yet in essence there are simply a lot more states and a lot more outputs. In both cases inputs translate to outputs and there is feedback.
I challenge you to demonstrate to me that there is a QUALITATIVE DIFFERENCE between the thermostat, the ameoba, and you. There is absolutely a QUANTITATIVE difference. You're far more complex, you have a lot more states and a lot more inputs and outputs.
So the differences appear to be a matter of degree, not kind.
As for the rest of Searle's argument, it is just silly. Computer programs DO have states. One can make his argument with reference to a particular algorithm, but then all you're doing is looking at a tree and concluding it isn't a forest...
Now, it would have been a cogent argument to point out that a 'program' in the abstract isn't a system, but I could as well argue (and as meaningfully) that fictional characters in books don't have minds. Duh. The program certainly has to be instantiated in hardware to THINK.
Certainly seems to me that it is and can be valuable to study the characteristics of software programs in a cognitive sense. It is not 'mind' without instantiation, but nothing in Searle's argument suggests to me that we can't write software and study how it executes as a way of approaching general principals of intelligence.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
"1.1 The world is the totality of facts, not of things." --Ludwig Wittgenstein, Tractatus Logico-Philosophicus
That's the best short description of relational modeling I've ever found, for somebody used to object-oriented modeling. Basically, it's a change of ontology: the OO modeler tends to think of the world as being made up of things, each of which has some repertoire of properties; the world is a big set of things, related by a few universal laws. The relational modeler, on the other hand, conceives of things as unanalyzable wholes, and everything interesting about things is how they are related to other things by facts, and how those facts are related to other facts by logic.
Here's a very condensed outline of the Tractatus ; the parts you want to see are primarily (1) and (2).
Are you adequate?
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