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

35 of 239 comments (clear)

  1. Yes, by DriftingDutchman · · Score: 2, Insightful

    In order to think outside the box of contemporary computer science.

    1. 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
    2. Re:Yes, by grammar+fascist · · Score: 2, Informative

      I thought modern philosophy was ephermeral, mindless crap.

      Surely you're thinking of deconstructionism and all the other garbage that gets pushed onto poor, unsuspecting lovers of the English language.

      Philosophy deals mostly with logic. I wish more were taught in CS courses, if only to engender more rigorous thinking.

      --
      I got my Linux laptop at System76.
    3. Re:Yes, by ceoyoyo · · Score: 2, Interesting

      Philosophy is mindless crap if you maintain the conviction that it has some intrinsic relevance in the real world.

      Now, if you lack that, then philosophy is fascinating, critical to civilization and often very useful, particularly if combined with a requirement for observation -- ie science.

    4. Re:Yes, by l33td00d42 · · Score: 3, Insightful

      what i mean by the quote is that "the box" (the computer) has a fixed set of rules that any solution must adhere to. in that sense, excelling in computer science and/or software engineering is about how well you think "inside the box".

    5. 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
    6. Re:Yes, by stonecypher · · Score: 2, Informative

      That's simply incorrect. The literal translation of the Greek Sophos (Slashdot doesn't allow greek, but put Σοφος in your browser) is able, skilled or clever, and was applied as a title to those with the training to read the future from objects, as opposed to the innate ability. The word is in specific opposition to the modern term "wisdom." There isn't a word in ancient Greek for Wisdom, as they seperate between scholarly-attained internal wisdom and naturally-attained internal wisdom as two distinct topics. In Greek, scholarly wisdom is called skholastikos, and innate wisdom is referred to with the now largely forgotten word bleptor (which has largely been replaced by the Latin "vidensi" whence we retain "evident.")

      A philosopher is a lover of knowlege, skill, ability, and cleverness, not a lover of wisdom, experience, or history. The word you're looking for is the extinct term "philobleptorist," which you can see in several contemporary references to Greek great minds, particularly Herotodeus, Aristotle, Anaximander, Democritus, Protagoras and so on; it's also occasionally used in the proto-Renaissance during the "omg Latin = smart" phase, and so you see it bandied about for people like Bacon, Newton and Galileo often.

      By example, consider Mike Michaelmiker from WZZZ TV, John Brown from the Brown Family Farm and The Great Mage Darkcloud from Avalon. All three people are able to read the weather. Mike uses doppler radar. John uses what farmers have figured out over the last few thousand years. Darkcloud summons a demon and binds it to just go look at the future.

      Mike Michaelmiker is a philosopher of weather. He understands how weather works. He understands why a tornado happens, and can evaluate data to estimate the likely upcoming weather patterns. With sufficient tools, his predictions are highly accurate in the near future. Mike doesn't need significant historical data for the local terrain; a map, some hardware and a few hours are sufficient for him to get up and going. However, without tools he cannot function.

      John Brown is a philoblapterer of weather. He is aware of the historic trends for weather in the area. He knows dozens of signals from the natural world - if the air smells like metal, then an electrical storm is likely; if the air feels wet and drops rapidly in temperature, then rain is likely; if the wind seems faster at the ground than ten feet up, then local weather is about to turn from cloudy to clear. He doesn't know that the metallic smell is loose ozone from electrical interactions in the clouds, or so on; he just knows that that smell is an indicator of a well known process. With a few weeks to get a sense of the pattern and provided that his knowledge is locationally appropriate, his predictions are also highly accurate, but for completely different reasons. John is only effective in terrain he knows the history of, because even similar terrain can have radically different weather contexts, but needs no real tools other than some time.

      Darkcloud is meteonephelamancia, and lord only knows how he works. The point was to distinguish between academics and learned innate knowledge. The Greeks believed that there was a block of knowledge waiting to be unlocked piecemeal inside each of us, and went as far as to distinguish that from scholastic information right in the language. Sophos is clearly knowledge of skill, not innate wisdom, by the very nature of the Greek lexicon.

      The counterpart by scholarly skill is an academician; it was common but not required for a philosopher to be an academician. Counterexamples, however, include Pythagoras, who never attended a day of school in his life and proudly attested to that (people who call the Akousmatos a school are mistaken; it was a think-tank and a borderline cult. People went there to work, not to learn.) Pythagoras is remembered among other things as a great Philosopher, but it would be a mistake to call him an academic. Granted

      --
      StoneCypher is Full of BS
  2. Enlightenment? by shadwwulf · · Score: 2, Funny

    Ummm... Guys?

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

    MTW

  3. Certainly by Who235 · · Score: 3, Insightful

    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.

  4. Halting Problem by dudeX · · Score: 2

    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.

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

    1. Re:I never went to college.. by Anonymous Coward · · Score: 2, Funny

      I have a spotted dog. I named my dog, and taught it how to play fetch. Therefore I programmed my dog, and furthermore, a dog is like a computer. Fido.fetch( "ball" ); //wow, object oriented doggy!

      So, I hope you learned all you need to know about scoping, typing, binding, etc. from playing with your dog (whom shares properties from objects, therefore there may be some inheirtence as well).

    2. Re:I never went to college.. by cperciva · · Score: 3, Insightful

      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.

  6. Roll your own by antifoidulus · · Score: 3, Informative

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

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

  8. Ask this guy by JanneM · · Score: 2, Informative
    --
    Trust the Computer. The Computer is your friend.
    1. Re:Ask this guy by JanneM · · Score: 3, Funny

      Hmm, I wonder what this "preview" button is for? I guess I'll never know.

      --
      Trust the Computer. The Computer is your friend.
    2. 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/
  9. Re:ask alan turing by alfs+boner · · Score: 3, Interesting

    Alan Turing devised most of the theoretical basis for computers in mathematics, but all the modern computers that we use are called Von Neumann machines for a reason.

    --
    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
  10. The great H.L. Mencken on philosophy by jhylkema · · Score: 3, Informative

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

  11. 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.)
  12. 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.

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

    1. Re:No, they belong in a philosophy class. by Coryoth · · Score: 2, Informative

      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 serious attempts to completely rigorously ground mathematics as logic. I'm less clear on exactly how well his work fits in to a CS philosophy course, though certainly he is of importance in the general development of formal logic.

      Russell is the founder of type theory, which I'm sure anyone who has done much programming at all has made significant use of. At the time Russell developed it type theory was somewhat of a position he'd been forced into to escape various logical paradoxes in the foundations of mathematics. With the advent of computers however type theory saw a resurgence: types, and type signatures for functions, and a theory of types in general, suddenly seemd quite natural. Indeed type theory has become an important field in CS and programming language research. On that front it would probably be worth including Per Martin Löf and intuitionistic type theory, which is a more modern type theory better suited to the CS perspective than Russell's original work.

      Tarski, notoriety of the Banach-Tarski paradox aside, is best known for a lot of remarkable work in logic, including his theorem regarding the indefinability of truth within formal systems, closely related to Gödel's incompleteness theorems. He also developed the bulk of model theory which is now very important in CS fields such as algebraic specification. Certainly including Tarski in a CS course would not go astray.

  14. Re:Yes, but economics first. by jlarocco · · Score: 2, Insightful

    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.

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

  16. 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
  17. Re:No thanks. by TheKidWho · · Score: 2, Insightful

    Ethics and MicroEconomics.

    Those are the two musts imo.

  18. Research by yerdaddie · · Score: 2, Insightful

    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.

  19. Philosophy is the science of demarcation by GOD_ALMIGHTY · · Score: 2, Informative

    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.

    --
    Arrogance is Confidence which lacks integrity. -- me
  20. not the results but the practice of philosophy by npdoty · · Score: 2, Interesting

    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 often studying the general principles behind good and bad judgements (does good mean creating the most pleasure?)) rather than applying rules to determine the goodness or badness of any particular situation.

    Of course, other parts of philosophy (besides ethics) have been cited here -- logic is one of the obvious ones of course: as a Philosophy major interviewing at Microsoft I was frequently asked what Philosophy had to do with Computer Science and I cited philosophical logic and how Russell's logical discoveries are the basis of NAND gate chip design. But I'm also interested in the application of epistemology to AI (the cognitive science side in particular).

    But I think the connection between philosophy and computer science ought to be made more generally than attempting to apply specific philosophical results to problems of computation. (I certainly don't deny that such application can and should be done -- and the McCarthy quote cited above suggests several promising lines -- but I think it should not be the only focus for philosophy's use in computer science.) My view of it (as a philosophy major about to start a job in software development) is that the methods of philosophy rather than the results will be useful to me in computer science. Much of philosophy, the actual practice of making arguments, explaining phenomena, drawing conclusions is I think very similar to computer science, which I frequently see as just the abstract description of a problem.

    An example: sorting algorithms aren't just practical ways to achieve a goal, the algorithms are descriptions of what it is to sort something: sorting requires a certain number of comparisons, which it can be shown is on the order of n log n. That seems to me an instance of philosophy -- taking a phenomenon, investigating what it means abstractly and precisely. And I think (and hope) that much of real-world software development (not just the deep theory around algorithms) is the same sort of thing -- a precise and abstract description of a problem: from determining requirements from the user to writing the code for particular algorithms. Software developers may not be keeping copies of Plato or Russell on their desks for regular reference, but I think a philosophy background is a great help.

  21. Re:No thanks. by Stalyn · · Score: 3, Informative

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

    --
    The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
  22. Wow. by mattmacf · · Score: 2, Insightful
    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 whole life I have been a chronic underacheiver. Grade school was a joke, middle school was tediously easy, and in high school I averaged B's in what were the most "challenging" courses available without batting an eyelash. I've rarely needed to do homework, and have been dubbed "gifted" by both my teachers and my peers. Despite my potential, my last semester GPA was only slightly above a 1 and my return to the college for the fall semester hinges on a last-ditch appeal to the college president to overturn a judicial ruling of a semester's suspension.

    Why is this, do you ask? Well from my year's experience at the college, the "liberal arts" philosophy was difficult to find. While the school offers a variety of courses from a vast array of disciplines, so far the courses themselves have been relatively one-dimensional. Even as a math major, there's only so much vector calculus and normal distribution I can take. As a result, I slacked off entirely too much and got distracted with not-so-wholesome extracurricular activities.

    Obviously I would be wrong to put the blame for my failures (entirely) on the academic program at Muhlenberg. However, I do attribute some of it to a schism in the way that I prefer to learn and the way that I was taught. Don't get me wrong, I truly enjoy learning. I've have easily spent hours of my time reading Slashdot for the lastest tech "news." Even more tellingly, I'll often get sidetracked by a link to Wikipedia regarding some obscure technology. Many times I'll find an interesting article, and several middle-clicks later, I'll have a dozen tabs open on a variety of tangentially related, yet incredibly interesting and informative topics. As such, I find rote regurgitation of facts and formulas to be wholly uninteresting. Quite frankly, an equation in my calc book is irrelevant to everything that isn't calc. More importantly, that equation will be in my calc book for all eternity, and if I ever need it, I'll know where to find it.

    AFAICT, most sciences are only useful as they pertain to other sciences. As a math student, I know that math for the sake of math, as interesting as it may be, is generally irrelevant to anyone but a mathematician (and only for curiosity's sake). It doesn't matter what the deriviative a given function is; what matters is the significance of that finding. For example, without leaving the realm of mathematics, we know that the derivative of a function is its slope at a given point. Similarly, the integral represents the signed area between the function and the axis of the independent variable. On its face, this knowledge is relatively useless. If we travel into the realm of physics, however, we learn that the derivative of an object's position function gives us its velocity, and the integral of a force/distance function gives the amount of work done. In context of physics, math has a tangible meaning.

    For those slashdotters keeping score, here comes the ever-insightful car analogy. Suppose you built a car from scratch, and knew everything about its operation as confined to your garage, but never had an opportunity to drive it. Sure you were intimately familiar with engine timings, gearbox ratios and what have you, but were completely oblivious to its operation under normal road conditions. After spending time with the car on a test track, your world opens up to learn how to actually drive the car. But still, were you to be thrown into midtown Manhattan traffic, you would be hopeless. See where I'm going w

    --
    I only mod funny =D
  23. 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.