in reply to Things you should need to know before using Perl regexes. (Humour, with a serious point)
Your title to the contrary, I find it hard to see much humor in this post. I read it as more of your relentless bitterness at people who talk down Perl's threads. I think I understand your view -- that threads are good (the future, as you put it) and Perl's threads won't get better unless people use them. But ignoring the reality of Perl's threads is not going to help, either.
Also, lest you accuse me of ignoring the superficial "point" of your post, the regex engine is indeed a monster. The amount of work being put into it in bleadperl should be a good indicator of that. I am not going to argue with you on this point, but that is unrelated to the threads issues.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
How could it not be a monster?
by demerphq (Chancellor) on Oct 26, 2006 at 08:57 UTC | |
the regex engine is indeed a monster. The amount of work being put into it in bleadperl should be a good indicator of that. I agree with the first point. I'm not so sure about the second point. Its hard to calculate how much of my dev time has been related to the complexity and opacity of the engine and how much has been other things. I just dont see a necessary relationship between monstrosity and the time spent on development. I wonder what dave_the_m would say. I kinda wonder at how any industrial strength regular expression engine could be anything but a monster. A programs structure comes to reflect its problem domain I think, and when the domain is complex, the code will be too. And I think that the problem domain of search and replace with perl style not-so-regular regular expressions is quite complex. Ive looked at the sources for the latest TCL engine, and PCRE and they are all large comprehensive bodies of code. Ill grant that Perls is not the cleanest implementation, nor the best documented but IMO all of those packages are monsters. I guess it all comes down to what you consider monster code to be.
--- $world=~s/war/peace/g | [reply] |
|
Re^2: Things you should need to know before using Perl regexes. (Humour, with a serious point)
by BrowserUk (Patriarch) on Oct 25, 2006 at 22:29 UTC | |
Your title to the contrary, I find it hard to see much humor in this post. I read it as more of your relentless bitterness at people who talk down Perl's threads. I'll trade you s/Humour/Parody/, if you'll trade me s/bitterness/frustration/? ... the superficial "point" of your post, the regex engine is indeed a monster. The (more than superficial) point of the post is that despite all the regex engines flaws, they haven't stopped it from being one of the great strengths of Perl 5. Nor have they prevented a huge number of very useful scripts being written that utilise it and run day in, day out in production environments all over the world. And through it's continual use, and the bug reports and feedback that they generate to the guys that maintain it, it has gone from strength to strength to strength. And continues to do so. No one will be pointing new questions about the regex engine to the OP, despite the truths it holds, because they know it has flaws, but they also know that the benefits of using it, with a modicum of care, far out-weight the risks of the flaws. Equally, no one, least of all me, is denying the flaws in iThreads. Do a supersearch against my handle for threads clone copy fork (you may need to specify an alternate delimiter to get OR functionality), and see how many posts I have devoted to noting and reiterating the problems with the iThreads architecture. Despite that, I have continually promoted the idea that for certain kinds of problems, with a modicum of care, using iThreads results in simpler, cleaner, more maintainable and reliable solutions than the alternatives. If no one used the regex engine, there would have been no incentive for it's improvement. If no one uses threads, there will be no incentive for them to improve. But that is still not the biggest point I am trying to make. Many of the limitations of iThreads are so fundamental, that it is doubtful whether they can ever be fixed. These are not bugs, but design and implementation limitations that would require huge changes to the core of perl 5 to eliminate. They come about through a combination of three main factors: Unless these limitations are explored and exposed--which requires that people use them--then there would be nothing to stop the next generation of perl P6, from making exactly the same decisions and exactly the same mistakes. And that , I strongly believe, is a point worth making. Even at the expense of stepping on a few peoples toes. liz, the author of the post I parodied, was the second person to respond to the OP and she did so in a far better way than I could ever have hoped for. She saw both the point and the funny side. Despite my implicit and explicit criticisms levelled at her with regard to the effect of her post upon the fortunes and reputation of iThreads, she has gone on to more than make up for it by contributing her time to the development of Perl 6 threading. In summary. Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] [select] |