Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Among the lucky, you are the chosen one.


comp / comp.lang.misc / Re: on Perl

SubjectAuthor
* Re: on PerlLawrence D'Oliveiro
`* Re: on PerlKeith Thompson
 `* Re: on PerlLawrence D'Oliveiro
  `- Re: on PerlRainer Weikusat

1
Subject: Re: on Perl
From: Lawrence D'Oliv
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc, comp.lang.perl.misc
Organization: A noiseless patient Spider
Date: Wed, 17 Apr 2024 23:23 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc,comp.lang.perl.misc
Subject: Re: on Perl
Date: Wed, 17 Apr 2024 23:23:59 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 6
Message-ID: <uvplme$1rupi$2@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <87edbtz43p.fsf@tudado.org>
<0d2cnVzOmbD6f4z7nZ2dnZfqnPudnZ2d@brightview.co.uk>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me>
<Mkidnafag8vlooH7nZ2dnZfqn_idnZ2d@brightview.co.uk>
<pan$c8c3e$b0e492b3$c544c27e$d72bff90@invalid.invalid>
<uvk8o6$h2pg$3@dont-email.me>
<dRicnfsW0phufoP7nZ2dnZfqnPednZ2d@brightview.co.uk>
<uvnerd$1ct1p$1@dont-email.me> <87jzkvor7q.fsf@bsb.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Apr 2024 01:23:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ec6fcf3bb75b95711759fde7cd91a1dc";
logging-data="1964850"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19N70JEPQQxxl7nM6splTo0"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:Brkna0nP0fpY1Dvq2x7+a1faJL0=
View all headers

On Wed, 17 Apr 2024 18:04:57 +0100, Ben Bacarisse wrote:

> Perl has had support for object-oriented programming (with multiple
> inheritance) for many years -- too many for me to remember.

Then why this new “class” thing in 5.38?

Subject: Re: on Perl
From: Keith Thompson
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc, comp.lang.perl.misc
Organization: None to speak of
Date: Wed, 17 Apr 2024 23:59 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Keith.S.Thompson+u@gmail.com (Keith Thompson)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc,comp.lang.perl.misc
Subject: Re: on Perl
Date: Wed, 17 Apr 2024 16:59:06 -0700
Organization: None to speak of
Lines: 27
Message-ID: <87le5br16d.fsf@nosuchdomain.example.com>
References: <uu54la$3su5b$6@dont-email.me> <87edbtz43p.fsf@tudado.org>
<0d2cnVzOmbD6f4z7nZ2dnZfqnPudnZ2d@brightview.co.uk>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me>
<Mkidnafag8vlooH7nZ2dnZfqn_idnZ2d@brightview.co.uk>
<pan$c8c3e$b0e492b3$c544c27e$d72bff90@invalid.invalid>
<uvk8o6$h2pg$3@dont-email.me>
<dRicnfsW0phufoP7nZ2dnZfqnPednZ2d@brightview.co.uk>
<uvnerd$1ct1p$1@dont-email.me> <87jzkvor7q.fsf@bsb.me.uk>
<uvplme$1rupi$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Apr 2024 01:59:08 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="79ba507064daf9a3a41c021f3f9a882b";
logging-data="1974567"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xx3/3r+kBHlWec57yFlV5"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Cancel-Lock: sha1:qA28PsXkIXxs5u1j0LOIwhM3ODY=
sha1:jJ1PDBsVgD8tLBTVSo8nYoVP6GQ=
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> writes:
> On Wed, 17 Apr 2024 18:04:57 +0100, Ben Bacarisse wrote:
>> Perl has had support for object-oriented programming (with multiple
>> inheritance) for many years -- too many for me to remember.
>
> Then why this new “class” thing in 5.38?

It's explained reasonably well at the top of the "perldoc perlclass"
documentation in Perl 5.38:

History
Since Perl 5, support for objects revolved around the concept of
*blessing* references with a package name. Such reference could then be
used to call subroutines from the package it was blessed with (or any of
its parents). This system, while bare-bones, was flexible enough to
allow creation of multiple more advanced, community-driven systems for
object orientation.

Class feature is a core implementation of class syntax which is familiar
to what one would find in other programming languages. It isn't a
"bless" wrapper, but a completely new system built right into the perl
interpreter.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Medtronic
void Void(void) { Void(); } /* The recursive call of the void */

Subject: Re: on Perl
From: Lawrence D'Oliv
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc, comp.lang.perl.misc
Organization: A noiseless patient Spider
Date: Thu, 18 Apr 2024 01:33 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc,comp.lang.perl.misc
Subject: Re: on Perl
Date: Thu, 18 Apr 2024 01:33:42 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <uvpt9m$2126r$1@dont-email.me>
References: <uu54la$3su5b$6@dont-email.me> <87edbtz43p.fsf@tudado.org>
<0d2cnVzOmbD6f4z7nZ2dnZfqnPudnZ2d@brightview.co.uk>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me>
<Mkidnafag8vlooH7nZ2dnZfqn_idnZ2d@brightview.co.uk>
<pan$c8c3e$b0e492b3$c544c27e$d72bff90@invalid.invalid>
<uvk8o6$h2pg$3@dont-email.me>
<dRicnfsW0phufoP7nZ2dnZfqnPednZ2d@brightview.co.uk>
<uvnerd$1ct1p$1@dont-email.me> <87jzkvor7q.fsf@bsb.me.uk>
<uvplme$1rupi$2@dont-email.me> <87le5br16d.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Apr 2024 03:33:43 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ec6fcf3bb75b95711759fde7cd91a1dc";
logging-data="2132187"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+C9CB86pX2qbskVFiY0fMr"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:MRswq89Z0CAwnAw6Z95cEkLsnjw=
View all headers

On Wed, 17 Apr 2024 16:59:06 -0700, Keith Thompson wrote:

> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>>
>> On Wed, 17 Apr 2024 18:04:57 +0100, Ben Bacarisse wrote:
>>>
>>> Perl has had support for object-oriented programming (with multiple
>>> inheritance) for many years -- too many for me to remember.
>>
>> Then why this new “class” thing in 5.38?
>
> It's explained reasonably well at the top of the "perldoc perlclass"
> documentation in Perl 5.38:

It says there is already supposed to be a mechanism for this, it doesn’t
explain why that isn’t good enough.

Subject: Re: on Perl
From: Rainer Weikusat
Newsgroups: comp.unix.shell, comp.unix.programmer, comp.lang.misc, comp.lang.perl.misc
Date: Thu, 18 Apr 2024 17:09 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: rweikusat@talktalk.net (Rainer Weikusat)
Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc,comp.lang.perl.misc
Subject: Re: on Perl
Date: Thu, 18 Apr 2024 18:09:32 +0100
Lines: 33
Message-ID: <87o7a6zjg3.fsf@doppelsaurus.mobileactivedefense.com>
References: <uu54la$3su5b$6@dont-email.me> <87edbtz43p.fsf@tudado.org>
<0d2cnVzOmbD6f4z7nZ2dnZfqnPudnZ2d@brightview.co.uk>
<20240408075547.000061e8@gmail.com>
<g52cnWOOwoz_son7nZ2dnZfqnPWdnZ2d@brightview.co.uk>
<uvbe3m$2cun7$1@dont-email.me>
<Mkidnafag8vlooH7nZ2dnZfqn_idnZ2d@brightview.co.uk>
<pan$c8c3e$b0e492b3$c544c27e$d72bff90@invalid.invalid>
<uvk8o6$h2pg$3@dont-email.me>
<dRicnfsW0phufoP7nZ2dnZfqnPednZ2d@brightview.co.uk>
<uvnerd$1ct1p$1@dont-email.me> <87jzkvor7q.fsf@bsb.me.uk>
<uvplme$1rupi$2@dont-email.me>
<87le5br16d.fsf@nosuchdomain.example.com>
<uvpt9m$2126r$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net eq/zrm3nOnwiyAtsZE6SeA7CA3RMk4+0Gv9uVmgONHm/5z6XA=
Cancel-Lock: sha1:CPMJdsWV8YO1sbgxHcfiXd3hqyQ= sha1:2NNEVY8vTj4Sk0cwotAttr82BJY= sha256:EGzZ6gqSkBrBXsdaVrpcLLL4xoy6M5UsTPP4tGUYPYk=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> writes:
> On Wed, 17 Apr 2024 16:59:06 -0700, Keith Thompson wrote:
>
>> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>>>
>>> On Wed, 17 Apr 2024 18:04:57 +0100, Ben Bacarisse wrote:
>>>>
>>>> Perl has had support for object-oriented programming (with multiple
>>>> inheritance) for many years -- too many for me to remember.
>>>
>>> Then why this new “class” thing in 5.38?
>>
>> It's explained reasonably well at the top of the "perldoc perlclass"
>> documentation in Perl 5.38:
>
> It says there is already supposed to be a mechanism for this, it doesn’t
> explain why that isn’t good enough.

There's a mechanism for method dispatch in class hierarcies. There's no
builtin support whatsoever for handling class instance data (or class
data, for that matter). This has certain advantages (everything a
reference refers to can be used as object, eg, file handles) and is
reasonably easy to provide for cases without multiple inheritance and
doable otherwise. OTOH, that absolutely not what people familiar with
other programming languages expect and also beyond what many of them can
wisely handle. Hence, a more dictatorial approach is probably expected
to improve things¹.

¹ Somewhat questionable when looking at another newer feature, namely,
subroutine signatures. It would be absolutely great if perl support real
function prototypes including checking function invocations for
correctness at compile time *and* *not* at runtime everytime a
function is called.

1

rocksolid light 0.9.8
clearnet tor