Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #33317

Re: Overriding function and adding a bit

Path csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.javascript
Subject Re: Overriding function and adding a bit
Date Sun, 14 May 2017 12:34:06 +0100
Organization A noiseless patient Spider
Lines 53
Message-ID <87pofbbrkh.fsf@bsb.me.uk> (permalink)
References <20479369.6Emhk5qWAg@PointedEars.de> <of2n22$f1d$1@dont-email.me> <10849548.O9o76ZdvQC@PointedEars.de> <of5a9t$eko$1@dont-email.me> <05f57f29-8dd8-4829-9952-7ffd20411fb5@googlegroups.com> <i33ehchjsvk1mkaja9tnf1njj5g2nncqv4@4ax.com> <f929791c-3e67-40af-a56e-d79722abd193@googlegroups.com> <877f1kg4mz.fsf@bsb.me.uk> <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>
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="10630"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19skKxbd0f6E14J4wAwCypRN4m3DyaHPqM="
Cancel-Lock sha1:zKdBR5O/16aQVfoimvBzFsyROgs= sha1:ltw3pE0k2eIIRHSjVGwt6uadcQE=
X-BSB-Auth 1.58a8cd2935e1e38b2afd.20170514123406BST.87pofbbrkh.fsf@bsb.me.uk
Xref csiph.com comp.lang.javascript:33317

Show key headers only | View raw


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


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