I had not checked this forum for a while. Thank you for addressing my comments. I have nothing against C#, I simply tried to highlight some shortcomings of the language/platform from the point of view of people writeng software for the Unix/Linux platform. In my opinion, C# remains mostly a Windows-based platform. I have never seen a widely used (scientific) software package for Unix/Linux written for Mono either. You can find, however, people attempting to port software from Windows to Unix/Linux via Mono.
After gradually making their licensing more compatible with the free software definition Trolltech released the Qt C++ Framework under the GPL around 2005. Later on it released the software under the GPL/LGPL in 2009.
Mono does not have the same level of maturity on the Unix/Linux platform, and that makes it a rather difficult choice. If someone have already devoted a lot of time, effort, and resources to write software in C#/.NET for the Windows platform I can understand the drive to extrapolate all that to other platform via Mono. Otherwise I cannot see the purpose.
For scientific applications the .NET/Java and similar languages have the shortcoming of running way slower than compile languages such as C, C++, and Fortran. As a matter of fact, having to run everything in a virtual machine, using only dynamically allocated memory ends up turning into a memory hog than can bring any system to its knees.
It all depends on the particular purpose of the software and its potential users. I have never seen, for instance, a simulation engine written in .NET
Java or even straight python. The main reasons: speed and efficiency.
From my point of view, I believe that straight C remains as one of the most useful and underrated programming languages out there due to its simplicity and capabilities. Most people think of C89, but after that we have C99, and C11…