Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:HTC EVO 3-D (Score 1) 141

I'm still using that phone - at the time I bought it, it was Virgin Mobile's only "4G" phone. WiMAX hasn't been switched off yet, so I get to use it on the odd day I'm in Mountain View or one of the other very few places it ever worked.

The 3D camera (aka two regular cameras) is nothing special, but the autostereoscopic display is pretty cool. Still a gimmick though.

Comment Re:Self-defeating argument? (Score 1) 303

That is a very difficult one to explain to someone with no coding experience.

I disagree. The try-catch block just performs an action while listening for special return values indicative of failure. Take establishing a connection, which may succeed or fail. If the failure code (or exception) is found, the program reacts differently than if it is not. I think most people would catch on quickly, especially if with some pseudocode to point to.

How can you ask a computer to "try" something, really?

I think "try" is a lot like "do," with uncertainty. Take a look at the definitions of "try". Def. 1 seems circular, but Defs. 2 - 4 and 7 seem to apply pretty well to the program. Of course, if we use Def. 8 instead, then few of us ever "try."

Ahh, semantics (being the study of meaning, I actually think semantics is pretty important).

Comment Re:stupid (Score 1) 303

That reminds me of a story from my philosophy of science professor (I studied biochemistry but branched out in college).

After giving lectures/presentations, scientists would ask about practices in their work which resembled induction, to try to understand how these practices should be approached philosophically, but Popper would just respond with "it's not science" or "it's not my fault you're a bad scientist."

Comment Re:Self-defeating argument? (Score 1) 303

Am I understanding that correctly that you basically define how an object should respond to data, thereby giving it a human-like response?

Pretty much, although part of the point I wanted to make is that "human-like" is not necessarily as broad as it's made out to be. For example, IMHO the "try" construct is intentional without being anthropomorphic - I think "try" is an accurate moniker for what the program does.

Comment Re:Do anthromorphise! (Score 1) 303

I think there are probably a variety of good reasons for it, too. Here's one speculation: When we communicate with a human, we must use some language that will be more-or-less understood by the other human.

That is a good reason, but IMHO the reason for the origin of the "intentional stance" is that it's simply the most parsimonious way to approach survival in a dangerous environment.

Comment Re:Self-defeating argument? (Score 1) 303

It seemed easier for me to organize things into classes for a poker program because anthropomorphizing the methods made sense in that case.

In what way did you impute human characteristics to the poker code? My guess is you didn't truly anthropomorphize, but rather used some form of intentional stance or design stance.

IMHO, Vaillant (not having studied philosophy of mind) is a bit confused about intentionality, which is actually totally inescapable in programming.

Comment Re:That's not even why OOP was created... (Score 1) 303

In that sense, it was a form of anthropomorphism

I wouldn't call it that, since there isn't any necessary imputation of human characteristics to the objects. Instead, it's to do with intentionality. Whether I have a variable called "train_speed" or a "train" object with a "speed" member, the key thing is that these data are "about" achieving a particular purpose. I think TFA (and Dijkstra's piece) could have been much more insightful if the authors were familiar with a few ideas from philosophy of mind.

As you point out, things are more clear for physical modelling than other domains because no one is going to argue that trains don't have speeds.

Comment Re:stupid (Score 1) 303

Firstly, to understand the difference between trying to do and "trying to do", read some Dennett. If correctly understood, anthropomorphisms like the attribution of intention to a non-intentional entity can be extremely helpful.

I have been saying something very similar in other comments here (and linking pages for intentionality and the intentional stance). I'm sure if Dijkstra or Vaillant were more familiar with the philosophy of mind, they would end up making this kind of distinction instead of just proscribing what they call "anthropomorphizing."

I do think, however, that the intentional stance doesn't necessarily imply anthropomorphization. Programs in particular are designed towards specific ends and we can talk about how they represent facets of those ends without imputing to them human characteristics. I would cite any self-documenting code conventions (even as simple as a "speed" variable) as examples.

The cause for the analogy to break down is that there's no equivalent to walking to the classroom in his example. All of his code simply assigns a classroom number, without any equivalent of the walking part. As soon as you add that - magic ! - the analogy works again.

Dennett-style reasoning - I like it!

Comment Re:Ya, Sure. (Score 1) 303

It is accurate to say that a program tries to do something

The key is intentionality. Programs are intentional systems, and their "aboutness" is reflected in variable names ("speed", "name"), language constructs (try-catch) and, most importantly, however the algorithm achieves a specific end.

IMHO, we can go a long way in using the "intentional stance" without venturing into potentially misleading anthropomorphizations.

Slashdot Top Deals

Remember, UNIX spelled backwards is XINU. -- Mt.

Working...