Jonathan Lang wrote: > Jonathan Lang wrote: >> Which is not to say that there isn't a time and place when ease of >> implementation should trump ease of programming; taking an extreme >> example, being able to write a program that consists of the single >> line: >> >> attend my every wish >> >> is the ultimate in terms of ease of programming; it's also impossible >> to implement, barring the invention of mind-reading hardware and >> sapient artificial intelligence software. If a small increase in the >> programmer's learning curve is the price that must be paid to achieve >> a massive reduction in the implementor's workload, it may very well be >> worthwhile to foist some of the complexity onto the programmer. >> >> The question is whether or not this is one of those cases. > > Addendum: let me note that Perl has a reputation for bending over > backward to accommodate the programmer; as such, the difference in > implementation workloads for the two models that Damian referenced is > going to have to be _very_ severe for "ease of implementation" to win > out over "ease of programming" - IMHO. Unfortunately for me, MHO > doesn't count as much as DHO. "Help, help! I'm being oppressed!"
I agree, and I want to make a point for the "ease of programming" point of view. If we have any kind of references to code, the POD parser must be able to parse method/sub signatures. But since default values are allowed for optional (and iirc named) arguments, it has to parse arbitrary complex expressions anyway. Which means that a complete POD parse will likely have to fall back to STD.pm, and in that case it's ridiculous to argue about a line based parser for POD anymore - when you can parse perl 6, you can just pick the POD from the syntax tree. Moreover part of the Perl philosophy has always been to provide the best for the programmer, even if it makes implementation of the interpreter/compiler rather hard - why should we stop with this philosophy when talking about POD and POD-Parser? I'd find it very annoying to have lines starting with '=' in a heredoc beeing counted as POD. Humans don't think in terms of lines, but in terms of visual blocks (at least I do), so if everything in heredoc goes verbatim into a string, I'd expect _everything_ in that block to go into that string. Everything else looks like an artificial exception to me. -- Moritz Lenz http://moritz.faui2k3.org/ | http://perl-6.de/
Description: OpenPGP digital signature