Hey Arjun - glad to see the interest in activemq-cpp.

It would be great to have some attention on this project, if folks are
still using it in practice.  We are always interested in having individuals
interested in projects to contribute.

With that said, as with all opensource, there is no dedicated person
assigned to activemq-cpp.  It really comes down to having folks willing to
contribute and put in the effort, and often having companies willing to put
money, time and effort into the project.

As far as the java-isms in the code, I understand your feeling.  The
original code was a pretty straight-forward translation of the java code
into C++.  One advantage of this approach was that it made comparing the
state of the two projects straight-forward.  With that said, having code
that follows modern best-practices and standards is welcome.

Are you interested in contributing?

Art


On Tue, Feb 11, 2025 at 10:45 AM Arjun Ray <ara...@gmail.com> wrote:

> On Fri, 7 Feb 2025 09:28:10 -0700, Arthur Naseef
> <artnas...@apache.org> wrote:
>
> | I'm trying to use CLion to work on the activemq-cpp sources, and finding
> it
> | is only partially working.  The main thing that's missing is navigating
> | symbols - for example, "find usages" and navigating from a base class to
> | sub class methods just isn't working at all.
> |
> | Looking for the Intellij equivalent of "project structure" but not
> finding
> | it...
> |
> | If anyone has tips, they would be appreciated.  I'm spoiled by Intellij
> for
> | Java code.
>
> I have never worked with CLion, sorry.  But I have used VSCode with
> the sources, not particularly happily.
>
> Activemq-cpp is a "how to pretend we're writing Java in C++" veritable
> nightmare for anyone with even the remotest familiarity with C++ usage
> and idioms.  OTOH, a seasoned Java programmer may find a lot of the
> code less than mystifying - I don't know, having stopped doing Java
> seriously long ago.  As a C++ person, I find the Javaisms annoying, to
> say the least.
>
> One very significant issue today is that with any modern C++ compiler
> (i.e. C++17 onward), the source simply will not compile.  This is
> because std:auto_ptr had been eliminated from the standard. In that
> sense, the code base is woefully obsolete.  Even using C+11 or C++14
> compilers, you will get a boatload of warnings.  This barrage is all
> the worse because the code quite unnecessarily uses auto_ptrs to
> instantiate local variables almost everywhere (see "Javaisms" above.)
>
> A global search-and-replace with std::unique_ptr (via, say, a Perl
> one-liner) leaves only 6 warnings, 5 of which (IIRC) are due to an
> unnecessary initialization of auto_ptr member variables in objects
> (with NULL, which does not work with unique_ptr, so just deleting the
> initialization eliminates the issue).  The remaining warning has to do
> with a much deeper problem (again Java-think induced) involving
> incomplete types (which unique_ptr is more careful about).  Strictly
> speaking, the test itself is defective, with no good way to fix.
>
> I posted about all this more than 4 years ago on this list:
>
> https://lists.apache.org/thread/xzwsfb7b236ypr1qpfh2jx6o56b6zd53
>
> Is there much hope in truly modernizing this code base?  E.g.,
> removing the dependency on decaf and the APR library?  That was my aim
> when I loaded the sources into VSCode.  My summary conclusion is that
> any such effort will be major surgery, as the formidable labyrinth of
> dependencies will need the patience of Job to untangle.  But if you're
> up for it, then more power to you!
>
> Good luck!
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org
> For additional commands, e-mail: dev-h...@activemq.apache.org
> For further information, visit: https://activemq.apache.org/contact
>
>
>

Reply via email to