Language Advice

  • Thread starter Thread starter Eddie Paz
  • Start date Start date
E

Eddie Paz

I have a program written in MFC. I'm at the point where I need to start
working on the major release (tons of new features needed - new fiscal year
budget and all-).

I'm looking into vc++.net since I figure that I need to buy the bullet
already and get into the .net thing. I'm concerned, however, with the syntax
change in Whidbey. I feel that if I start coding now, I'm going to have to
update all my "old" syntax to the new. My deadline is 1/1/06.

Should I do it in MFC and save myself some grief or will the current syntax
be no problem with the new syntax? Any advice will be appreciate it. Thanks!
 
Whidbey is going to be released in November 7.
Furthermore MC++2.0 is much leaner, less ambiguous, more explicit so much so
that this version has been submitted to the ECMA (contrary to the previous
version).
I would recommend stating directly with .NET 2.0!!
 
If your only concern is that VC++ 2005 won't compile your VC++ 2003 MC++
code, don't worry about that. Using the /clr:oldsyntax switch, you'll be
able to compile MC++ code with the new environment. It's a different
issue entirely that you may not want to continue the development in
MC++, because the new syntax is so much better.

The question is if you'll be able to mix old and new managed C++ syntax
within the same project (without having to separate old and new code in
different DLLs). I can't answer that for sure, but I have a feeling that
you can't. For example, how would you #include MC++ declarations from
C++/CLI? I believe if you want to mix the two languages, you pretty much
have to separate them in two different .NET assemblies. Someone who
knows better, please correct me if I'm wrong.

Also, I wonder if the designer in VC++ 2005 will work with code
generated by the VC++ 2003 designer. Because it's one thing to compile
an existing code, and another to continue developing it.

You may want to know that VC++ 2005 Beta 2 has a "go-live" license, so
you are legally allowed to distribute software developed with Beta 2.
It's a beta, nonetheless, with its own issues and bugs, lack of
guarantees. Many 3rd party .NET components, designers, VS add-ons, etc.
don't work with VC++ 2005 yet (in fact, I can hardly find anything that
works with 2005). I can't even find a book about 2005 or the new C++/CLI
syntax yet. Still, it's possible to do some serious development with
Beta 2. You certainly run a lot of risk with Beta 2 if your deadline is
1/1. The final product will be barely out by that time, and I can only
hope it won't be delayed further.

The .NET framework 2 is slightly different from 1.x, so it's not just
the C++ syntax that's different, it's also the underlying libraries.
There are some breaking changes from 1.x to 2.0 that you have to deal
with. I definitely have .NET DLLs that only work in 1.x and not with 2.0.

I think I'm pretty much in your shoes, and I can assure you we're not
alone. I'm not coming from MFC, but may be going to VC++ 2005 like you,
doing everything possible to skip 2003.

Tom
 
Should I do it in MFC and save myself some grief or will the current syntax
be no problem with the new syntax? Any advice will be appreciate it.
Thanks!


Well, you'll need to do the risk management for yourself, but I would
stick with proven (albeit not so perfect) technology I know well, and
wait at least one year after release before using C++/CLI in production
code.

That by no means implies that you shouldn't play with C++/CLI now.
 
Thanks for the reply. I've been playing around with Whidbey and I definitely
like what I've seen so far But, I don't think it'd be smart to start
development on a beta version. Not to mention that if MS doesn't meet their
deadline, I'll be forced to ask my network admin to push out a beta
framework to 1k PCs (I can hear him laughing already). Even if MS meets it,
I have one month to make sure my program works in the 'release' version.
hmmm... I may just stick to mfc for now.
 
Thanks for the reply, Nemanja. What you said makes perfect sense. It seems a
little too risky to play around with betas for now.
 
I'd definitely like to use the new syntax (although it looks and feels very
strange at first). I'll most certainly be releasing patches soon after my
initial release and I think that's where serious issues will begin.

It's unfortunate, but it seems that I may have to stick with MFC for a while
longer. Of course, there's always C#, but I can't see myself re-writing all
the extension dlls I'm planning to reuse on the next version of my program.

Thanks for your reply!
 
Back
Top