New language discussion?
aaron.trevena at gmail.com
Wed Oct 31 19:37:04 UTC 2007
On 31/10/2007, Max Kanat-Alexander <mkanat at bugzilla.org> wrote:
> I think we're all honored that you like Bugzilla enough to use
> it as a base for your own project. However, I think a re-write,
> particularly in C++ is an unwise move. Here's why:
There are few things I agree with Max about when it comes to perl, but
he is spot on in what he says about porting to C++ (and much of it
applies to ruby or python).
> 4. Re-writing Bugzilla (particularly without consulting with us
> or offering to contribute to Bugzilla itself) assumes that you know
> just as much as we do, or more, about:
> * The history of bugs that people have encountered in Bugzilla.
> * The general needs of Bugzilla users.
> * The architecture and design of a bug-tracking system.
I thought I knew bugzilla reasonably well after customising and
integrating it with an intranet in one job. Despite not liking or
agreeing with some of the design decisions I didn't have any problems
at all customising it to my needs, and this was a couple of years ago
and so without the benefit of recent refactoring, documentation or bug
I thought I'd try porting it to a perl MVC framework, the first parts
were fairly simple, but Max's points about lack of domain knowledge
and the reasons behind many decisions were certainly true - if I
wanted it to be more than an interesting learning exersize it needed
to be useful to other people, and the bugzilla (and rt) developers
know more about that than me.
> 5. You're going to experience the Second System Effect quite
> intensely, particularly using C++, and particularly if you're basing
> your efforts on the code base of older versions of Bugzilla.
Even porting to an ORM and MVC application server I quickly found that
in remaining compatible I lost many benefits, and that if I wasn't
going to be fully compatible then I may as well spec out the project
and design from scratch, which is certainly more work than I really
wanted, particularly when there several perl bug / request tracking
systems that I can customise anyway.
> I'm actually quite unaware what advantage you gain by
> re-writing Bugzilla in C++. It would probably take less time for your
> developers to become proficient in Perl than it would take to re-write
> all of Bugzilla in a strongly-typed, compiled language.
The same applies to pretty much any other language. I don't believe
you would get any noticable benefit in speed - in every web
application I've worked on perl has never been a bottleneck, query
optimisation, resource contention, and architecture of the database
schema, cluster and network all inevitable the bottlenecks in any such
On the other hand, writing a first person shooter : C++ would probably
be my first choice
LAMP System Integration, Development and Hosting
More information about the developers