qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie" <ritch...@apache.org>
Subject Re: C++ code generator
Date Thu, 06 Sep 2007 10:31:35 GMT
On 06/09/07, Andrew Stitcher <astitcher@redhat.com> wrote:
> On Thu, 2007-09-06 at 08:41 +0100, Martin Ritchie wrote:
> > I was going to mention this early but it must have slipped my mind.
> >
> > Just wondered why we are now using ruby to generate the framing?
> >
> > Were the xslt, python or java approaches too complicated, inflexible
> > or is ruby a better dependency to have?
> IMO ruby and python are about equally convenient dependencies, java is a
> very complex dependency to have and is painful to have, if all you want
> to do is build the C++ code. I don't know anything about the xslt
> generator, but I'd guess that it would be hard to use xlst for any
> processing that's complex. As far as I know we've never had a python
> generator.
> I think that it would be better to use python for the code generation
> just to minimise the total number of dependencies (given that python and
> ruby have pretty much equivalent functionality). But now we've got the
> generation in ruby it's hardly worth porting just for this reason only.
> >
> > I really feel we should have a single method for generating our
> > framing across all languages..
> I used to think the same, but I'm not so sure now, given that the
> requirements of the different languages are different. It also means
> that the languages are tied together by all depending on the same
> generator even though the code generated must be different.
> > if indeed it is really work writing a
> > generator in the first place.
> It is surely worthwhile as it means that there is only one source for
> the framing - the specification XML which is canonical. Hand writing
> this code would be boring, and fraught with errors, not to mention
> tedious as there are now approximately 120 classes automatically
> generated.

That doesn't mean we could just have a single AMQP framing generator
sub-project. Write it in a single language and then commit the output
to the relevant language code base. Having ~120 classes automatically
generated on every clean build is a tad tedious.

> >  The amount of effort we have expended in
> > creating generators we must have been better just writing it by hand.
> > The framing has only significantly changed once in the last year but
> > we have had at least 4 generators!
> I can only count 3 (xslt, java, ruby)!
> Andrew

Martin Ritchie

View raw message