This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Converting xconq to C++


Everyone knows my preference regarding a language re-write :-)  [but since 
I keep getting buried in 'real work' everytime I get started on doing a 
Java front-end, I've decided that it must be a sign from God that "There 
Shall Be No JConq At This Time" ]

At 01:02 PM 3/29/2002 +0100, Alan Schmitt wrote:
>why not do it in a different programming style, but why c++ ?

I've done C -> C++ ports in the past and in support of Ed's suggestion, 
there is probably not an easier language port you can do.  C++ supports 
both OO and Procedural language and hence it provides a very convenient 
bridge between the two paradigms.

People usually code open-source for fun.  If you prefer or "believe in" the 
OO paradigm, contributing to a code base which uses the "bad old" 
techniques of procedural days is not fun.

Moving to C++ from C would initially be an almost be a trivial exercise in 
editing.  (1) Initially you add a few lines at the beginning and end of 
each file.  After the initial conceptual code is moved over so that the C++ 
compiler recognizes it as C++, (2) it becomes a matter of gradually moving 
all of the naked procedural code into some of class.  (3) The last step is 
simply following suggestions from Martin Fowler's book on Refactoring to 
constantly enhance the design.

The OO paradigm was/is "successful" because it makes implementing the 
classical computer science design principles of information hiding, 
encapsulation and modulation easier and more natural.

However, since Han and Jim are basically doing all of the work and they 
have never shown an interest in moving.  Personally, in Ed's situation, ie 
lotsa time on his hands for a while, I'd suggest doing an initial fork, get 
it up and running at stage #1, and then seek consensus.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]