Slashdot Mirror


Does Philosophy Have a Role in Computer Science?

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?"

12 of 239 comments (clear)

  1. I never went to college.. by windex · · Score: 5, Insightful

    ..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.

  2. Re:Yes, by alfs+boner · · Score: 5, Insightful
    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.

    --
    Listen p*ssy. I'm sure your the same homo that posted earlier about alf's boner and you just want to remain anonymous fo
  3. Re:No thanks. by linguae · · Score: 4, Informative
    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.

  4. Everything applies to everything by dcloues · · Score: 4, Insightful

    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.

    1. Re:Everything applies to everything by Karma+Sucks · · Score: 4, Funny

      Everything may be connected to everything, but I still wish you would use paragraphs.

      --
      (Please browse at -1 to read this comment.)
  5. Eh, not so much. by djSpinMonkey · · Score: 4, Insightful
    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.

  6. No, they belong in a philosophy class. by twitter · · Score: 5, Funny
    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.

    --

    Friends don't help friends install M$ junk.

  7. Philosophy and Computer Science at opposite ends by pangur · · Score: 5, Funny

    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'.

  8. I met an old timer once... by edunbar93 · · Score: 4, Interesting

    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.

    --
    "No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
  9. Re:Ask this guy by tverbeek · · Score: 4, Funny
    Hmm, I wonder what this "preview" button is for? I guess I'll never know.

    You're presupposing a teleological explanation for the "preview" button. I look at it from an existential perspective: the "preview" button simply is, and it's up to each of us to find some meaning - if any - for it.

    :)

    --
    http://alternatives.rzero.com/
  10. Re:Yes, by stonecypher · · Score: 4, Informative

    Philosophy is the aggregation, study, refinement and analysis of knowledge as a whole. The word itself means "the love of knowledge." If you think that has no impact on the real world, I feel very sad for you.

    --
    StoneCypher is Full of BS
  11. The connection seems marginal at best by cwcowell · · Score: 5, Insightful

    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.