Wait! The language can't be safely syntax checked, and thus can't be safely debugged, either, right? (Any hostile code won't be intercepted until after the initial syntax check, by which time it's too late.) And I'm unreasonable for pointing this out? And when I'm told flat out that no one is willing to fix this, I'm accused of emotional blackmail for wanting to work with a language that can be debugged?
Please. Give me a break! I like perl; but if I can't trust it, I can't in good concience use it anymore. :-( I'd fix it if I knew how, but I don't. I'm not a compiler's guy, and I don't have the years to do it. :-(
Perl doesn't work the way you think it should. Perl works the way it does for a reason.
Yes. I asserted that the reason is bad design. I wanted the bad design fixed. If you know of another reason, I'd love to hear it. The only argument you've made so far is for code filters, which as your Acme module proves, can render code maintence a total nightmare. You've as yet to show me something good that can be done with dynamic features that can't be done without them.
I used to think you didn't understand the reason, but now I think you don't care if you understand the reason.
No, I think I know the reason. Some guy on the team thought it would be "fun", and didn't think of the business costs involved in that decision. If there's a more serious reason that justifies the business risks, I'd like to hear it. Correct code is the most basic issue in computing, and maintaining code typically costs 60-80% of the average I.T. budget. You're arguing for dynamic features that prevent safe debugging (less correctness) and can greatly increase the maintenence effort. If you do have a compelling argument to make, I'll listen: but it had better be good; I know firsthand just what a mess dynamic code typically is, and I expect my tools to do their stated purpose without harmful side effects. Until recently, I had been trying to wade through the mess with the debugger; now that I know I can't trust that anymore, I don't know what I'll do. :-(
Somehow lots of people can do lots of amazing things despite this and somehow other people do even more amazing things because of this.
What people are these, and is the amazement due to actual business productivity, or just inside-joke modules like Acme::Bleach? What actual business productivity do these dynamic features bring, and how do you offset the increased effort in understanding the vastly increased complexity of dynamic code, and the maintenance nightmares it typically incurs? How can you claim that said benefits mitigate in any way the risk of losing the entire codebase to a disgruntled employee's code?
I admit I can't see any of the real benefits to the dynamic approach to perl, nor why people insist that this is the way forward, when every single dynamic feature in perl just defers more decisions until run time, and makes less and less code understandable without a debugger; which itself isn't even safe to use. :-(
Don't just tell me why no one cares about my opinions; tell me why you think my arguments are wrong. I've spent many years of my life as a perl programmer trying to get it; but I thought that someone had the fundamentals taken care of. Now it sounds like no one has, and no one wants to. I've explained what's wrong with the perl syntax checker and debugger; and why I'm so dismayed that I can't rely on the bloody things to get my job done anymore. :-( Go on; so tell me what possible good can mitigate those fundamental issues? I just don't see it. :-(
In reply to Re: Perl Will Stay a Dynamic Language
by Anonymous Monk
in thread Syntax checking without BEGIN blocks
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |