views:

928

answers:

8

After I discontinued programming in C++ while entering into web authoring I was spoilt by PHP's high level constructs like hash tables or its dynamic, weak typing. I remembered the angst of C/C++ pointers and the maze of low-level Win32 API handles and message loops and that prevented me from utilizing environments like Code::Blocks for desktop applications. I am also not very fond of bulky, statically-typed C#/.NET environment. Any other ideas?

+3  A: 

wxPython

Alexander Kojevnikov
+4  A: 

Python has great GUI toolkits.

Vasil
+1  A: 

I third Pyhon if all you want is fast, easy, pain-free development, or if you want to get back to C++, because some of us just love the pain, try using Boost and Qt you'll be much happier than back in the old days with the Win32 API.

Robert Gould
+3  A: 

I have worked a lot with Flex and WPF (c#). Though you don't like C# very much.. I would say that Flex is very much like C#, but without all the strongly-typed code. I have about 13 years of PHP programming under my belt and I would say that moving to flex application development (this includes AIR Desktop applications) was one of the most fluid transitions I have made. Especially if you like working with any kind of javascript.

Anyway, Flex, Flex, Flex... oh yeah, and AIR :)

Please let me know if you need more help with this, or a better breakdown.

Phobis
Ok, yes I forgot about Flex, I used it a bit 2 years ago, and I must say that because its ECMA script + XML it is quite fast to pick up, also very easy to transfer your skills, and the UI will look very cool. I second this one more than I second Python actually
Robert Gould
+5  A: 

Tcl/tk is an old-school solution but you can get a gui up and running with surprisingly little code. The runtime can be embedded, so you can distribute a self-contained executable in a single file that contains your code, the runtime, and resource files. The runtime runs on unix/windows/mac so it's easy to generate binaries for whatever platforms you need. However many people find it hard to wrap their heads around tcl...

sk
Tcl/Tk may be "old school" but it is also very modern, giving you the option to use native widgets for large parts of your application. It's still being used in hundreds (thousands) of companies around the world.
Bryan Oakley
Another vote for Tcl/Tk. Although Tk can be used with other scripting languages, the Tcl interface to be the cleanest.
erichui
+1  A: 

You might use Lua with wxLua or the lightweight IUP libraries. Both being portable.

For quick/small prototype/throw away scripts, I also use AutoHotkey: the language is quite awful for a seasoned programmers (newbies seem to like it...), but its high-level GUI is easy and fast to use. And it is rather small and can be "compiled" to a standalone exe.

PhiLho
I actually am using AHK and agree with you on your remarks but I was thinking about going into more advanced desktop programming and was scared away by all this low-level stuff you need to learn in the conventional approach.
Omeoe
+5  A: 

Delphi. Without question.

http://www.codegear.com/delphi

You'll have to put up with strong typing, though.

C# isn't a bad language and the .Net framework certainly has some interesting features, but WinForms can be sluggish, making it less suitable (at least to me) for desktop GUI applications. I also don't like the hefty runtime requirement.

Bruce McGee