Please create an account to participate in the Slashdot moderation system


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Does Philosophy Have a Role in Computer Science? 239

Johannes Climacus asks: "It would seem to me that philosophical works of philosophers such as Aristotle, Leibniz, Frege, Russell, and Tarski could play a central role in a Computer Science curriculum, as they form a mathematical basis of modern CS and Math. Ethicists such as Plato, Kant, Hegel, Mill, and Heidegger might also play a normative role in Computer Ethics and technology in general. However, I haven't seen any philosophical discussion in any of my theoretical computer science courses besides some simple logic. Is it the same elsewhere? How often do philosophical concerns play into Computer Science education as a whole? What role does (or could) philosophy have in Computer Science or Information Technology?"
This discussion has been archived. No new comments can be posted.

Does Philosophy Have a Role in Computer Science?

Comments Filter:
  • Yes, (Score:2, Insightful)

    In order to think outside the box of contemporary computer science.
    • Re:Yes, (Score:5, Insightful)

      by alfs boner ( 963844 ) on Friday May 26, 2006 @11:21PM (#15414266) Homepage Journal
      I worked my way through school as a programmer and chose philosophy on purpose because I found that's where the logic courses were.

      (I also took a lot of physics and math which no doubt helps, but the degree is philosophy) I feel the study of various logical abstractions helped widen my perspective. Not to mention you are trained to diagram any set of concept/relationships, which is also quite useful. My diagrams have consistent grammer, and I'm sure this is because I was trained how to create a legend that maps directly to real concepts (e.g. an arrow means something, and is only used for truly identical relationships. Of course, the arrow might mean different things in different diagrams, but within a given diagram: consistency). I'm not sure all Philosophy programs are so rigerous about logic... but it is the one thing, the only thing, that philosophers have any agreement over.

  • by shadwwulf ( 145057 ) on Friday May 26, 2006 @11:03PM (#15414197) Homepage
    Ummm... Guys?

    I think the kind of enlightenment you get from philosophy is not the kind that is ICCCM compliant.

    • I would think Dijkstra, Knuth, Hofstadter, Sussman, Drescher, Moon, Dreyfuss, Belnap, Conant, Brandom, Keynes and so on would disagree with you. A huge, arguably disproportionate number of our great researchers in CS have a philosophy background. The kind of enlightenment you get from philosophy helps you sort facts from expectations, beliefs from truths, meaning from relationship. It's one of the most powerful discretionary tools known to mankind, and was deeply important when exploring the new CS space
  • Certainly (Score:3, Insightful)

    by Who235 ( 959706 ) <> on Friday May 26, 2006 @11:09PM (#15414218)
    Certain philospohical problems - the Mind/Body problem is one that leaps immediately to mind - have ramifications for CS, especially in AI applications.

    On a more general level, logic is an important component of both fields.

    Also, on an even more general level, anything worth doing is worth examining a little bit.
    • I think that the mind/body interpretation of consciousness is falling more to the wayside of the road. What I mean is that even though the mind is emergent from the brain, the emergence does not exist outside of our Universe. Instead the basic atoms of mind are distributed across multiple units of brain (neural clumps). At one level of abstraction you have brain and the exact same matter at a different level of abstraction is mind.
    • The mind body problem is the conflict between Plato's dualist and Aristotle's materialist viewpoints as regards the potential seperation of soul and flesh. How exactly does that apply to artificial intelligence? Logic isn't a component of philosophy. It's an upshot of philosophy. It sounds like you haven't finished your freshman classes yet.
  • The Halting problem is one of those ideas that philosophy can help analyze.
    Also discussions of how intelligent a machine is where philosophy can help answer pertinent questions.

    Philosophy combined with psychology might also help in the field of software engineering, that is, how should the programs we write be meaningful to developers and users of the software.

    If philosophy doesn't help answer those questions, then the ability to think about problems is always a useful skill to have.
  • by windex ( 92715 ) on Friday May 26, 2006 @11:10PM (#15414225) Homepage
    ..but, if I did, I'd major in philosophy. See, I've been working in IT for 10 years now, can code in many languages, can sys admin, can pretty much do anything I need to do from a practical standpoint. The thing is, those skills are nearly worthless in a lot of small/medium IT departments. The skill that keeps me employed is my ability to solve problems, very quickly and without major fallout.

    It keeps me employable even if I'm not the best programmer/sysadmin/etc the world has ever seen, because I can pick and choose from the skills I do have to fix random problems as they come up. I usually have success. But, the neat thing about problem solving is that it's a universal skill that you can always get better at it. For example, once you learn a programming language, you know the language, the problem you encounter in becoming 'better' at that language is figuring out how to deal with problems and flush out theories, which takes critical problem solving skills that are better developed in philosophical study.

    Anyway. That's my opinion. Science and Philosophy are very related, they just attract two diffrent types of people who don't always overlap.
    • the problem you encounter in becoming 'better' at that language is figuring out how to deal with problems and flush out theories, which takes critical problem solving skills that are better developed in philosophical study.

      Except that undergraduate philosophy has very little to do with problem solving. From what I've seen, it's more about analyzing arguments than finding solutions. Logical dissection is a useful skill, especially for testing and debugging, but it's not problem-solving. The problem wit

      • The distinction you draw between philosphy and mathematics can be summed up as "truth is a stronger notion than proof" (re:Godel). But it is usefull to keep in the back of your mind that everything we do, even in mathematics, is based on faith.
        • by cperciva ( 102828 ) on Saturday May 27, 2006 @03:48AM (#15414911) Homepage
          everything we do, even in mathematics, is based on faith.

          While true, that remark is highly misleading. Yes, mathematics is based on the faith that our axiomatic system is consistent; but that faith is really just the faith that "there is a correct answer". In contrast, fields such as religion are based on the faith that "there is a correct answer, and it is X" (for some appropriate X).

          The faith required to believe in mathematics is far more limited than the faith required, for example, to believe in God.
        • The distinction you draw between philosphy and mathematics can be summed up as "truth is a stronger notion than proof" (re:Godel). But it is usefull to keep in the back of your mind that everything we do, even in mathematics, is based on faith.

          There is a large difference between faith and experiental evidence. Mathematics is drawn from observation: without fail, when you put one object with another object, you have two objects. Mathematics has real and well-understood application in the real world, and ha
    • I would say, when properly applied, the job of a lot of philsophy is to render ideas into theories in the domain of science. Science is only concerned with the testable, whereas philsophy is concerned with truth any way you can get it. Ideally, a philsopher can work out a theory for a complex abstract question in such a way that science can then test it.

      As relates to comptuer science, lingustic philsophy would be a major area of interest. The question is, how do we communicate? I mean using language obvious
      • "He showed that it's because of the concept of falsifiability that it works. We don't prove things true, we show them to be not false and after doing that many times, we can be pretty sure they are true."

        Sounds like testing code to me. "Testing can prove the existence of bugs, but not their absence." ~E. Dijkstra

        Seriously, that is a terrible argument. I have a magic towel that prevents the sun from exploding. It has worked thus far. Let's not even get into what my socks do.

        Quick question, how would we p
  • Roll your own (Score:4, Informative)

    by antifoidulus ( 807088 ) on Friday May 26, 2006 @11:14PM (#15414242) Homepage Journal
    While a class on CS and philosophy would certainly be appreciated, it is probably a rare find. So why not do what a lot of others have done and just roll your own so to speak. Take classes outside of CS(which is something that could not hurt anyway) and use them how you see fit. I think you can even get it to count for credit if that is what you are worried about. I had to take 6 credits outside of CS on an *approved list* myself, and it seems that most advisors seem pretty flexible and as long as you can make a compelling case for it(and of course as long as you are not flunking your other courses).

    Have fun and remember, study as many topics as you can while you are in college. You will probably be doing CS stuff for the rest of your life, but you may only be able to easily take a class on film theory or comparative literature while you are an undergrad...
    • Take classes outside of CS(which is something that could not hurt anyway) and use them how you see fit.
      I believe this idea is called "general education" or GE. It's that thing all the short-sighted college students decry as "having nothing to do with my major".
    • Indeed. If anything, it's an argument for a liberal arts education. A creative mind can apply

      Here's my experience as someone who's actually paid to do philosophy (and philology, for that matter), and who likes to tinker with code from time to time:
      Philosophy is a set of tools that help to describe reality. Large branches of philosophy include epistemology (the study of knowledge, what constitutes a science), noetics (how people cognize things), metaphysics (the underlying nature of reality), ontology (wha
    • While a class on CS and philosophy would certainly be appreciated, it is probably a rare find.

      It's pretty much a common staple of any university with a strong phi and a strong CS department. America's best phi of CS departments are at U Pitt, U Chicago, UNC Chapel Hill, Harvard, Yale, UC Berkeley, SUNY Bighamton, Rutgers and Cal Tech, in that order. That said, there's a respectable Phi of CS department in maybe half of the universities in the nation.

      So why not do what a lot of others have done and just ro
  • IMHO, logic is math, not philosophy. Arguing the nature of reality, mind and humanity is all good, but doesn't have a thing to do with CS.
    • Re:No thanks. (Score:5, Informative)

      by linguae ( 763922 ) on Friday May 26, 2006 @11:24PM (#15414278)
      IMHO, logic is math, not philosophy.

      From Wikipedia []:

      Traditionally, logic is studied as a branch of philosophy. Since the mid-nineteenth century logic has been commonly studied in mathematics, and, even more recently, in computer science. As a formal science, logic investigates and classifies the structure of statements and arguments, both through the study of formal systems of inference and through the study of arguments in natural language. The scope of logic can therefore be very large, ranging from core topics such as the study of fallacies and paradoxes, to specialist analyses of reasoning such as probably correct reasoning and arguments involving causality.

      Philosophy is a lot more logical than most people would assume at first glance.

      • Thank you. I'll be clearer, since most people don't know this, and people who do tend to not realize it needs to be said.

        Philosophy is not even remotely related to what popular media suggests it is. Philosophy is the study of knowledge. It is in every sense a meta-discipline; for any discipline with significant known content, there is a phi of that discipline. Philosophy is the basis of logic, and logic is the core of philosophy; phi teaches people to break things down, study them, refactor them, catego
    • Re:No thanks. (Score:4, Informative)

      by Stalyn ( 662 ) on Saturday May 27, 2006 @01:54AM (#15414667) Homepage Journal
      Saul Kripke [] who is a logician and a philosopher made major discoveries in Modal Logic [] which is actively being researched by computer scientists. But Kripke also did important work derived from his work in modal logic which was philosophical in nature. Such as philosophy of mind, metaphysics of necessity and an argument against private language (Kripkenstein).

  • I think you are looking in the wrong place for an answer to your question. Computer Science and Information Technology coursework at the University level is what it is.

    You may find the answer to your question in colloquium talks. My university's math department would hold them on Fridays and I found them very enlightening. The talks were good and the reaction of the audience gave me greater insight to the mind of mathematicians. You should try attending one.
    • by JanneM ( 7445 )
      Hmm, I wonder what this "preview" button is for? I guess I'll never know.
    • I remember that there was quite a lot of talk about the paper back then (I was studying in Lund at the time). But personally I never managed to get hold of it at the time. If you know how to get it (the link is only to the abstract and basic info as far as I can tell) please let me (us) know.

      Basically he went from describing "component based design" (some spinnoff of object oriented) and then went into how this could be used to create more realistic virtual worlds. He then continued into the virtual world a
  • One of the more interesting electives I took doing my CS major was a "cognitive science" course which was basically an intersection between AI, cognitive psychology, and philosophy (PHIL 256 at University of Waterloo, IIRC).

    So check the philosophy or psychology departments.

  • by jhylkema ( 545853 ) on Friday May 26, 2006 @11:31PM (#15414293)
    This is what The Man [] said about philosophy:

    "Philosophy consists very largely of one philosopher arguing that all other philosophers are jackasses. He usually proves it, and I should add that he also usually proves that he is one himself."
  • by dcloues ( 977376 ) on Friday May 26, 2006 @11:32PM (#15414297)
    Two years ago, I started college as a computer science major at Georgia Tech. I hated it. I had a lot of programming experience before I even showed up, so the classes bored me; however, that wasn't what really bothered me. It was the lack of meaning in what I was studying. Don't get me wrong - the curriculum would have most likely turned me into an excellent programmer, but nothing more. Most problematically, my classes focused on practicality at the expence of exploring the subject in any real depth. I was bored not because the classes weren't interesting, but because they followed the same structure: they explored a single neatly carved-out role, and made damn sure never to leave that role. This was excellent preparation for a code monkey, someone who would be happy sitting at a computer day after day, churning out line after line of code. In a way, this is appealing. It would have pretty much guaranteed a comfortable life, with a hefty paycheck. But, intellectually, it just wasn't satisfying. I dropped out. I took a year off, kept programming in order to support myself, and went back to school at Hampshire College, where I'm studying philosophy, among other things. The among other things is key: the way the school is designed, every student gets to decide what they study and how they study it. In short, the school provides a basic, abstract structure, and lets each student fill in the details however they see fit. The most important part is that students are encouraged to combine disciplines. Why? Because there are connections everywhere. We've fleshed out various disciplines long ago; focussing on them, obsessing about them, is only going to hold us back. Now isn't the time to pick an area and focus on it; we've focused enough. Now is the time to focus on other things: on the connections between disciplines. To spend one's time solely within the computer science department or the philosophy department would be equally limiting. There are plenty of connections between philosophy and computer science, between sociology and computer science, between anthropology and quantum physics and religious studies. These days, we're encouraged to pick a job and stick to it. Highly-specialized labor is efficient. But it's also highly alienating, because once you gain even a cursory understanding of other fields you realize just how much you're missing out by wearing blinders all the time. Rather than honing out skills to one particular task that society demands we do (and for what? for efficiency? efficiency at what cost?), we owe it to ourselves to reexamine and reevaluate what society asks of us and how we might best contribute to society. That might mean studying things in a different way than ever before. The goal is to enrich not only our lives, but the lives around us, by exploring the world with undying curiosity.
    • I couldn't read your post, because the massive wall of text hurt my eyes, but I'm guessing you didn't mention all the English classes you're taking?

      Holy shit! You went off on that entire little diatribe without using a single <p>. That has to be some kind of record: "Longest post by somebody too stupid to break their post into paragraphs." For fuck's sake, man! If you want people to read what you write, learn to use paragraphs.

    • by Karma Sucks ( 127136 ) on Saturday May 27, 2006 @12:03AM (#15414381)
      Everything may be connected to everything, but I still wish you would use paragraphs.
    • I agree but I bet the higher level classes actually do get into that more... you can't expect too much from the first two years, they're trying to build the basic concepts and foundations before you can really explore it in depth and meaning.
    • Wow. (Score:2, Insightful)

      by mattmacf ( 901678 )
      Oh my god. For the love of all that is good and holy, mod parent up. dcloues, you have no idea how hard your point hit home. This is quite possibly the most insightful post I've ever seen on Slashdot. Let me share...

      I am currently a undergraduate at Muhlenberg College, and have been notably unhappy with their program. What appeared to be a friendly, small liberal arts college when I applied a year and a half ago has so far been rather disappointing. As a matter of background, I should note that my w

    • These days, we're encouraged to pick a job and stick to it.

      That's just blatantly untrue. Unlike any previous period in history, people today are both encouraged, and by necessity usually must change jobs multiple times in their careers, and be flexible within each job, enough to learn new techniques and take on new challenges. You don't just become a blacksmith and churn out nails and horseshoes for the rest of your life these days.
  • Of course philosophy has a place everywhere and it's so ingrained that most of the time when someone stumbles on a philisophical thought they just pick themselves up and pretend that nothing happened (sorry Winston). Computer Science is like "could we do this" while Computer Philosophy is more of "should we do this". For example, Skynet. 8^p
  • Eh, not so much. (Score:4, Insightful)

    by djSpinMonkey ( 816614 ) on Friday May 26, 2006 @11:48PM (#15414341) Homepage
    Speaking as a former Mathematics/Philosophy double-major and a current software engineer, I have to say: "Meh."

    I think a basic study of philosophy would probably widen most people's perspectives on life and be a generally worthwhile experience. Also, the study of different types of logic and numerical systems has been useful professionally, which could be considered branches of philosophy, though they're probably more commonly found in mathematics curriculums (in my experience, anyway). However, interesting as they may be in their own right, I've never found that Hegelian dialectics or the basics of epistemology have really helped me build distributed data models or network traffic prediction algorithms.

    On the other hand, if I were working in, say, AI research, I can see where a working knowledge of epistemology might be useful, so YMMV.

  • Economics will dominate future chip design and software design. Not on the surface, but the underpinnings.

    Imagine a future with multiple entities all operating. Many Adders, Multipliers, etc. Kinda like the cell but legion. Then each starts acting like market participants. eh?

    Same with software. Muliptle threads, but in the thousands or millions. That is where the models will become the ones to describe them.

    After that, philosophy will become very useful.

    • I'm not sure I agree with most of what you say, but you're right about economics being a very useful thing to study.

      I majored in CS and got a minor in econ (and in math), and I use the the econ stuff as much, if not more than the CS stuff. I don't know if minoring in it was entirely worthwhile, but going through intermediate microeconomics and intermediate macroeconomics was possibly the smartest thing I did while in college.

      • When the only tool you have is a hammer all problems look like a nail. Basically the one thing I see over and over is that when you combine disciplines you fall into a role that uses those multiple disciplines. I see all this mixing and matching which is great since the CS world I think is too big to study generically. So match your disciplines and you'll most likely find a job using all of them. Kinda like a Windows admin that doesn't know Linux will never deploy it. If that same admin knows both he/she wi
  • As it is with any technology, just because something CAN be done, doesn't mean it SHOULD be done. Time and time again, history has shown that humanity lacks the wisdom to properly deal with technological advances.
    • I know that's a popular view, and it has been throughout history, but would you care to back it up? I don't mean just picking some examples of bad things that have happened since individual anecdotes don't really prove anything. How about taking a personal stand? Rid yourself of all the technological evil and live in purity. Let me know how it goes... oh, wait. :)
  • by twitter ( 104583 ) on Saturday May 27, 2006 @12:02AM (#15414374) Homepage Journal
    It would seem to me that philosophical works of philosophers such as Aristotle, Leibniz, Frege, Russell, and Tarski could play a central role in a Computer Science curriculum, as they form a mathematical basis of modern CS and Math.

    Some philosophy teacher will surely turn this into a course. I imagine GT, where EVERYTHING is subjugated to engineering needs, could be one of the first if it's not already there. You could make it one of your required electives. Of course, a real philosophy person will rain on all our parades by telling us that this is already a class offering under a different name and those who change the name are pandering.

    Now, who the hell are these people? Abandon all hope, ye who enter:

    • Aristotle [] did everything, so there's no end to it. Appropriate.
    • Leibniz [] is most remembered for optimism, i.e., his conclusion that our universe is, in a restricted sense, the best possible one God could have made." could not possibly have known about non free software and should be excluded for "being out of touch."
    • Frege [] " learned from Bertrand Russell that Russell's paradox could be derived from Basic Law V. Hence, the formal system of Grundgesetze was inconsistent." His underlying system was purchase at a greatly reduced rate after the second world war by one Wm. Gates Esq. and it has been practiced in both law and computer code from Redmond since. Abomination.
    • Russell [] "Russell is generally recognised as one of the founders of analytic philosophy, even of its several branches. ... strove to eliminate what they saw as meaningless and incoherent assertions in philosophy, and they sought clarity and precision in argument by the use of exact language and by breaking down philosophical propositions into their simplest components." This sounds great but it would probably degenerate into a flame war about proper indentation.
    • Tarski [] "proved that a sphere can be cut into a finite number of pieces, and then reassembled into a sphere of larger size, or alternatively it can be reassembled into two spheres whose sizes each equal that of the original one. ... Banach and Tarski intended for this proof as evidence in favor of rejecting the axiom of choice" Thus he founded the modern business science of time management.

    Please, God, make it stop.

    • Leibniz really was the first to set off down the road to formal symbolic logic and reasoning as computation. Understanding some of his philosophy from the standpoint of the historical development of formal logic and computation is certainly within the purview of a CS based philosphy course. You could also throw in George Boole and Augustus DeMorgan who took the next important steps to developing, in Boole's words "the laws of thought".

      Frege is certainly important in philosophy of mathematics with the first
  • One of the best things about studying from philosophy, and in particular from a historical/Continental perspective, is the long-standing tradition of solving seemingly intractable problems by tackling them from a different perspective--Kant solved the rationalist/empiricist debate of whether we can or cannot have ideas that do not come from experience by turning it around and asking instead what the conditions for the possibility of experience were.

    Take the Dining Philosopher's problem as a germane example.
  • Group Theory

    Any questions?
  • "Examples of philosophical work relevant to AI (besides mathematical logic) include the work of Frege (sense and denotation), Gödel (modern mathematical Platonism), Tarski (theory of truth), Quine (ontology and bound variables), Putnam (natural kinds), Hintikka (formalization of facts about knowledge), Montague (paradoxes of intensionality), Kripke (semantics of modality), Gettier (examples on intensionality), Grice (conversational implicatures), and Searle (performatives)." John McCarthy []
  • by pangur ( 95072 ) on Saturday May 27, 2006 @12:23AM (#15414441)
    I have a bachelors degree in Philosophy. I was going for my Masters when one of our PHD candidates (total 9 years in college combined) had to get a job at the Piggy Wiggly because she had no skills. Then I switched to computer science. I later dropped out of CS and went into professional IT, and haven't looked back.

    The thing that interested me most about both studies is that they seemed to be both sides of the same coin. Not because of liberal arts vs. hard science, but in the way they had to deal with reality.

    In a nutshell:
    Philosophy tries to develop, enumerate, and proof basic concepts of existence. Platonic Forms, the monads, and Descartes dialouges are examples of literally trying to get the basic concepts of reality and use them to build bigger structures. Eventually, you could prove more and more complex ideas based on those basic priniciples, which hopefully corresponded with reality.

    So, Philosophy tries to take reality and break it down into its individual elements.

    Computer science taught about programming languages, algorithms, and circuit design. From those basic parts, we were to make mini CPUs, applications, and so forth. Then we would learn about Artifical Intelligence, and the issues with that.

    Computer Science starts with the basic blocks, and tries to create 'reality' from it.

    So, there is some curiosity (to me) in that one of the hardest issues in Computer Science is how to create 'intelligence' from basic building blocks. Then, one of the hardest issues in Philosophy is to derive the basic building blocks out of 'intelligence'.
    • "So, Philosophy tries to take reality and break it down into its individual elements."

      What you describe is a single philoshpy known as reductionisim []. Scientific reductionisim [] is why you find science and philosophy so similar. The basic difference is religion looks for God, philosopy looks for truth and science looks for proof, everything else is an art.
    • This doesn't seem to be a curiosity at all to me. We know that there is intelligence because we see it around us in intelligent people and experience it within ourselves. Cogito, ergo sum and all that.

      We also have these ones and zeros and know we can make them perform calculations for us. Calculating seems to be the start to true intelligence (making a connection and thinking "Aha! I just figured that out! Look how intelligent I am!") It doesn't necessarily follow that these complex calculators are going to

  • Take a look at the kind of discourses on design patterns and pattern languages. Pure philosophy.

    Also I'd say computer science people will have a totally different take on Descarte's Mind-Body problem. As in 'what problem'. And I can think of a bunch of other things that CS will change your outlook on.

  • I was a CS major at 2 different universities. One had Gödel, Escher, Bach as required reading, and the other had a required Philosophy of Science class which included Kuhn's Copernican Revolution along with Newton's Philosophy of Nature and Brecht's Galileo.

    Maybe you need to find a school with a more well-rounded curriculum? They're out there...
  • by edunbar93 ( 141167 ) on Saturday May 27, 2006 @12:55AM (#15414549)
    He said that before the days of computer science degrees, there were two disciplines that were sought after when it came to finding programmers.

    #2 was mathematicians.
    #1 was philosophers.

    Enough said.
  • Research (Score:3, Insightful)

    by yerdaddie ( 313155 ) on Saturday May 27, 2006 @01:08AM (#15414574) Homepage
    A number of academics in domains like ethics, speech act theory, and philosophy of mind (among others) have been contributing to journals [] and having conferences [] related to computing and philosophy for a good while. I imagine that the interesting discussions on issues like free-will as well as models like functionalism [] will probably gradually enter the wider computer science curriculum.
  • by GOD_ALMIGHTY ( 17678 ) <> on Saturday May 27, 2006 @01:10AM (#15414585) Homepage
    What is objective knowledge for a given science? How do you demarcate what is a meaningful statement in computer science and what is meaningful in biology? How do you allow knowledge from one field to be objectively considered by another field with a different domain? These are meaningful questions in the domain of philosophy. All objective knowledge relies on logic, Gödel and Tarski showed us that while we can find truth in a domain, we can never be certain that the truth we have found will not be falsified later. There is no certainty to objective knowledge, no justification. At best, we can determine meaningfulness and test meaningful statements for falsity content. That was the innovation of Popper and the Critical Rationalists.

    The goal of philosophy is methodological correctness, logic is at the heart of philosophy because that's how we describe method. Philosophy can only explore what the limits of lawfulness and order are. Without the ability to demarcate meaning, we cannot determine order. Why we seek lawfulness and order is a metaphysical question, it cannot be answered by philosophy, thus making philosophy incomplete and paying the price for objectivity.

    Since computers are all systems of logic, we can use philosophy to determine what each system's limitations are and how differing systems can interact. Take the theoretical in computer science, how did we develop quantum computing? How will we integrate it into the rest of our systems? As we search for innovative ways to look for solutions to these questions, philosophy guides us, by maintaining methodological correctness, forcing us to maintain the integrity of the identity we have chosen.

    Ethics is not philosophy. It is the application of objectivity to another set of goals, a different domain. If ethics is the domain of how to best get along with our neighbors and avoid creating unnecessary confrontation, then we can apply methodology to determine which statements are meaningful within this domain. For instance, Richard Stallman is a computer ethicist. His goal is to provide a particular ethical view of how we should integrate computer systems into our lives. Some statements are meaningful to these goals and others are not. Out of the meaningful statements, I can test which are most efficient at reaching specific goals, such as those of the FSF. I may not agree with those goals, I may oppose those goals, but since Stallman and the FSF have stated what their goals are, I can properly scope a domain. Once I understand the domain, I can test proposals and conjectures to determine which are most efficient towards reaching those goals. This is how objective knowledge grows, our motivation is always metaphysical. We cannot rationalize or justify inspiration. By understanding this, by enforcing methodological separation, we can concentrate on growing objective knowledge about our metaphysical goals. There is no natural imperative to understand the quantum structure of matter or to understand biological systems. We simply find these things useful, fulfilling.

    If it is philosophy that you want to study, then study Critical Rationalism. The works of Popper, Bartley and Miller should keep you busy for a while and give you a thorough tour of just about everybody, as they've managed to falsify quite a few names in the summary. If it is ethics you are interested in, I can really only recommend who to avoid. Those who hide from criticism are unethical. Plato and Hegel are primarily useless. Both hid their ideas from criticism, attempting to fool the reader into prematurely aborting their attempt to rationalize their proposals. Plato taught 9 tyrants, Hegel was courtier to his own and the father of the Nazi lies. I would also avoid the spawn of these liars, Leo Strauss, Barth and Schaeffer. All of these have either embraced the Noble Lie or Nihilism. Either path is a cover from criticism; nihilism absurdly denies the capabilities of criticism, while the Noble Lie invokes paradox of the liar. One can never determine when a liar is inserting chaos into order to avoid criticism. Integrity is indispensable.
  • Asking if philosophy should have a role in computer science is like asking "Should economics play a role in computer science?" You don't need to know anything about economics to learn about computer science - but there may be parts of computer science that are similar to economics, and you might even use economics in a potential job in computer science. You might even borrow ideas from economics.

    Similarly with philosophy: some concepts are similar (halting problem), you can borrow ideas from philosohpy, and
  • I think the comments here are very interesting. One common theme seems to be the importance of ethics in, for example, determining the normative quality of our technological advancements. Such thinking is certainly important, but I don't really consider it deeply philosophical -- philosophers of ethics are often actually studying meta-ethics (the study of the practice of making normative judgements, or of what normative -- i.e. good and bad -- judgements might mean) and when they're not they are far more
    • ...sorting requires a certain number of comparisons, which it can be shown is on the order of n log n.

      Just a nitpick -- that's only true for sorts based on comparisons. Other sorts that don't require comparisons, such as radix and counting sorts can achieve a potentially smaller asymptotic bound.

      Other than that, I have to agree with you. I know at least two programmers with degrees in philosophy. One was a CS professors at the college I attended. He had a fairly unique approach to teaching some of his cl
  • You get the lowbrow technical philosophies in class, like, "GOTO considered harmful", "always comment your code", why OOP is good, the UNIX philosophy of making many little apps that do one simple thing and do it well, microkernels vs monolithic kernels, and so on. That's the accumulated wisdom of CS.

    After class, you might encounter considerably more interesting philosophies-- interesting because they are controversial. The big one is the philosophy of Freedom as advocated by folks such as RMS, and the

  • Take, for example, relation arithmetic [] from Principia Mathematica. It is no longer a matter of conjecture whether this is going to be important to computer science. It, or its aspect called "relational similarity" has now formed the basis of a computer program that performs as well on the SAT verbal analogy test as the average college-bound student [].

    The tragedy is that there has been nearly a half century of computer science -- much of it involving relational systems such as RDBMS -- and only one real at

    • a computer program that performs as well on the SAT verbal analogy test as the average college-bound student.

      Considering that the average college-bound student gets nearly half of the questions wrong, that's not such an impressive feat. Let me know when it gets them all right, and I'll admit it as my equal. {grin}

  • You can leave politics alone, but it won't leave you alone. That's why the GNU philosophy [] was necessary.

  • It turns out that a medieval philosopher named William of Ockham may have provide the route to artificial intelligence in his famous Ockham's Razor. As it turns out, this has now been shown to be central to very definition of abstract intelligence [] and could provide the basis of a prize award like the X-Prize that could solve the AI problem far more effectively than the Turing Competition [].
  • Haskell monads are good example of a crazy philosophic concept in a purely functional programming language. A must have, because pure functions do not match the reality. The same reason why procedural languages evolved to object ones, because we humanly percieve natural processes as objects.

    We need a machine consciousness. That would be a truly breaking point in philosophy.
  • by Budenny ( 888916 )
    No. Philosophy has no role in anything.

    The game of Mornington Crescent, on the other hand, as a great role to play in Philosophy.

    If you really want an insight into modern philosophy, read or catch Jumpers, by Tom Stoppard.

    After that read a bit of Kant, J L Austin, Nozick. Maybe have a look at some Strawson. Read Thought and Action by Hampshire. Several times.

    Try to write down new thing you have learned. You will not be able to.

    It is generally admitted in informal conversations between philsophers that
  • at scsu [], im pretty sure that computer ethics [] was a required part of the computer science curriculum.
  • The "Never-land" philosophy... for never landing on solid ground when playing in teh world of teh abstract.

    Never make something so simple that anyone can do it, otherwise you will be out of work.

    Never create a perfect program because it leaves no room for selling upgrades.

    wheNever someone comes along and exposes simplicity where there was complexity in your
    application of the above, use your skill at abstraction manipulation to discredit and
    dismiss their claims.

    Never admit that you apply the Neverland philos
  • Finally, an Ask Slashdot question I'm qualified to answer! My undergraduate CS degree (Harvard) probably wasn't as rigorous as it would have been at MIT/Carnegie Mellon/Berkeley/Stanford, but my Philosophy Ph.D. (Berkeley, doing philosophy of mind with John Searle) was reasonably hard core.

    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 can imagine scenarios where the two would be more closely intertwined: heavy duty academic logicians probably work in the intersection of CS and philosophy, and philosophy of mind may have some (tenuous) relevance to cutting-edge AI research. But here's the problem. Philosophy is really about defining terms and asking questions. As soon as terms are successfully defined in such a way that everyone (or most people) agrees on the definitions, and as soon as theories are deemed reliable enough to use in real-world situations, that particular line of inquiry leaves philosophy and is re-branded as science. (Chemistry and astronomy are two particularly clear examples of sciences that started out as philosophical topics way back with the Pre-Socratics.) So any "philosophy" that is concrete enough for CS researchers, developers, or sys admins to use would, most likely, no longer qualify as philosophy.

    But even if philosphy is not all that relevant to people working in CS, I think it can be enormously useful to students who are focusing on CS. Besides the improved reading/writing/thinking I've already mentioned, the study of logic (which generally falls under the purview of philosophy) is a good thing for CS majors (though even it is less directly relevant to programming than you might imagine), and it's good to get practice in questioning the definitions of fundamental terms in any field (which, again, is what philosophy is all about). And of course, reading the work of people like Turing and Godel is crucial to understanding what computers can do, what their limitations might be, and how they might be fundamentally different (or similar to) human minds. But those are not areas that professional developers are likely to spend any time thinking about when their main concern is cranking out another 500 lines of Java before lunch. So I'd encourage CS students to study as much philosophy as they can in order to become smart, thoughtful, well-rounded people, but not to expect to use the content of their philosophy courses all that much once they're in the working world.

    A final caveat: there are vast areas within the philosophy landscape that are completely irrelevant to programmers as programmers, though may be relevant to programmers as human beings. Ethics, aesthetics, political philosophy, all of continental philosophy (think Sartre or Heidegger or Derrida) fall into this category. There are, of course, many more.
  • I haven't seen any philosophical discussion in any of my theoretical computer science courses besides some simple logic. Is it the same elsewhere?


    How often do philosophical concerns play into Computer Science education as a whole?

    Very rarely.

    What role does (or could) philosophy have in Computer Science or Information Technology?

    Huge. Aside from logic and mathematics, compiler design is built directly on language theory defined by Chomsky and his contemporaries, artifical intelligence research is built

UNIX enhancements aren't.