Note that there are some explanatory texts on larger screens.

plurals
  1. POEffort estimation: using C / Win32 or learning C# / .NET
    text
    copied!<p>I intend to write a small application to scratch a personal itch and probably make the life of some colleagues easier. Here is what I have:</p> <ul> <li>10+ years of experience in C</li> <li>Plenty of experience in programming against the Win16/32 API in C from the Win3.1 to 2000 days.</li> <li>C library written by myself already doing about 75% of what the application shall do.</li> </ul> <p>What the application shall do:</p> <ul> <li>open a binary, feed it into the mentioned library.</li> <li>take the resulting text output and feed it into a new Excel Workbook.</li> <li>apply some formating.</li> <li>integrate nicely with the Windows environment (availability in "Open With...", remember some stuff using the registry etc.)</li> <li>(maybe later) before giving the CSV data to Excel, parse it by looking up the meaning of some values in an XML file.</li> </ul> <p>Except for the XML parsing part I have done all of that stuff before including COM / Office Automation in C/Win32. There is a lot of boilerplate code involved, but it is doable and the result will be a pretty small application without the need for an installer.</p> <p>So why even think about C# / .Net?</p> <ul> <li>no experience with parsing XML</li> <li>the promise of less boilerplate code for the Windows and Excel stuff (yes, I have done C++ with OWL, MFC, ATL etc. but I am not going there anymore - not for free/fun)</li> <li>Since I have also experience with C++, VB(not .Net) and a little Java / Objective-C I suppose learning C# will all be about the .Net libraries and not actually about the language.</li> </ul> <p>My considerations so far:</p> <ul> <li>Learning .NET might be fun and might result in less code / first steps in a more modern environment.</li> <li>Sticking with what I know will lead to a predictable outcome in terms of effort and function (except for the optional XML stuff)</li> <li>VB looked great at the beginning until the projects where about 80% done, then the pain started and the DLL coding in C. I am concerned history could repeat itself if I choose .Net.</li> </ul> <p>My primary objective is the functionality. Effort is a concern. The XML parsing is optional. </p> <p>Please advice.</p> <p><strong>Update:</strong> one thing I forgot to mention explicitly is that I am also worried about easy deployment of the tool to my co-workers. With Win32 I am pretty sure I can come up with an EXE file &lt; 1Mb that can be easily emailed and does not require installation. With .Net not so much. Can I create the necessary MSI or whatever in Visual Studio <em>Express</em> (free) or do I need 3rd party tools?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload