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]

Reply via email to