c# - Origin of term "reference" as in "pass-by-reference" -


Java / C # language lawyers want to say that their language passes the reference value, this would mean that the "reference" object -Pointer, which is copied when calling function

In the meantime, a reference is a nickname in C ++ (and also in more dynamic form in Perl and PHP) some other names (or run-time values ​​in dynamic case).

I am interested in derivation here, what was the initial use of the word "context"? Pre-java allows you to go, but if you know about pre-C ++ applications, then it will also interest me.

(I know that vocabulary changes, etc., but I am only interested in history).

The initial use of the term "call by reference" in the paper by Richard E. is Fairly, March 1973 .

In the early days, the terminology was incompatible. For example, the phrase "association with name" and "association with value" will now call these "call by reference" and "call by value". On the contrary, (1962), the word "call by name" and "call by value" have been used ... and none of these is what we currently refer to in context of call from context.

Edit : For those who want to label pioneers who use the word "Association by name" to Fortran 66, consider it Do:

  1. Fortran 66 was the first attempt to specify a language based on context.

  2. This was only the second attempt, which attempted to specify a language with that sub-method, which supports the parameter.

  3. "Association with the name" of Fortran 66 can be seen as a restricted (degenerate) form of "Call by name" of Algol 60. The restriction is that in Fortran, the name should be a simple variable or array name, where it can be an expression in Algol 60. It was not clear at the time (1966) that algorol 60 was to be sacrificed as a bad idea called "call by name". Actually, when I studied Algol 60 in 1977, I do not remember the lecturer presenting "Call by name" as a bad idea. (It was considered difficult to understand ... but this is a different thing.)


Comments

Popular posts from this blog

c# - How to capture HTTP packet with SharpPcap -

php - Multiple Select with Explode: only returns the word "Array" -

php - jQuery AJAX Post not working -