I'm currently working on a small project, refurbishing and potentially implementing new features for a software created sometime in 2008 in Borland C++ Builder. The software is obviously full of the Borland or VCL specific classes and to edit it I would need Borland C++.
Due to company regulations it seems that I may not be able to get hold of Borland C++ Builder, therefore I would need to recreate the whole program in Visual Studio, which I have access to (VS2010). Planning the project I thought this would be a sensible thing to do anyway, considering Borland's history.
Now here's where it gets tricky: I have very little OOP experience and have barely started learning C++ and Visual C++. The program itself is only a few hundred lines and I feel that I am capable of learning the language to an extent that I can tweak the code and potentially add a few new things to it within a reasonable time frame (I have about 8 weeks to finish this). Over the past few days I have read through the code and understood most of it (including how the Borland specific things worked), in addition to learning enough about C++ to work at this stage. However, I am now lost trying to decide how to proceed, whether I should start working with Windows Forms, use MFC or do something completely different.
From what I understand, the .NET framework works best with C#, but I think it's nearly impossible for me to learn C# parallel to C++ now and also learn it to an extent that I can migrate a program from the latter to the former. If possible, I would like to keep as much of the current code, as possible.
I also think that if I work with Windows Forms and .NET (even if I use C++/CLI instead of C#), not having a native end result could be an issue for the company. The whole program is only a few MB, having to install the .NET bundle would be silly and potentially problematic. However, I am a bit concerned that MFC would be complex and very different to Borland C++ VCL classes and I may struggle to understand it, while the Windows Forms building process is fairly straightforward. At the moment I am reading Ivor Horton's Beginning Visual C++ 2010, but I haven't yet found an answer from it or from other posts here.
Considering the above:
Disclaimer: this is not the final and complete answer to the question, it was just too long to put in the comments, it is as good and precise as the question made (that is really not that much, obviously due maybe to some restrictions that the OP might have about the disclosure of the infos)
without knowing what the other program does we can't do really much, but nowadays you can do anything with any programming language. I would presonally choose to go the c#.net road, because it's just much easier to work with c# than with c++ and nowadays any windows computer network will have .net framework installed in its machines, .net will also help you go easier to the web and to windows mobiles. But if you go the mfc c++ road you will surely not be left behind because anyway it is a "good" framework. both of these choices will restrict you to windows, just so you know.