Let me remind you that the Perl philosophy encourages Timtowtdi, "there is more than one way to do it"
I think that has more to do with solving a given problem in more than one way, or using a different syntax (From the available ones) to solve a problem. What I'm speaking is more on the lines of using 10 different ways of class declarations, or switch statement declarations, each one looking different than the other. Thats a lot different than the TIMTOWDI philosophy. And is not good either.Perl may offer flexibilities to use various kinds of syntax to solve a problem. But it provides only one way to write a particular syntax.
| [reply] |
I think that has more to do with solving a given problem in more than one way, or using a different syntax (From the available ones) to solve a problem.
Sure. But don't forget that CPAN modules cound to "avlailable ones".
What I'm speaking is more on the lines of using 10 different ways of class declarations, or switch statement declarations, each one looking different than the other. Thats a lot different than the TIMTOWDI philosophy.
I don't see the difference at all.
Perl 5 has no class keyword, so people invent their own mechanisms, upload them to CPAN, and then there's more than one way to do it.
Over time, one or two prove to be universally useful (seems to be Moose), and emerges as a quasi standard.
And is not good either.
No? I like the result. I'm pretty sure Moose is better than what would have come out if p5p had decided to build the one true object system in perl 5 core.
Perl may offer flexibilities to use various kinds of syntax to solve a problem. But it provides only one way to write a particular syntax.
Really?
say $x if $x > 0;
if $x > 0 {
say $x;
}
That's two ways to write an if. Does it hurt Perl?
But it provides only one way to write a particular syntax.
Even if it were true, that's still besides the point. Various OO modules use different ways to write something to achieve (nearly) the same semantic (and not syntax). And that's exactly what timtowtdi is about.
Update: Your reply sounds like "timtowtdi is fine, but not in this case". And I agree that it's a good idea to supply a good default way of doing it, so that people don't feel lost, and consistency is achieved. But since it's usually not clear from the beginning what the default should be, we need many ways to do things in order to later pick a good default. Even for seemingly simple things like class declarations.
Perl 6 - links to (nearly) everything that is Perl 6.
| [reply] [d/l] [select] |
Over time, one or two prove to be universally useful (seems to be Moose), and emerges as a quasi standard.
Thats really good, I completely agree with you on this. There must be some standard. Else what would generally happen is a dozen different keywords would crop up for the very same semantic and that makes Perl code a touch difficult to maintain. Hence the same problem of maintainability keeps coming over and over again.
Coming to your if example, That is not what I mean't. I think I was not clear.Two ways of using a 'if' is perfectly alright. But what if there are a dozen synonyms for if? .What I meant was the following.
say $x if $x > 0;
if $x > 0 {
say $x;
}
say $x fi $x > 0;
fi $x > 0 {
say $x;
}
say $x on $x > 0;
on $x > 0 {
say $x;
}
Now this is just a 'if' example, if this thing gets replicated everywhere don't you think its not the right way forward.
| [reply] [d/l] [select] |