Campbell Ritchie wrote:There are problems about learning programming with .NET and C#, particularly that a particular IDE (=integrated development environment) is used. So your learning is liable to be linked to that IDE. You never see a lot of the code, which is generated automatically.
Although Visual Studio is often used for writing C#, it's not necessary. The .NET framework comes with its own command line compiler, C:\WINDOWS\Microsoft.NET\Framework\vXXX\csc.exe or C:\WINDOWS\Microsoft.NET\Framework64\vXXX\csc.exe, where XXX is the .NET version. Combining that compiler and writing the code by hand (as you can do with Swing / AWT applications) allows you to write complete applications without any IDE.
The other way around, you can use Visual Studio (or any other IDE like Borland's old C++ Builder) to create C++ applications using an IDE.
Personally, I use SharpDevelop because I'm not as familiar with C#'s GUI development as I am with
Java's (and don't like Visual Studio Express, and can't afford the non-express version), and for the few .NET programs I write I prefer the quick approach.