views:

814

answers:

14

There's a computer science term for this that escapes my head, one of those words that ends with "-icity".

It means something like a given action will always produce the same result, IE there won't be any hysteresis, or the action will not alter the functioning of the system...

Ring a bell, anyone? Thanks.

Apologies for the tagging, I'm only tagging it Java b/c I learned about this in a Java class back in school and I figure that crowd tends to have more CS background...

+6  A: 

deterministic ,.,-=

jspcal
Deterministic still may alter the system. `myAccount.balance += 50` would deterministically withdraw money from account ;-)
notnoop
I'd like to be able to withdrawal money while increasing my balance!
Ruddy
+1  A: 

You mean an atomic block of code?

Terje
atomicity....15
JMD
+10  A: 

you mean idempotent ??

ram
That has to do with side effects, but not necessarily that it gives the same result.
troelskn
from wikipedia:Idempotence (pronounced /ˌaɪdɨmˈpoʊtəns/) describes the property of operations in mathematics and computer science that means that multiple applications of the operation do not change the result.
ram
+6  A: 

Nullipotent?

Platinum Azure
This is the one that fits the criteria of the question. +1
Hogan
I guess to really fit the question you have to say Nullipotenticity
Hogan
Ahaha, true. I'm too lazy to edit, though, do forgive me. :-)
Platinum Azure
+1  A: 

or the action will not alter the functioning of the system...

Are you looking for ‘idempotence’?

bobince
+1  A: 

you mean idempotence?

Mauricio
+3  A: 

In math, a function 'f' is idempotent if multiple applications do not change the result.

Michael Easter
+36  A: 

This could mean two different things:

deterministic - meaning that given the same initial state, the same operation (with exactly the same data) will always produce the same resulting state (and optional output.) - http://en.wikipedia.org/wiki/Determinism

i.e. same action has the same effect - assuming you start from the same place in the same system. (Nothing random about it, nothing fed in from the outside that could effect the result...)

idempotent - meaning that a command run once produces some effect, but running the command multiple times has that effect only once - as though it had only been run once. - http://en.wikipedia.org/wiki/Idempotence

i.e. same action has the same effect - same effect if you run it once, or multiple times one after another times

cartoonfox
I though deterministic just mens it does not crash :-) given the same starting state and input. (Joking)
Martin York
Yes! I was looking for idempotent - I guess it's not exactly what I thought it meant though, thanks!
ambertch
for example, some light switches are idempotent, some are not. If you flip it up to turn it on, and flip it up again, it stays on, that's idempotent. If you press it to turn it on, then press it again, it turns off - that's not idempotent.
ja
+9  A: 

Referential transparency is also used in some CS circles.

Daniel Velkov
A: 

The A in ACID.

Atomicity - states that database modifications must follow an “all or nothing” rule. Each transaction is said to be “atomic.” If one part of the transaction fails, the entire transaction fails.

Yada
A: 

It sounds like what you're describing would be a memoryless function. Although the term memorylessness is usually used for stochastic distributions, I don't quite remember if it has a programming equivalent...

Wim
+3  A: 

side effect-free?

Brian Postow
+5  A: 

Are you looking for invariant?

http://en.wikipedia.org/wiki/Invariant_%28computer_science%29

In computer science, a predicate is called an invariant to a sequence of operations if the predicate always evaluates at the end of the sequence to the same value as before starting the sequence.

Jesse Stimpson
+1  A: 

The "ends with -icity" part of your question makes me think you might be looking for monotonicity, even though it does not quite match description/definition of the word. From the Wikipedia article:

In mathematics, a monotonic function (or monotone function) is a function which preserves the given order. This concept first arose in calculus, and was later generalized to the more abstract setting of order theory.

In the following illustrations (also borrowed from the Wikipedia article) three functions are drawn:

A:      B:      C:

A and B and both monotonic (increasing and decreasing respectively), while C is not monotonic.

Jørn Schou-Rode