The Problems of Perl: The Future of Bugzilla.
I've heard this song before. The verses are Don't make me install modules!, We're not very good Perl programmers!, and We didn't design the code very well, thus the language sucks!.
You'd almost think we've achieved true AI, the way certain programming languages reach out of our monitors and force us to write unmaintainable code.
I wonder... (Score:1)
Irony, anyone ? (Score:1)
bugzilla and perl (Score:1)
Their codebase is a mess because they lack enforced coding standards. The poster seems to indicate that he thinks this won't be a problem with other languages. Maybe it's significantly easier to maintain a single style of coding in Python or Ruby, but it's sure not just a given. I've also worked on my share of horrible Python or Ruby.
Why not just rewrite parts of the system
rjbs
Re: (Score:1)
Re: (Score:1)
Yeah, but Perl is line-noisy! And it has regular expressions! And it gives you many ways to do things! It’s even the language motto, “TMTOWTDI”! Whereas Ruby’s motto is “optimise for programmer happiness” or something like that! Asdfghjkl!!1
(Sigh.)
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
That's a good start, but it focuses on design in the small. That's not a bad thing. Design in the small is very important. Design in the large is also very important, and there's no substitute for good taste (which often comes from bad experiences).
I have the strong, armchair impression that design in the large is your biggest issue right now. Rewriting (or refactoring) is the cure. Porting to another language may seem like it helps, but in my experience getting rid of accumulated technical debt is m
Re: (Score:1)
It's true that Perl is powerful enough to implement the design-in-the-large features we need. There may be other good reasons to switch to another language or framework, though.
The primary reason I posted the
Re: (Score:2)
I think your time would be better spent reading Conway's Perl Best Practices book and getting familiar with running your code through Perl::Critic rather than attempting prototypes in other languages.
Re: (Score:1)
-Max
Re: (Score:1)
Certainly true. If you have expertise with a particular language or framework and your switching costs are less than the cost of refactoring in Perl, it's clearly a good change, and rational people will understand that.
I just hate to see important choices like this made on the basis of language advocacy, and your initial post
Re: (Score:1)
And thank you, I'm glad we worked that out.
-Max
pkg-config (Score:2)
Re: (Score:1)
The difficulty of CPAN dependencies (Score:1)
(PAR even seems like it could help a fair bit with this).
Culturally, we tend to say "Oh, and install this slew of modules from CPAN".
If instead we said "just unpack it and visit install.cgi", then we'd have more users of Perl projects.
I like that a number of PHP projects work this way. It's not a technical benefit of PHP that this trend exists, it's a different cult
Re: (Score:1)
I haven't installed a PHP application in several years. Does this installation approach run automated tests? (Do these applications have automated tests? Given the customization possibilities of php.ini let alone self-compiled PHP, there are plenty of things to go wrong.)
Re: (Score:2)
Perhaps, but in my experience it's a solved problem. The team I work with develops and maintains a large Perl code base on Debian. We deploy our code using packages which in turn specify dependencies on packages for CPAN modules. In the event that we need a module that's not already in Debian or we need a later version, we build our own and put it in our repo
Re: (Score:2)
Bingo! Give that man a gold star!
Installing perl applications *sucks* even for those of us familiar with perl and how perl people expect us to work with their code. For yer average sysadmin, trying to install a typical perl application is a nightmare. I'm afraid that the perl community's rampant code re-use and insistence both on never re-inventing wheels and also on not bundling other peoples' code hurts us a lot here.
Yer average python application, on the other hand (let's pick the only one I use w
In short... (Score:1)
This happened because we needed to run BZ on PostgreSQL and not MySQL, and that alone took years and a few major releases (if it has happened at all) because of the badly-organized *SQL* code. This should say all.
Ruby is the answer? (Score:1)
Rather than the bashing... (Score:1)
...wouldn't it make sense to send a few patches. OK, bomb them with patches. The only way their going to see that #11958 [google.com] applies, is to show them what they've done wrong.
Re: (Score:1)
For example, how many problems do you see below in Bugzilla's collectstats.pl.
sub check_data_dir { my $dir = shift; if (! -d $dir) { mkdir $dir, 0755; chmod 0755, $dir; } }Re: (Score:1)
Do you count each race condition as a separate error, or do you put them all into a single bucket? The same question applies to permissions.
No examples (Score:2)
I like how he lists all the things that are wrong with Perl, but never provides an example of how that "wrong" thing has caused a specific problem with Bugzilla and its development, other than the "lots of modules" problem. Indeed, as you say, languages don't reach out and make people write unmaintainable code. If it's really such a problem, he should've been able to post code clippings illustrating the problems he mentioned. :)
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers