Microsoft Visual Studio is really the only programming environment I would consider for developing Windows applications, including PC based controls applications.
Visual Studio supports several languages and technologies for creating Windows applications.
Languages:
- Visual Basic
- C/C++
- C# (C Sharp)
Visual Studio includes other languages, but the above languages are adequate for most development efforts, and are the most commonly used.
Code:
- Managed
- Native (Unmanaged)
Managed code is essentially .NET code, and Native code is essentially non-.NET code. VB.NET, and C# are the languages primarily used for creating managed code. C++, and VB6 create native code.
Visual Studio allows the creation of software written in a mixture of languages to be combined into single applications. It is possible to write C/C++ “COM” objects to do time critical portions of an application, and to write the user interface in VB or C#. Components can be written in VB.Net, and used in a C# application. This allows developers to use whatever language is most appropriate for different aspects of an application.
It also provides tools for creating installers for applications. These tools make creating installers for complex applications rather painless.