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
>