none
Numerical/engineering software - What framework/runtime? RRS feed

  • Question

  • I'm looking to write some numerical/engineering software for windows. I am confused about all the options, MFC, .NET, UWP and others

    The software needs to take audio and analyse it (probably a FFT). Then I need to send the data to Python. It would be nice to display some graphs in real time

    I am keen to write it in C++. Preferably I would like to use a framework that helps me get a job in an engineering/scientific field

    I have developed for Android and iOS and embedded, but have no clue about Windows

    Thanks

    Wednesday, November 20, 2019 1:16 PM

Answers

  • I don't know which technologies are most likely to help you get a job in your field of choice, but I can tell you that you can use Visual C++ to write applications in all of the frameworks you mentioned (MFC, .NET, and UWP). If you don't have Windows experience, but you are looking to target Windows, there will be some learning curve for any of the choices you've mentioned.  There are pros & cons for selecting each one.

    Your description (numerical/engineering software) makes me believe that your application will have some CPU-intensive pieces. To avoid overhead, I would recommend that you write the bulk of the "meat" of your software in a portable native C++ module, such as a DLL. This library can expose interfaces that could be consumed by the user interface layers, which could be implemented in MFC, .NET (Windows Forms or WPF), or UWP, or even multiple different frameworks. You could even have browser-based UI, using something like HTML5. There are many options for UI frameworks, and if you have successfully modularized the computation pieces of your application into one or more DLLs, the choice of UI doesn't have to be dependent on the decision you make for the "core" of your product.


    Developer Support Engineer

    • Marked as answer by David New MSDN Thursday, November 21, 2019 8:42 AM
    Wednesday, November 20, 2019 7:49 PM

All replies

  • I don't know which technologies are most likely to help you get a job in your field of choice, but I can tell you that you can use Visual C++ to write applications in all of the frameworks you mentioned (MFC, .NET, and UWP). If you don't have Windows experience, but you are looking to target Windows, there will be some learning curve for any of the choices you've mentioned.  There are pros & cons for selecting each one.

    Your description (numerical/engineering software) makes me believe that your application will have some CPU-intensive pieces. To avoid overhead, I would recommend that you write the bulk of the "meat" of your software in a portable native C++ module, such as a DLL. This library can expose interfaces that could be consumed by the user interface layers, which could be implemented in MFC, .NET (Windows Forms or WPF), or UWP, or even multiple different frameworks. You could even have browser-based UI, using something like HTML5. There are many options for UI frameworks, and if you have successfully modularized the computation pieces of your application into one or more DLLs, the choice of UI doesn't have to be dependent on the decision you make for the "core" of your product.


    Developer Support Engineer

    • Marked as answer by David New MSDN Thursday, November 21, 2019 8:42 AM
    Wednesday, November 20, 2019 7:49 PM
  • Thank you for your answer
    Thursday, November 21, 2019 8:42 AM