See comments below.
Samisa Abeysinghe wrote:
Lilantha Darshana wrote:
I'm truly fine going with only the highly portable set of C language (ISO
C89, but not C99).
Since in general, there aren’t anything which cannot be done with C.
Advantages I see are not only the OO view of C++ (since, we can create
similar form of OO view in C using structs and function pointers).
But it’s strong typing, name mangling which allow us taking advantage of
polymorphic behaviors,
overloading, in scope variable declaration, exception handling (even
though it is quite expensive), etc., are really useful features.
While C++ gives all these luxuries, the problems surface if one wants a
pure C integration with axis2c.
If the ineternals use C++ stuff like exceptions, then we could always wrap
with a C interface, but obviously that has its own implications.
Wrapping C with C++ is the natural way. Hence if the core is in C, C++
users wont mind. But if the core is in C++, people who would want pure C
would mind.
Are you suggesting converting all Axis C++ internals into C? I think that
would be a big mistake for the reasons Lilantha mentions above. I think it
would be much better moving the current code in the direction of _more_ C++
and OO. Memory management in C++ is much simpler than in C if done correctly
(the current code uses the new operator as if the code were Java). I wonder
if the authors have checked out Boost (boost.org)?
I hope I don't come across as negative. I just want Axis to be accessible to
many people and for it to be stable and user friendly (which is why I have
reported several bugs to that end).
Cheers
- Henrik