On Apr 9, 2009, at 2:23 PM, Robert Ramey wrote:
Mike Marchywka wrote:
Have you considered java for the gui? You can get platform-look-and-feel etc but if your customers absolutely need it to look like Windoze, well... I wouldn't rec it for performance but if you need a gui it is safe and has a lot stuff and has a native interface. It is also a bit more portable than MFC LOL.
I was always turned off by java. My perception was that as an interpreted language it was going to be slower than C++. Why learn yet another language just to go slower.
The clincher was that I got a contract to take over a project that had missed its delivery target and the software wasn't even close. The hard ware was all done and tested so there was huge financial pressure to deliver the machine. (usually I only get a job when every other alternative has been exhausted). The previous programmers had taken this approach. It was very, very slow. This ratified my prejudice. I took the job with the understanding I was to produce a working prototype in 30 days. I keep the C++ part and added on a gui with mfc. Made the deadline with a couple of days to spare.
And, I have to admit I'm still ticked off that the utiliy app that came with my wireless card has to be killed or, even while minimized, it uses up all the GDI objects in a few hours and crashes my machine. If you need to include some production code as an "Afterthought" java avoids really bad things like memory leaks etc...
The hassles with things like memory leaks, threading races, etc with this application were what led me to boost in the first place. That's how I got here. Currently I prefer to use boost for the "guts" and MFC for the "GUI viewer/manuiplator". But they don't always play nice together. This my core complaint with MFC. It's too coupled so you endup sucking in a lot of stuff you don't want.
When I look at wxWidgets, QT, etc. I see they have classes for strings, multithreading, etc. This gives me pause as it would seem that the GUI layer might be coupled to other parts of the library which I would prefer to use boost for.
I've also been looking at WTL (microsoft Windows Template Library) which looks like a thin templatized layer over Win32.
I'm sort of limited in that I need a system which "just works" rather "can be made to work".
Have you looked at: http://smartwin.sourceforge.net/ I have never tried it (if I did Windows GUIs I would check it out) so I cannot vouch for it, but it sounds interesting: "SmartWin++ is a modern designed C++ library, it uses STL where possible and boost where needed..." "...We believe that STL and Boost are good tools and should be used in favor of creating your own bug-prone classes to substitute them! If it exists in Boost or in STL it does NOT exist in SmartWin++!! :)..." "... SmartWin++ does NOT try to solve your marriage problems. It cares only about GUI. If you need a network library, search elsewhere. SmartWin++ will not solve your TCP/IP problems or your HTTP problems or your Dijkstra's Extra problems! SmartWin++ is about GUI, nothing more, nothing less! We try to be the best in ONE area which is GUI development! This makes the library small, slick, fast and good looking! ;)" -- Michael