qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Stitcher <astitc...@redhat.com>
Subject Re: C++ code generator
Date Thu, 06 Sep 2007 09:17:21 GMT
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.

>  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



Mime
View raw message