Messaging *IS* a Mainstream Terminology

agree at carltonfields.com agree at carltonfields.com
Fri May 21 14:10:26 UTC 1999


Enough of this wordplay!  

Joachim's argument is rooted upon the proposition that Smalltalk programmers should use a mainstream terminology, which he insists prefers terms such as "function," and "method," to terms such as "messages," or "messaging," and since he feels that "message sends are just the same as functions."  He provides no substantive reason why the term "function call" is better than the term "message send," apart from his insistance that the latter is disused in favor of the former.  

I have been unable to confirm his assertion.  A review of object-oriented literature in my library suggests that opposite to be true: that "messaging" or "message send" is a mainstream (perhaps the) usage for the concept, and that the awkward phrase "member function call" isn't an overwhelmingly favored usage at all.  Let us consider James Gosling's view, which casts a striking contrast to Joachim's:

"If an object wants another object to do some work on its behalf, then in the parlance of object-oriented programming, the first object sends a message to the second object." 

James Gosling & Henry McGilton, The Java Language Environment, A White Paper, http://www.javasoft.com/docs/white/langenv/ (Section 3.2: Methods and Messaging).

Q.E.D.

Certainly it is true that some formal language specifications do use terms other than "message send," or "message passing" to define particular syntactic constructs in particular languagea, such as C++ which uses the term "member function calls" (and which is expressly distinguished from mere "function calls").  On the other hand, as I passed through a small sample of books at hand in my library talking about actually programming or designing using C++, each reverted to the more traditional messaging terminology.

Now, in the sense of full disclosure, I have done far more practicing of law than hacking since I left graduate school and since I sold my software publishing businesses.  Accordingly, my libraries haven't been kept entirely up to date.  It may be that the more traditional uses have ultimately been usurped and wholly preempted by the term "member function call."  

However, all indications appear to be to the contrary.





More information about the Squeak-dev mailing list