Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^4: RFC: Concise OOP Syntax

by LanX (Saint)
on Aug 05, 2019 at 12:12 UTC ( [id://11103927]=note: print w/replies, xml ) Need Help??


in reply to Re^3: RFC: Concise OOP Syntax
in thread RFC: Concise OOP Syntax

> You did, though.

OK I did, but I meant something different.

The full quote is

> Most of us are stuck with an older version of Perl before the team decides to upgrade, so it would be very important for acceptance if the "sexy" syntax could already be run there.

My job environment used to work with 5.16 until 1-2 years ago, we are now on 5.24 and may upgrade with the same cycle.

The "halfbacked" OO model² I'm showing is a demo for my macro system which should already work with 5.8 or at least 5.10.

I know of people who are stuck with 5.6 (AIX?) but "I never said" or meant to say that most of us are stuck with < 5.14 or something similar.

(UPDATE: What I meant is that if we add a new OO syntax into Perl5, it would be a huge advantage if older versions (last 10 years?) could easily emulate it right away! )

My approach of minimal dependencies is based on the assumption of

  • a tested and debugged technology because of long use
  • a safe fallback if a component of the (minimal) tool-chain fails
  • an appeal for module authors who want to address older versions °
  • maximum security that the features won't be deprecated soon
  • Last but not least: I lost faith into the operability P5P

let me give you examples

  • has

my TYPE $instance_var :has

might look uglier in your eyes than

has TYPE $instance_var

But in the next step I could introduce a macro has which simply translates the later syntax into the former.

That's a very simply transform:

has TYPE $var REST -> my TYPE $var :has REST

Or I like to use Keyword::Simple to activate macro SOMETHING but I love to be sure that I can always fall back to use macro SOMETHING if Lukas stops maintaining Keyword::Simple for whatever reason.

I have big problems with all* these big projects which are "far ahead" by recombining many different technologies like Devel::XDeclare or was it Xdevel::Declare and meddle extremely with the parser.

These are predisposed to have conflicts with other extensions and create possible maintenance nightmares.

So these are my strategical thoughts.

Saying this I'm irritated by your approach of trying to tell me that I rather have to work on other projects which don't follow my philosophy.

To the degree that you participated at one of my talks about function signatures and criticized me for not knowing your favorite signature module. I did extensive research on 10+ other sig-modules on CPAN and nobody else in the audience seemed to have heard of your kafka-something.

In short: my approach is technological yours is political.

You want me to follow your agenda of reviving advanced but abandoned modules with huge dependencies chains.

Sorry, wont happen ;-P

footnotes

°) If I remember correctly did Corion just write a source filter to support the experimental function signatures, just because he wanted his code to work with older versions.

*) how many are there already???

²) I'm very far from being a M[o[o[se]]] expert

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Replies are listed 'Best First'.
Re^5: RFC: Concise OOP Syntax
by Laurent_R (Canon) on Aug 05, 2019 at 21:45 UTC
    I know of people who are stuck with 5.6 (AIX?)
    I can only confirm. I have been stuck for years with 5.8 on old AIX servers (until we moved to Linux RHEL servers about 18 months ago), and we're still stuck with Perl 5.8 on several VMS servers (please, don't laugh, these VMS servers host the main business application of one of the largest telecommunication operators in Europe).
Re^5: RFC: Concise OOP Syntax
by daxim (Curate) on Aug 05, 2019 at 18:27 UTC
    So these are my strategical thoughts.
    I see, thanks for taking the time to write up the clarifications and all this additional info. It was helping me gain new insights into your way of thinking. I think this also benefits the other monks.

    I've said my part in hopes of saving you time and disappointment. I'm not antagonistic, for some reason you're prone to make that assumption. I sincerely wish you success with your endeavour.

    Saying this I'm irritated by your approach of trying to tell me that I rather have to work on other projects which don't follow my philosophy.
    Don't be! I merely formulated what I would do in your stead. This is far from an assignment or command.
    [you] criticized me for not knowing your favorite signature module
    I remember that differently. 🙂
    nobody else in the audience seemed to have heard of your kafka-something
    You didn't ask the audience, so how do you presume to know what they were thinking? Lack of further interjections does not imply that the audience has heard or not heard about the module I mentioned.
    I did extensive research on 10+ other sig-modules on CPAN
    A shame that you missed my write-up.
      Thanks for the clarification. :)

      > You didn't ask the audience,

      I remember that differently. 🙂

      Update

      I lost count how many signature modules are available on cpan, that's part of Perl's problem.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Re^5: RFC: Concise OOP Syntax
by 1nickt (Canon) on Aug 05, 2019 at 12:31 UTC

    "I'm very far from being a M[o[ose]] expert"

    Why not start by learning the standard tools (not Moops by the way, sorry Daxim) and become productive instead of spinning your wheels and cluttering up the monastery all the time with these "meditations" on bizarre ways to poke at things that others have already abstracted away?


    The way forward always starts with a minimal test.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11103927]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-04-25 21:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found