Well I write .Net code for a living, VB Mostly instead of C#
I've also been into Linux for a long while (originally Mandrake, now Gentoo)
if nothing else it can be used as a fast prototyping language and it's miles better than the old VB6
our entire business is based on it websites / processing applications
it works well and you can write code for it very quickly and easily
and it's not a language but a platform (language + standard libs for common operations)
In the old days it was all about squeezing as much as you could from the processor
(I know this more than most, assembler on the Z80 / Spectrum, Atari 68000 etc)
each language has it's place depending on the trade off between simplicity and performance
I've always seen C as driver low level, C++ as mid OS GUI / 3D abstraction level
and the likes of Java / PHP / .Net as upper layer for business logic
But where it comes to actual applications or websites that sit on top of the OS not a part of the OS
where business logic not performance counts
where it's key to be able to change something quickly at the cost of a small performance hit
(becuase you have a server with umpteen CPU's and massive memory in a rack, so performance comes secondary)
you need a higher level language than C++ to do these things quickly / simply
and I'm ashamed to say as a Linux geek I've not found anything that I could write cleaner or quicker code in than .Net
I really have tried with java and netbeans, but I hate it's Enums and namespacing, I've even considered scalar
netbeans also has this habbit of completley changing they're platform / libs layout (which sits on top of the java platform)
if I want to write a simple line of text to a text file, I can do it in a single line
System.IO.file.appendalltext(filepath, content)
with C++ unless you count the STL there's no fixed standard list of libs to use for common tasks
it can vary between platforms (less so with open source)
so typically I end up opening a file handle creating an int to store it in, making sure my string is null terminated
etc etc for somethinhg that should be a simple job
having the language managed, and catching exceptions which mean something is an added bonus
I know there are a lot of wrapper libs for this sort of thing like QT
kdevelop has auto-completion but it's still not a patch on the ease of use of Studio / .Net's
simply because of the differences in language design
In an ideal world I'd like to write .Net VB apps that use QT as a GUI backend
and that can run under windows or Linux via Qyoto and mono
given that KDE's smoke has recently been split into seperate parts under Gentoo and that Qyoto has been updated to 4.7
I'm hoping this might finally be possible
Linux is missing a lot of GUI based apps for configuration front ends vs windows
and with .Net you could create these very easily
But at the end of the day it's all about personal preference
some people can probably write code in C++ more quickly than .Net depending on what they're more familar with
also we don't have the same patent issues over here in the UK as the USA (for now at least)