I'm forwarding this email 'cos its got useful info for windows external users in it...
cheers
mark
from Michael Gogins:
"I don't know if I have mentioned this before, but at this time the .NET Framework Software Development Kit is available, free of cost, from Microsoft at
http://msdn.microsoft.com/netframework/prodinfo/getdotnet.asp
Ths SDK does NOT contain Microsoft Visual Studio, so the poor programmer must write a makefile, but it DOES contain everything you need to develop, maintain, and deploy .NET applications.
For us music people, the really notable thing about this is that the .NET Framework SDK contains the Microsoft Visual C++ version 7.0 compiler and all associated libraries, free of cost. This is a very good compiler that produces significantly faster code, in significantly shorter build times, than the earlier compiler - for which one had to pay! It also produces significantly faster codethan gcc or g++, with some shortfalls in adherence to the ANSI specification which are not significant for my work.
In short, you can now get the Microsoft tools for free and they are actually quite good. I am currently building CsoundVST and silence::Orchestra with the .NET tools.
I have been getting experience with C# at my day job, and this language may deserve serious attention for DSP programming. It appears, from limited experience, to fall in between Java and optimized C++ in execution speed, and it is as easy to write as Java. As some of you may know, there is a MONO project from Ximian to produce an open source port of C# and the .NET Framework classes for Linux. If this project succeeds, C# could become a very viable alternative to Java or C++ for open source programming.
For music programming, C# is not mature. It does not contain its own classes for multimedia file access or performance management. However, it does contain something of significant interest, namely very improved network programming and remote procedure call programming, under the rubric of "remoting". Essentially, remoting makes it SIGNIFICANTLY easier to write distributed systems in a normal, function-call- and callback- oriented programming style. It is MUCH easier, for example, than Java RMI, CORBA, or DCE RPC, which do the same things.
It also is easy to write "native code" for C#, so PortAudio and PortMidi could easily be given C# wrappers."