Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!nstn.ns.ca!news.cs.indiana.edu!samsung!usc!apple!cambridge.apple.com!alms From: alms@cambridge.apple.com (Andrew L. M. Shalit) Newsgroups: comp.object Subject: Re: The Emperor Strikes Back Message-ID: Date: 22 Feb 91 20:12:10 GMT References: <3351@sequent.cs.qmw.ac.uk> Sender: news@cambridge.apple.com Distribution: comp.object Organization: Apple Computer Inc, Cambridge, MA Lines: 22 In-reply-to: steve@cs.qmw.ac.uk's message of 15 Feb 91 20:50:37 GMT In article <3351@sequent.cs.qmw.ac.uk> steve@cs.qmw.ac.uk (Steve Cook) writes: The killer is 'lexically-scoped'. It's a while since I heard the phrase, so I checked it in Abelson and Sussman's book, 'Structure and Interpretation of Computer Programs'. According to them, lexical scoping means that free variables in procedures are statically bound to variables in textually-enclosing procedures, just like free variables in nested procedures in Pascal. But the most fundamental idea of object-oriented programming is dynamic binding of operation names to operations at run-time. Lexical scoping has nothing whatever to do with objects. Can somebody who's failed so completely to grasp the basic idea be trusted to criticise the whole technology? I agree with Steve. In object-oriented programming, the meaning of an identifier (message or variable) depends on the reciever (which is part of the run-time program state). This is essentially a disciplined form of dynamic binding. It's very different from lexical binding, in which the meaning of an identifier can be derived purely from the surrounding program text. -- Brought to you by Super Global Mega Corp .com