Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #33317
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Overriding function and adding a bit |
| Date | 2017-05-14 12:34 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <87pofbbrkh.fsf@bsb.me.uk> (permalink) |
| References | (8 earlier) <579d836f-190f-488b-859a-2d1320aa8242@googlegroups.com> <of7abv$1h6k$1@csiph.com> <878tm0edlc.fsf@bsb.me.uk> <OOP-20170513214952@ram.dialup.fu-berlin.de> <vlcghcp51bem918fu1h8rump5novj5oq40@4ax.com> |
John G Harris <niam@jghnorth.org.uk.invalid> writes: > On 13 May 2017 20:51:57 GMT, ram@zedat.fu-berlin.de (Stefan Ram) > wrote: > >>Ben Bacarisse <ben.usenet@bsb.me.uk> 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: >> >>»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. > > In a video by one of the Smalltalk inventors, probably Alan Kay, the > speaker ended by saying that a language is Object Oriented *ONLY* if > it has *ALL* the features of Smalltalk. > > So > Strongly typed languages are not OO. > Languages where a garbage collector is optional are not OO. > Languages which don't call methods by sending messages are not OO. > > I think he was biased in favour of Smalltalk, too biased. Sure, but I don't think it matters too much because he's explicit about the definition he's using (or, indeed, invented) so the discussion can't be derailed by misunderstanding. I like it when people are passionate about technical matters, and I like having definitions that stake out the boundaries of concepts like this, even if they are not universally agreed upon. And I feel inclined to nit-pick a bit: I think you mean "static typing" rather than "strong typing". What he's ruling out is code where the types can be resolved by static analysis of the program text. A language with dynamic or run-time types may enforce strong type checking. In fact, I think he's going further than this. His remark about very late binding would rule out languages (like C++) where the compiler can plant virtual tables making it seem like there is some run-time typing going on. The acid test would be whether you can "wrap" a method at run-time. You can do this in SmallTalk and CLOS (the Common List Object System) and in Python as well. -- Ben.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Overriding function and adding a bit Andrew Poulos <ap_prog@hotmail.com> - 2017-05-10 11:59 +1000
Re: Overriding function and adding a bit Doc O'Leary <droleary@2017usenet1.subsume.com> - 2017-05-10 15:33 +0000
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-10 19:14 +0200
Re: Overriding function and adding a bit Doc O'Leary <droleary@2017usenet1.subsume.com> - 2017-05-10 22:57 +0000
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-11 01:49 +0200
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-11 17:03 +0200
Re: Overriding function and adding a bit Andrew Poulos <ap_prog@hotmail.com> - 2017-05-12 08:32 +1000
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-12 22:12 +0200
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-12 03:13 +0200
Re: Overriding function and adding a bit John G Harris <niam@jghnorth.org.uk.invalid> - 2017-05-11 16:33 +0100
Re: Overriding function and adding a bit Tim Streater <timstreater@greenbee.net> - 2017-05-11 18:54 +0100
Re: Overriding function and adding a bit Doc O'Leary <droleary@2017usenet1.subsume.com> - 2017-05-11 22:02 +0000
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-12 01:53 +0200
Re: Overriding function and adding a bit John G Harris <niam@jghnorth.org.uk.invalid> - 2017-05-12 10:05 +0100
Re: Overriding function and adding a bit Doc O'Leary <droleary@2017usenet1.subsume.com> - 2017-05-12 21:43 +0000
Re: Overriding function and adding a bit Tim Streater <timstreater@greenbee.net> - 2017-05-12 23:03 +0100
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-12 17:28 -0700
Re: Overriding function and adding a bit John G Harris <niam@jghnorth.org.uk.invalid> - 2017-05-13 14:39 +0100
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-13 07:17 -0700
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-13 16:25 +0100
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-13 08:30 -0700
Re: Overriding function and adding a bit Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2017-05-13 17:56 +0200
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-13 09:04 -0700
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-13 20:55 +0100
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-14 00:00 +0100
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-14 03:07 +0100
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-13 18:39 -0700
Re: Overriding function and adding a bit John G Harris <niam@jghnorth.org.uk.invalid> - 2017-05-14 11:23 +0100
Re: Overriding function and adding a bit John G Harris <niam@jghnorth.org.uk.invalid> - 2017-05-14 11:36 +0100
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-14 12:34 +0100
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-14 14:11 +0200
Re: Overriding function and adding a bit Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-14 15:37 +0100
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-14 17:16 +0200
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-14 15:40 +0200
Re: Overriding function and adding a bit Gene Wirchenko <genew@telus.net> - 2017-05-11 15:39 -0700
Re: Overriding function and adding a bit Tim Streater <timstreater@greenbee.net> - 2017-05-11 10:39 +0100
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-11 10:05 -0700
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-10 19:13 +0200
Re: Overriding function and adding a bit Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-05-10 19:22 +0200
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-11 10:08 -0700
Re: Overriding function and adding a bit Julio Di Egidio <julio@diegidio.name> - 2017-05-11 09:56 -0700
csiph-web