On 10/17/07 Curt Hagenlocher wrote:
> On 10/17/07, Paolo Molaro <[EMAIL PROTECTED]> wrote:
> > As python extensions use a C API, I don't see how Managed C++
> > would provide source compatibility. Managed C++ would be an ill-advided
> > method, IMHO.
> > [...]
> > You'd have two components: the C API headers and some C code (this is
> > required in any case) is the first. Then you need an assembly that
> > translates from the C API to the IronPython model. You can write this
> > in nice C# + a few dllimports or with the ugly managed C++ (assuming
> > managed C++ can actually consume the python headers).
> >
> 
> MC++ lets you create a single module that contains both "normal" machine
> code and MSIL, and takes care of the transitions between the two.  There's
> no reason you can't compile the existing C code and link it directly with
> the MC++ wrapper -- which is exactly what I originally meant.

The python API requires a couple dozen structure definitions plus a few
dozen dllimport declarations. This can be about 200 lines of trivial
to write declarative stuff.

The rest of the code is likely in the order of 50 K lines, so now ask
yourself: would you rather write

        a) 50 K lines of nice C# code + 200 lines of trivial declarations
or
        b) 50 K lines of orrible C++ code?

I know what I would answer:)
The managed C++ discussion is focused on avoiding the 200 lines of
trivial declarations, when the issue is the 50 KLOC.

Managed C++ might make sense if you have lots of legacy C++ code you
need to integrate (at least until MS itself will pull the plug on it).
For new code like this case, managed C++ is the wrong tool, IMHO.

lupus

-- 
-----------------------------------------------------------------
[EMAIL PROTECTED]                                     debian/rules
[EMAIL PROTECTED]                             Monkeys do it better
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to