qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rupert Smith" <rupertlssm...@googlemail.com>
Subject Re: Naming etc (was Re: C++ directory re-organization)
Date Tue, 06 Mar 2007 10:02:09 GMT
I think we should be aiming to be identical in every respect in which
it is reasonable to do so. That is to say that, if there is not a very
good reason for the API being different among the clients, then why
make it different? There may need to be occasional differences to
cater for the conventions/type systems/other reasons relating to the
implementing technology. I'd like to see identical package/namespace
names (relative to a root), class names, method names, method
arguments, argument types, even the ordering of the arguments in
method calls, in so far as its possible within the different
languages. If I were looking at Qpid for the first time, this would
speak volumes to me about the unified, well integrated product that
Qpid is. The manual will only need to be written once (with examples
that easily translate). Are there any compelling reasons not to do

Also, if its to be done it should be done as early as possible. Before
there are too many clients coding to the different APIs that will be
very annoyed at having it refactored under their feet.


On 3/6/07, Gordon Sim <gsim@redhat.com> wrote:
> Robert Godfrey wrote:
> > Indeed... But java code littered with disambiguating
> > org.apache.qpid.amqp.Session and javax.jms.Session sure does look ugly :-)
> > ... now if only you could do aliasing you could call one AMQPSession and
> > one
> > JMSSession ;-)
> I agree, it would be nice to be able to define alias type names or
> 'import as' or something in java. That's one reason that identical
> naming across several languages may be hard to agree on - each language
> brings a slightly different set of conventions and constraints into play.
> Getting more consistent doesn't have to mean being identical in every
> respect though. Perhaps the place to start is at the structural level;
> deciding whether we want a low level AMQP API for each language,
> mirroring the protocol structure in effect and therefore more likely to
> be easily understood across different clients. I would certainly like to
> make the c++ and python clients more consistent, but haven't thought it
> all through yet.

View raw message