Perl-Apollo / Corinna

Corinna - Bring Modern OO to the Core of Perl
Artistic License 2.0
157 stars 19 forks source link

Cor v2 feedback #11

Closed Ovid closed 3 years ago

Ovid commented 4 years ago

Please leave comments on Cor v2 here.

scopesoft commented 4 years ago

Having read the Cor documentation, when wanting to use Cor it would come down to performance. The reason I say this is that I have the choice of using Cor or Moo/Moose. The syntax of Cor is on the cryptic side when compared to Moo/Moose. And thus I would choose Moo/Moose over Cor. So as I said it would come down to performance, which I think was stated somewhere else would not be a priority on initial release.

Ovid commented 4 years ago

@scopesoft I still recall when I first used Moose and found it painful. Like any large, new "thing", it takes time to learn. For Cor, slot attributes are mostly self-documenting and they're composable, so I suspect that will flatten the learning curve.

As for performance, we expect it will improve dramatically because internally, there's no method call overhead to get slot data. Paul Evan's Object::Pad, while having a relatively unoptimized constructor, nonetheless is showing that its performance appears to be faster than core Perl (not just Moose) in terms of accessing that data. And that's with very little work done to optimize it. I doubt that performance will be a serious issue.

duncand commented 3 years ago

Under "Try/Catch/Finally" for v2 it says this really needs to be in core. That can probably be removed or updated to say that actually WAS added to core in 5.34.

Ovid commented 3 years ago

@duncand Removed try/catch note. Thanks!

Ovid commented 3 years ago

This repository is currently shifting its focus to the MVP. This is resolved for the MVP. Further issues should be new tickets.