proj-oot-ootDataBindingNotes1

webdav

---

soft vs. hard symlinks:

the difference is that if you change which file is found at the file path specified in the soft symlink, the resolved value of the symlink changes. But the resolved value of the hardlink does not; it changes only if you open the file and write to it.

i guess in a programming language it would be like:

a = [1, 2] b = soft-symlink(a) c = hard-symlink(a)

a.append(3) b == [1,2,3] c == [1,2,3]

a = [1,2,3,4] b == [1,2,3,4] c = [1,2,3]

--

Java is pass-by-value, dammit (discussion: [1]) has a useful point that Java is not "In Java, Objects are passed by reference, and primitives are passed by value.", but rather is: primitives are passed by value, 'objects' are really object references, object references are passed by value.

the litmus test he uses for pass-by-reference is whether you can write a 'swap' function that swaps its inputs, and whether after running it, the change is visible in the caller.

in java, such a change is not in fact visible in the caller.

in C, using pass-by-reference, it is.

---

which makes me wonder, what is the difference between C++ pointers and references?

http://stackoverflow.com/questions/57483/what-are-the-differences-between-a-pointer-variable-and-a-reference-variable-in

---

see how js frameworks do it (angular, ember, etc)

---

mb just use & and * like in C, and have a declaration like '^ref a' to implicitly use references like in Python (eg '^ref a; a = 3' transforms to '*a = 3' (plus memory management/initialization code)

---

See also