Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ben Bacarisse Newsgroups: comp.lang.javascript Subject: Re: Overriding function and adding a bit Date: Sun, 14 May 2017 00:00:03 +0100 Organization: A noiseless patient Spider Lines: 33 Message-ID: <87wp9kcqh8.fsf@bsb.me.uk> References: <5178377.MhkbZ0Pkbq@PointedEars.de> <20479369.6Emhk5qWAg@PointedEars.de> <10849548.O9o76ZdvQC@PointedEars.de> <05f57f29-8dd8-4829-9952-7ffd20411fb5@googlegroups.com> <877f1kg4mz.fsf@bsb.me.uk> <579d836f-190f-488b-859a-2d1320aa8242@googlegroups.com> <878tm0edlc.fsf@bsb.me.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: mx02.eternal-september.org; posting-host="4567f39464f93982416bb7b5de1a8617"; logging-data="14558"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+gpbhA8wzDT9ji+3u7on1uDxTapt7Pbi0=" Cancel-Lock: sha1:zaPCCc6Wg2IHBcqTZel6Jy9n4Rs= sha1:QzT5aQk33NI+3NjLf71Vc19aifU= X-BSB-Auth: 1.913585aae4c0320532cf.20170514000003BST.87wp9kcqh8.fsf@bsb.me.uk Xref: csiph.com comp.lang.javascript:33310 ram@zedat.fu-berlin.de (Stefan Ram) writes: > Ben Bacarisse writes: >>There can be no reasonable doubt that ECMAScript is an object-oriented >>language > > Alan Kay coined the term »object-oriented« in 1967, > and he wrote to me in an e-mail in 2003: Wikipedia says he coined it with others when at Xerox PARC, but he joined PARC in 1970 (again, just Wikipedia as the source). I'm not saying you're wrong, just curious about the various sources. > »OOP to me means only messaging, local retention and protection and > hiding of state-process, and extreme late-binding of all things. > It can be done in Smalltalk and in LISP. There are possibly > other systems in which this is possible, but I'm not aware of them.« > > JavaScript already existed in 2003, but Alan Kay did not > mention it as a System in which OOP can be done. But what does it mean in general nowadays? Interestingly, whilst JavaScript objects do not naturally lend themselves to what I'll call for the moment "Kay object-oriented" programming, there is more of a connection than many people might think. That's because in Smalltalk (the archetype for "Kay object-oriented" programming) the classes (to which objects belong) are themselves are objects, so you have direct access to what is essentially a prototype in JS. -- Ben.