Jonathan Robie wrote:
Now that M4 is out, I think this is a good time to do spring
housecleaning on the client APIs. Some of these APIs have a lot of
legacy stuff that we don't really for users, one language does things
differently from another language for historical reasons, and there's a
general need for cleaning up.
I'm trying to figure out the best way to go about it. I suspect we
should start with just C++ and Python, making them more alike one class
at a time, writing scraps of code to compare. Naming conventions and
other idioms should suit the given language, but beyond that, we should
seek consistency, so that it's straightforward to look at a C++ client
program and translate it to Python, and vice versa.
Once Python is done, translating that to Ruby is straightforward. We'll
have our quarterly argument about whether to create a Java API that is
consistent with the other languages too, but let's postpone that for now.
Does this make sense? Any suggestions on the best way to go about this?
I think comparing code snippets is a good idea. I would be tempted for
starters to identify a few key use-cases/tasks rather than going
class-by-class right off the bat, e.g. opening a connection, opening a
session, publishing a message, subscribing with a listener, synchronous
subscription, creating a message, setting/accessing a header,
acknowledging a message, etc.
--Rafael
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]