I mainly want to know what they use for office (2007 different to older versions?) but any other apps would be interesting to know about and what program they would use. Visual studio?
(edit).. as windows itself is built on a C/C++ base i.e. it's DLL's and drivers etc are all written in C/C++.
This means any programming language wanting to write applications for windows and use the system API functions/information must at some point have a C/C++ interface, or run in an interpreter or VM which has a C/C++ interface.
My personal favourite hobby language at this point in time, is D:
It's written by a guy called Walter Bright who has been in the business of writing C/C++ compilers for 20+ years and the idea is to design and build a better C/++. D throws away all the bad stuff from C++ and adds all the good ideas from many modern languages. The 1.0 branch is stable but the 2.0 branch is still in a state of rapid development so it just keeps getting better and better.
Anyway, enough blatant plugging. If you're into programming, give it a go. If you're a beginner.. well there isn't as many polished tools for D development so you might struggle at first but I say give it a go, there is a newsgroup (with web interface) for learners and it gets regular replies from the experienced guys.
C# has a native interface with C/C++ does it not? In any case, being designed by MS I primarily use it for Windows apps due to it's high-levelled nature
C# has a native interface with C/C++ does it not? In any case, being designed by MS I primarily use it for Windows apps due to it's high-levelled nature
C# compilers take your source code and produce an intermediate language/code which then runs in the C# runtime (which is essentially a virtual machine - java does something very similar).
C# can call native code, which it calls "unsafe" because when you call a native function the C# runtime makes the call, and this occurs outside the bounds of the runtime/vm and therefore outside some of the protection features offered by the runtime/vm.
So, the C# runtime (which is more than likely written in C/C++) has a native interface with the system dlls/apis/etc. So, there is a layer between your C# app and the native code.
They are quite similar but do differ in a few ways, this wikipedia page does a comparrison for those interested, it also talks about calling native code:
I prefer D because it compiles to native code. D has classes, interfaces and all those object oriented features you get in Java. It also has a garbage collector and better template handling than C++ plus some nifty array handling features like slicing. You can even call C code directly (by linking directly to libraries) and it even has some limited support for C++ classes (which is more than C# can offer). But I digress.