Arc Forumnew | comments | leaders | submitlogin
2 points by thaddeus 4928 days ago | link | parent

re: [1], ah yes, ... he also deemed 'inconsistency', as 'complect' too. So, at the very least, arc code should be consistent if not simple. :) - lol.


1 point by rocketnia 4927 days ago | link

He wasn't talking about "consistency" in the sense of the principle of least astonishment.

If two parts of the program observe the system at the same time but see different states, that's called inconsistency. Consistency is difficult to achieve in a distributed program, thanks to the fact that "observation" isn't necessarily instantaneous or reliable. Per the CAP theorem (http://en.wikipedia.org/wiki/CAP_theorem), to achieve full consistency in a distributed program you have to sacrifice availability or partition tolerance. These three properties are inherently complected.

A popular sacrifice is to only guarantee a sort of eventual consistency (http://en.wikipedia.org/wiki/Eventual_consistency). That is, for any given state of the system, given enough time to communicate, every part of the system will catch up to that state. It's like saying that a garbage-collected program eventually releases memory.

-----

1 point by thaddeus 4927 days ago | link

I think you're over analyzing. Although "consistency" in the general sense, was not the only thing he was talking about... it was obvious he was including that, he even dumbed it down to that point within his presentation.

Things that are consistent are simpler than things that are not.

And I do feel that way about arc code. Having half your functions accounting for nil, while ignoring it for the other half, would make coding in arc less simple, than making sure they all accounted for it (as a general statement without debating the specifics).

-----

1 point by rocketnia 4927 days ago | link

Sure, I agree he was talking about that kind of consistency too. I spoke too matter-of-factly for once. ^_^

I was more specifically referring to the part at 31:17 where he had Inconsistency vs. Consistency on the slide and he explained the complexity as "taking a set of things that stand apart and trying to think of them all at the same time." He finished that line of thought with "And anybody who's tried to use a system that's eventually consistent knows that."

(Note that he's talking about eventual consistency as being on the "Inconsistency" side, which I guess is because an eventually consistent system is often on the way to consistency rather than being there.)

-----