When wxWidgets will become a real C++ toolkit? Topic is solved

This forum can be used to talk about general design strategies, new ideas and questions in general related to wxWidgets. If you feel your questions doesn't fit anywhere, put it here.
Post Reply
Trikko
Experienced Solver
Experienced Solver
Posts: 94
Joined: Tue Oct 18, 2005 8:28 pm
Location: Venice, IT
Contact:

When wxWidgets will become a real C++ toolkit?

Post by Trikko » Sun Nov 12, 2006 9:13 pm

I mean: now wxWidgets doesn't use a lot of c++ features and advanced technique. I know it was a choice of some years ago when compilers didn't support c++ standard so well. Is it planned a rewrite of wxwidgets to use some features like namespace, c++ RTTI, STL or advanced technique as Singletons and so on? For now it seems to use a sort of C with Classes...

Hey that's not a complain, i'm a really wxWidget fan! :)

TransButtah
Earned a small fee
Earned a small fee
Posts: 16
Joined: Wed Oct 25, 2006 12:35 am

Post by TransButtah » Sun Nov 12, 2006 11:23 pm

Yeah, me too. The real reason I chose it, though, was because I didn't like the idea of users having to download the GTK+ Environment for Mac and Windows for cross-platform, or to have to install the Java Runtime Environment. It makes professional-grade software, and that's good enough for me!

User avatar
tierra
Site Admin
Site Admin
Posts: 1343
Joined: Sun Aug 29, 2004 7:14 pm
Location: Salt Lake City, Utah, USA
Contact:

Post by tierra » Mon Nov 13, 2006 1:19 am

A lot of this has been under discussion here:
http://www.wxwidgets.org/wiki/index.php ... xWidgets_3

When it comes down to it though, unless those features offer a significant advantage over the current code, it's not likely they'll be used since wxWidgets already has alternative code that's compatible across more compilers. There's no point in dropping that compatability (and it may still not be option to drop some compilers) if there's no gain.

bigpilot
I live to help wx-kind
I live to help wx-kind
Posts: 168
Joined: Tue Sep 19, 2006 8:33 am

Post by bigpilot » Mon Nov 13, 2006 3:02 pm

I personally believe it's of no real importance. The most important thing is that wxWidgets is easy to use and to learn and the underlying technology doesn't interest me (STL, templates etc.).

wxWidgets Rulez!!! :P
Soon to be world famous ;)

Trikko
Experienced Solver
Experienced Solver
Posts: 94
Joined: Tue Oct 18, 2005 8:28 pm
Location: Venice, IT
Contact:

Post by Trikko » Mon Nov 13, 2006 4:03 pm

Thanks tierra, good link.

bigpilot: you should be interested in that technologies. They improve performace, debugging and programming time :)

phlox81
wxWorld Domination!
wxWorld Domination!
Posts: 1387
Joined: Thu Aug 18, 2005 7:49 pm
Location: Germany
Contact:

Post by phlox81 » Mon Nov 13, 2006 7:31 pm

bigpilot wrote:I personally believe it's of no real importance. The most important thing is that wxWidgets is easy to use and to learn and the underlying technology doesn't interest me (STL, templates etc.).

wxWidgets Rulez!!! :P
I don't think so. Just take a look at the work you got, when you need your own wxArray.
In STL thats simply std::vector<myclass> vec;
And you can use most STL Algorithms on most containers, at least the common ones.

mispunt
Experienced Solver
Experienced Solver
Posts: 59
Joined: Tue Oct 19, 2004 3:23 pm
Location: Ede, Holland

Post by mispunt » Tue Nov 14, 2006 6:23 pm

beside that, I think that your code is more readable when you don't need to use macro's for declaring an array.
OS: win XP pro
Compiler: MingW
wxWidgets version: 2.6.2

User avatar
doublemax
Moderator
Moderator
Posts: 15655
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Post by doublemax » Tue Nov 14, 2006 6:35 pm

noone stops you from using STL, i don't think it's that big of a deal how wxWidgets works internally.
Use the source, Luke!

Trikko
Experienced Solver
Experienced Solver
Posts: 94
Joined: Tue Oct 18, 2005 8:28 pm
Location: Venice, IT
Contact:

Post by Trikko » Tue Nov 14, 2006 6:48 pm

doublemax wrote:noone stops you from using STL, i don't think it's that big of a deal how wxWidgets works internally.
STL was just an example. By the way i think that using a solid library as STL internally can have some advantages on performance and stability due to its "tested" portability (it's a standard...) and on third party works on it. By the way it's only a (weak) example. :)

Again: i love wxwidgets, but it think it can become even better! :))

User avatar
tierra
Site Admin
Site Admin
Posts: 1343
Joined: Sun Aug 29, 2004 7:14 pm
Location: Salt Lake City, Utah, USA
Contact:

Post by tierra » Wed Nov 15, 2006 7:39 am

Trikko wrote:By the way i think that using a solid library as STL internally can have some advantages on performance and stability due to its "tested" portability (it's a standard...) and on third party works on it. By the way it's only a (weak) example. :)
Just as an interesting fact, did you know that wxWidgets (or wxWindows as it was known at the time) was making releases before C++ STL was accepted into an ISO draft standard? I'm not going to argue that it's array macros have had more testing or are more stable, but it has definately seen a lot of eyes, a lot of testing, and there's really no argument that they have bugs or don't perform to par. Besides, it's definately been proven that it's more compatible, and that's really what matters when the goal is a cross-platform library. :)

My point only applies to the wxWidgets library itself, nothing is stopping you from using STL in your application built with wxWidgets unless you'd also like that level of compatibility.

Frank
Filthy Rich wx Solver
Filthy Rich wx Solver
Posts: 211
Joined: Sat Jan 01, 2005 6:19 pm

Post by Frank » Wed Nov 15, 2006 9:24 am

Hmmm, we have 2006, not 1995. It was okay back then. But today I find it only ugly and counterintuitive.

BUT: I can Compile wx with the Flag wxUSE_STL (or so). So my WX uses the STL for Strings and Arrays. That way I can use std::string in my programms and give those strings to wx-Functions, without the need for std::string::c_str() on every call. And I can use the STL-Algorithms on a wxArray without problems.

lowjoel
Moderator
Moderator
Posts: 1511
Joined: Sun Jun 19, 2005 11:37 am
Location: Singapore
Contact:

Post by lowjoel » Wed Nov 15, 2006 9:52 am

IMHO, the single largest horrible use of macros in wxWidgets is the event handling system. I know it's hard for events, but somehow I think templates can achieve the same thing with less clutter.

Containers are a "duh" answer. STL and STL all the way. Compare C++ to other languages (ESPECIALLY Delphi) and consider us very fortunate. I was just looking for a btree for Delphi and it was some external component. The only container is the List (I don't even know if its a list or just a dynamically sized array, at that).

Then again, I'm nowhere with software design, it's just my lay two cents' worth.

Joel

priyank_bolia
wxWorld Domination!
wxWorld Domination!
Posts: 1339
Joined: Wed Aug 03, 2005 8:10 am
Location: BANGALORE, INDIA
Contact:

Post by priyank_bolia » Wed Nov 15, 2006 12:30 pm

lowjoel wrote:IMHO, the single largest horrible use of macros in wxWidgets is the event handling system. I know it's hard for events, but somehow I think templates can achieve the same thing with less clutter.
Joel
I you had a strong base in MFC and moved to wxWidgets, that statement will be different.

bigpilot
I live to help wx-kind
I live to help wx-kind
Posts: 168
Joined: Tue Sep 19, 2006 8:33 am

Post by bigpilot » Thu Nov 16, 2006 7:44 pm

Trikko wrote:Thanks tierra, good link.

bigpilot: you should be interested in that technologies. They improve performace, debugging and programming time :)
STL is a pain in the behind debugging (unless your debugger supports it). I don't know about performance penalties but my experience is that it makes no difference at all for desktop applications.
Soon to be world famous ;)

lowjoel
Moderator
Moderator
Posts: 1511
Joined: Sun Jun 19, 2005 11:37 am
Location: Singapore
Contact:

Post by lowjoel » Fri Nov 17, 2006 12:08 am

But not all of us write desktop applications; some of us write high-load server applications and the fact is it may be time-critical. Most (if not all) of the STL is highly optimized, and your program will run even better if you pick the right container.

Joel

Post Reply