My favorite philosophy classes were psychology classes. I think taking influence from outside fields is generally a good sign for the quality of one's philosophy. Too much philosophy is done "in-house" and I worry too many philosophers don't take enough inspiration from knowing more about how the world, and their own minds, actually work to do philosophy as well as they could.
I must confess I hate OOP. It has been invented for simulations in the 1960's when databases did not exist, computers were slow, data had to be hardcoded, hence the concept of encapsulation. OOP was a way to make all this hardcoded data not an utter mess.
Today, data belongs to databases. I don't want a Goblin class, that makes no sense whatsoever. I want a Monster database table, which has a row for the Goblin, with fields like HP, the player strikes the Goblin, an SQL UPDATE runs reducing the HP field.
And that preferences thing is obviously an SQL database table with three columns.
Unfortunately not everything can be done in SQL, and it is awkward to mix SQL with other kind of code.
What should other kind of code be? Instead of OOP, it should be functional, functional programming can simulate aspects of OOP as it happened in JavaScript, if that is wished. It also lends itself well to constructing query-like languages, and I believe those are the best way to program, from LINQ to JQuery. Still mixing it with SQL will be awkward.
The reason they are the best way to program is that they are easy, you are telling it what to do, not how. They are very expressive.
These are good examples of how programming can help reduce your metaphysical and linguistic assumptions. And quite different from the ones I thought of when I saw Lance restacked this post. I'm convinced that the programmer -> (nominalism, pragmatism) connection is common (at least amongst relatively good programmers). The examples you give here also count towards functionalism, but I'm not sure how much that can be taken as simply a particular sub-area of a general pragmatist approach.
My examples were:
1. The way that errors in programming systematically and unbiasedly tell you ‘nope, your assumptions are wrong’; this pulls you away from 'social guessing games' about meaning, such as occur when people are inconsistent with the meanings they use, or use a tone that conflicts with the content. You simply have to get good at the whole empiricism thing: constructing test instruments, using them competently, interpreting results without importing unnecessary assumptions.
2. APIs simply are little languages. You have to deal with many and create them too, and naturally develop opinions on what is good and bad in an API, so I think this rapidly pushes programmers away from any kind of linguistic parochialism (and so towards nominalism). Depending on exactly what you are dealing with, using and creating DSLs (domain specific languages -- regular expressions being an example) may be common and serve to further cut down any unnecessary assumptions about language you were laboring under.
Obviously one doesn't necessarily have to extrapolate their experiences onto metaphysical assumptions, as opposed to the conceptual dimension you describe here -- you could compartmentalize it. But I suspect in practice such extrapolation happens a lot.
Personally, I also think that programming has influenced me greatly in the direction of 'people are doing much less than they seem to think they are doing, when they are thinking' (and so skepticism towards analytic assumptions about 'intuitions'). But it's harder to identify why, in that case; for me that is also tangled up with learning about neuroscience and psychology
Do strawberries have properties that are independent of our individual, subjective ascriptions? If they don't, then how do we recognise them as anything at all? Is strawberry a property of the word “strawberry”?
My favorite philosophy classes were psychology classes. I think taking influence from outside fields is generally a good sign for the quality of one's philosophy. Too much philosophy is done "in-house" and I worry too many philosophers don't take enough inspiration from knowing more about how the world, and their own minds, actually work to do philosophy as well as they could.
The "from programmer to pragmatist" pipeline is real :DD
I didn't get into programming. I took a weird, circuitous route. But eventually I got there.
I must confess I hate OOP. It has been invented for simulations in the 1960's when databases did not exist, computers were slow, data had to be hardcoded, hence the concept of encapsulation. OOP was a way to make all this hardcoded data not an utter mess.
Today, data belongs to databases. I don't want a Goblin class, that makes no sense whatsoever. I want a Monster database table, which has a row for the Goblin, with fields like HP, the player strikes the Goblin, an SQL UPDATE runs reducing the HP field.
And that preferences thing is obviously an SQL database table with three columns.
Unfortunately not everything can be done in SQL, and it is awkward to mix SQL with other kind of code.
What should other kind of code be? Instead of OOP, it should be functional, functional programming can simulate aspects of OOP as it happened in JavaScript, if that is wished. It also lends itself well to constructing query-like languages, and I believe those are the best way to program, from LINQ to JQuery. Still mixing it with SQL will be awkward.
The reason they are the best way to program is that they are easy, you are telling it what to do, not how. They are very expressive.
These are good examples of how programming can help reduce your metaphysical and linguistic assumptions. And quite different from the ones I thought of when I saw Lance restacked this post. I'm convinced that the programmer -> (nominalism, pragmatism) connection is common (at least amongst relatively good programmers). The examples you give here also count towards functionalism, but I'm not sure how much that can be taken as simply a particular sub-area of a general pragmatist approach.
My examples were:
1. The way that errors in programming systematically and unbiasedly tell you ‘nope, your assumptions are wrong’; this pulls you away from 'social guessing games' about meaning, such as occur when people are inconsistent with the meanings they use, or use a tone that conflicts with the content. You simply have to get good at the whole empiricism thing: constructing test instruments, using them competently, interpreting results without importing unnecessary assumptions.
2. APIs simply are little languages. You have to deal with many and create them too, and naturally develop opinions on what is good and bad in an API, so I think this rapidly pushes programmers away from any kind of linguistic parochialism (and so towards nominalism). Depending on exactly what you are dealing with, using and creating DSLs (domain specific languages -- regular expressions being an example) may be common and serve to further cut down any unnecessary assumptions about language you were laboring under.
Obviously one doesn't necessarily have to extrapolate their experiences onto metaphysical assumptions, as opposed to the conceptual dimension you describe here -- you could compartmentalize it. But I suspect in practice such extrapolation happens a lot.
Personally, I also think that programming has influenced me greatly in the direction of 'people are doing much less than they seem to think they are doing, when they are thinking' (and so skepticism towards analytic assumptions about 'intuitions'). But it's harder to identify why, in that case; for me that is also tangled up with learning about neuroscience and psychology
Do strawberries have properties that are independent of our individual, subjective ascriptions? If they don't, then how do we recognise them as anything at all? Is strawberry a property of the word “strawberry”?