views:

1359

answers:

9

What is best programming language to make Windows GUIs?

+7  A: 

With the power it gives you and the great features borrowed from other languages, I'll have to say C#.

John T
For sure. For any plain ol' windows application I make, I switch from C++ to C# simply because it's the right tool for the job.
GMan
+3  A: 

XAML is very powerful for creating WPF applications in C# or VB. The Visual Studio designer is ok, if you want to create very "designed" UIs you can use Expression Studio.

+1, much easier than C# in my opinion.
musicfreak
A: 

The one you know. Other than that this is subjective and I'm voting to close.

SpliFF
Indeed the question is subjective and should be tagged as such but I don't think it is without value. For those of us new to development (or gui development) the number of options is very large and can be somewhat overwhelming, so seeking the advice of one's peers is reasonable
Crippledsmurf
I completely agree with SpliFF.
Bob Somers
A: 

It depends on your programming abilities and preferences.

Certainly the easiest approach for Windows applications is .net, of which Visual Basic and C# are the easiest to learn and best supported with community content. However, most languauges can be used for windows GUIs, so if you already know one or two, this will surely colour your choice.

Jason Williams
+2  A: 

This may sound crazy, but I've found I can develop with C++/wxWidgets pretty fast.

I suspect the language is less important than the framework, and wxWidgets is pretty good (I can knock up GUIs quicker in C++/wxWidgets than I can with Java/Swing).

A: 

I don't believe there is a "best" language for any task in an absolute sense, but rather that the best tool for a given task is determined by the tasks requirements.

As stated above .NET and C# do provide a very easy path to GUI development and should be considered for most new work, provided that a dependency on the CLR & .NET Framework is acceptable.

If you don't want to have a dependency on the .NET Framework for whatever reason then you are left to choose from the unmanaged platform options of which there are many.

In terms of languages C / C++ tend to be the focus of most of the Microsoft doocumentation so you may wish to choose one of these languages for the sake of ease.

If you opt for C++ then MFC is a popular choice for strictly windows applications, however if cross-platform deployment is a requirement then you may wish to investigate one of the many other available libraries including the previously mentioned wxWidgets.

Crippledsmurf
+5  A: 

Nothing beats Delphi on this! C# is made by the same guy who made Delphi!

gath
C# has proper GC, Delphi only has ref-counting, so it seems language designers can learn something from experience. For this reason alone, the majority of modern languages beat Delphi.
Daniel Earwicker
A: 

I'll vote for C or C++ along with the Windows API or MFC (depending on the type of UI you are developing).

Vulcan Eager
A: 

There's no single "best language". It depends on what kind of applications you currently develop, and which languages/environments you are already familiar with.

For instance, I use Python with PyQt for Windows GUIs - and it works really really well. Importantly, it provides a means of very simple portability between platforms, because virtually the same code can run on Linux and OS X.

C# is also very good for this purpose. So is C++ with Qt or wxWindows.

Eli Bendersky