You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Samisa Abeysinghe <sa...@gmail.com> on 2005/10/01 02:13:33 UTC
Re: [Axis2] Axis2 architecture implementation in C
Henrik Nordberg wrote:
> 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?
Certainly not. The effort is to implement the axis2 architecture in C.
http://ws.apache.org/axis2/Axis2ArchitectureGuide.html
> 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 am definitely +1 to move current 1.x C++ code to more OO and cleaner
C++. However, if we are to convert current Axis C++ architecture into
Axis2 architecture, it will be a nightmare, given the amount of changes,
hence a re-write in C to realize Axis2 in C.
Axis C++ 1.x family would continue to live and be improved independent
of this Axis2 effort.
> 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).
>
Your comments are taken positive and are very much valuable. We
certainly value the contributions you made by taking time to review C++
code and comming up with fixes. Many thanks for that.
Samisa...
> Cheers
> - Henrik
>