tags:

views:

124

answers:

6

I'm curious to find out what most Windows GUI programs are written in - for example, AOL Instant Messenger, Microsoft Word, Notepad, other popular shareware programs, etc.

Thanks!

A: 

C++, obviously.

Lucas
+1  A: 

MFC which basically means C++.

Although I would suspect many windows program with old origins have rolled their own framework on directly on top of win32 or uses it directly and might still be mostly C.

nos
+1  A: 

Look at MS visual studio, it comes with a nice interface and is easy to use library for GUI development. There are several popular popular libraries for GUI development. Most of them have bindings for multiple languages, but I would agree with the above C++ is the most used.

null_radix
+1  A: 

Older programs are typically written in Visual C++, usually on top of a framework like MFC. (Unless the program was written by Microsoft, who practically never use MFC. :)) Visual Basic was also very common for internal or amateur applications, but not for the well-known "mainstream" ones.

Newer programs are usually written on the .NET platform, so in C# or VB.NET.

Evgeny
+1  A: 

Depends on the OS, and what the program's domain is. If it is an version of windows that can support .NET then many of the applications are written in .NET, due to the features that are afforded to the developers. If an application is for an older platform, uses intense graphics, or is build for pure performance, over appearence, more than likely it is in C++.

monksy
Appearance? I'm not sure how an app written in C# appears any nicer (or different) than on written in C++. The main tradeoff is runtime efficiency (favors C++, especially in memory usage) vs. coding efficiency (favors C#).
Nate C-K
It all depends on the GUI library support... typically the ones written in pure C++ tend to take more work to put together and thusly the apparence and functionality does not match that of C#.
monksy
You could equally argue that C++ programs tend to be written by more established development houses that have a lot more resources to churn out nice-looking products. I think if you look around at the best examples of fancy, high-functionality GUI's, most are written in C++. This isn't really a result of using the language so much as it is a result of heavy investments that companies have made in these apps; but I think it's fair to say that nice C++ GUI's are not only possible but common. But if I were gonna write a Windows GUI I'd certainly go for C#.
Nate C-K
I agree with you, but to choose C++ there is no barrier to entry. That would not stop small firms from using it. The cost of entry is mostly the resources involved, and typically that requires more knowledgable people on the subject.
monksy
+1  A: 

10 years ago the answer was C++ far and away and probably Visual Basic in the #2 spot. Today C++ still dominates but C# is getting an increasing market share for new projects. A lot of the big-time apps have been around for a while, though, and they were and continue to be written in C++.

Edit: Another common language/framework that you see around a lot without realizing it is Delphi.

Nate C-K