Hi all,
From my experience in the field of programming, I've realized that languages are not just chosen for a particular job based on one's personal interest, but on the language's pros and cons.
I would like to know when to use C#, and when to use C++.
C# works well with windows. It's also a very high-level language. It may be easier to do a large job, but the generated code will be more alien.
C++ let's us utilize the object-oriented paradigm but also lets us stay closer to the processor for when we need that low-level functionality and performance.
> I would like to know when to use C#, and when to use C++.
Assuming that you are equally at home with both C# and C++, and you have freedom of choice regarding the programming language to use:
For a non-trivial program you would most likely end up using both. C++ for those parts where precise management of resources and/or performance is important, and C# for configuration, report generation, data base access, user interface and so on.
C# looks like Java, but the CLI it is emphatically not Java; it is designed from the ground up to be able to interoperate seamlessly with native code, with minimal performance penalty.