My Spiel on my .NET Experience
- I have been using C#/.NET since 2000. It is true that 90% of my experience is C++.
For the C#/.NET experience I do have, a lot of it is low level.
- I worked on Statistica for 24 years. It is a Win32 program written primarily in C++
but also contains elements of Fortran and C#. There was heavy interaction between the COM
elements of the program and .NET. (The whole program is exposed to COM via an object model
much how Word or Excel are.) We had to debug issues of .NET not releasing the COM objects
and causing the program not to close because of hanging references. It was I who debugged
and found solutions to stuff like that. I wrote a module that ran as a timer. If it detected
that the .NET runtime was loaded (it was not necessarily loaded), then it would force a garbage
collection every minute or so. The garbage collection would cause the COM objects that were
referenced to be disposed and the program could shut down.
- One of our customers, Intel, wanted to display their own WinForm windows. They wanted
to be able to access those windows off of a menu on our program. I wrote an API that could
manage those Windows. Our main windows were MFC/Win32 regular windows, not anything .NET.
- I have written WPF pieces using MVVM (model/view/view model) which of course included XAML.
One of our developers wanted to put a regular Win32 dialog into a WPF window. He had tons of
functionality in the dialog from the Win32/MFC side and wanted to use that in WPF. Putting
all that functionality in C# classes would have been a lot of work. I figured out a way so that
he could host the Win32 dialog part in the WPF window.
- Our analytics developers preferred to use WPF. We had an architecture for our analytics
for many years. I figured out a way to host WPF user controls in our dialogs so that we
could keep the same flow to our analytics dialogs.
- When our company was acquired by TIBCO, we had to integrate some of the functionality
of our products. One of the ways was to convert our Spreadsheets to import and export the
Spotfire formats. The Spotfire team had a .NET assembly and I used their assembly to do the
import and export to our native C++ format. The UI to set import/export Spotfire was written using WPF.
- Also, with Spotfire, we wanted a way to upload our Spreadsheets to the Spotfire server.
Spotfire did not recognize our format. So, I had to write code that first converted the format
to the Spotfire binary data format (previous paragraph), and then used .NET and Spotfire's REST
API to upload the data.
- If you want to look at my abilities look at my questions and answers on Stack Overflow (SO).
Sometimes I think a better gauge of a developer is not the answers he gives on SO, but the questions
he asks. The questions he asks shows at what level he is and how deep his knowledge goes.
My SO profile is: User Joseph Willcoxson - Stack Overflow