State of the WX Topic is solved

This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
User avatar
samofvt
Earned a small fee
Earned a small fee
Posts: 14
Joined: Sun Mar 25, 2012 2:20 pm

State of the WX

Post by samofvt »

Ever since the early 1990's, I heard about how great java is and that all the next generation business software will be running on java.

Well, here it is, 25 or 30 years later, and I don't see any killer apps based on java. Ok, a few notable things: like "PHP Storm", which is an excellent software development environment. And I guess my Corolla is supposed to have some java in it (but it runs about the same as the Corolla I had 20 years ago did). Plenty of website *JavaScript-let* stuff, but hey, this is 25 years later (Glad they've made at least a little bit of progress). PHP has made more advancements than java, imho, over the past 20 years. By a LONG shot.

But I don't see any really "killer" apps in java.

I'm amazed and stoked to see wxWidgets still alive and strong. Admittedly, it's not like the heady days of the late '90s and 2000s maybe, when there were 1000's of posts a day it seemed. I remember it got so busy, they had to switch to this multi-part bulletin-board format to handle the load. Today, on other social media platforms, I've gotten used to being able to click a "Like" button. I guess that "like" attribute shows support or disproval (if you give thumbs down).

Now that the craze has slowed down, I wonder if it's time to go back to a more centralized format? With fewer categories. More personal?

-samofvermont
utelle
Moderator
Moderator
Posts: 1128
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: State of the WX

Post by utelle »

samofvt wrote: Wed Oct 06, 2021 5:43 am Ever since the early 1990's, I heard about how great java is and that all the next generation business software will be running on java.
Certainly an exaggeration back then. However, Java is still among the top 10 programming languages.
samofvt wrote: Wed Oct 06, 2021 5:43 am [...] But I don't see any really "killer" apps in java.
I can assure you that many server-side business applications were (and are) developed with Java. Additionally, it depends heavily on your definition of a "killer" app.

However, I don't see the point of your post regarding wxWidgets, since wxWidgets is a C++ library.
samofvt wrote: Wed Oct 06, 2021 5:43 am I'm amazed and stoked to see wxWidgets still alive and strong. Admittedly, it's not like the heady days of the late '90s and 2000s maybe, when there were 1000's of posts a day it seemed. I remember it got so busy, they had to switch to this multi-part bulletin-board format to handle the load. Today, on other social media platforms, I've gotten used to being able to click a "Like" button. I guess that "like" attribute shows support or disproval (if you give thumbs down).
There were discussions among the wxWidgets core developers to activate the "discussions" feature on the wxWidgets GitHub repository. There you would have this "like" feature at hand.

Personally, I'm glad that the forum does not have a "like/dislike" feature, because this feature is a very subjective perception. The forum is mostly not about opinions, but about technical issues with wxWidgets based development. So, the information whether a thread includes a solution or not, is of importance. The forum offers to flag a post as "solved", but even this feature is not used by all users consequently.
samofvt wrote: Wed Oct 06, 2021 5:43 am Now that the craze has slowed down,
Yes, the number of postings is lower than 5, 10, 15 years ago, but the forum is still rather actively used. Partially the lower number of postings might have technical reasons, because the forum experiences quite some technical problems (like failing logins and/or postings) since at least fall 2020. Unfortunately, even upgrading the server on which the forum is hosted hasn't solved the problems.
samofvt wrote: Wed Oct 06, 2021 5:43 am I wonder if it's time to go back to a more centralized format? With fewer categories. More personal?
Well, in fact the wxWidgets forum has only 12 categories (plus 3 non-English categories) - certainly not an excessively high number. Almost all categories are actively used and IMHO it makes sense to group certain topics. So, which categories do you find unnecessary? How does a forum with less categories make itself "more personal"?
Rohit Agarwal
Earned some good credits
Earned some good credits
Posts: 119
Joined: Wed May 19, 2021 11:17 pm
Contact:

Re: State of the WX

Post by Rohit Agarwal »

A general observation on the state of WX:

99% of things work well, as documented and across platforms.
However, there are some things that don't work on one platform.
As a result, WX is very useful for prototyping
since it gives you a single interface to design to that works on OSX, Win, Linux.
But I still wouldn't use it for deployment.

For the purposes of an app that wants maximal functionality on all platforms,
it's worth facing the learning curve of each platform's design language and libraries.

Also, as a function of time, the platforms are only diverging not converging
so platform dependencies will likely increase with time.

FWIW, I'd go ObjectiveC/Cocoa on OSX, C/Win32 on MSW and C/X11 on Linux.
The biggest learning curve would be on OSX.
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: State of the WX

Post by doublemax »

However, there are some things that don't work on one platform.
These must be rare edge cases, can you give some examples? And i'm pretty sure most of them are bad design choices or you can work around them.
FWIW, I'd go ObjectiveC/Cocoa on OSX, C/Win32 on MSW and C/X11 on Linux.
And you'd have trippled your time your and effort.
Use the source, Luke!
Rohit Agarwal
Earned some good credits
Earned some good credits
Posts: 119
Joined: Wed May 19, 2021 11:17 pm
Contact:

Re: State of the WX

Post by Rohit Agarwal »

doublemax wrote: Sat Oct 09, 2021 5:20 pm
However, there are some things that don't work on one platform.
These must be rare edge cases, can you give some examples? And i'm pretty sure most of them are bad design choices or you can work around them.

Usually you can work around the bottlenecks because the API is fairly rich
providing alternative ways of getting things done.
But sometimes you can't.
For example, on MSW there's no way to uniquely determine the keydown on the AltGr key
which means if I want to use the keydown on that key in my app in "raw" form, I can't.
These message boards are tremendously helpful, so you never get stuck,
but you do spend time on these workarounds and sometimes it leads to a dead end.
Another area is font selection beyond the common subset provided by WX, another is printing support.

The API is necessarily "Swiss-cheesed" in trying to support all 3 platforms.
wx has done the best job possible in the context in which it operates.
FWIW, I'd go ObjectiveC/Cocoa on OSX, C/Win32 on MSW and C/X11 on Linux.
And you'd have trippled your time your and effort.
This is true. The value of WX is in providing a single programming interface
that more or less works across all 3 platforms.
Once you've built wx on a platform, getting things going is pretty fast on all 3 platforms.
User avatar
samofvt
Earned a small fee
Earned a small fee
Posts: 14
Joined: Sun Mar 25, 2012 2:20 pm

Re: State of the WX

Post by samofvt »

utelle wrote: Wed Oct 06, 2021 2:11 pm
samofvt wrote: Wed Oct 06, 2021 5:43 am Ever since the early 1990's, I heard about how great java is and that all the next generation business software will be running on java.
Certainly an exaggeration back then. However, Java is still among the top 10 programming languages.
samofvt wrote: Wed Oct 06, 2021 5:43 am [...] But I don't see any really "killer" apps in java.
I can assure you that many server-side business applications were (and are) developed with Java. Additionally, it depends heavily on your definition of a "killer" app.

However, I don't see the point of your post regarding wxWidgets, since wxWidgets is a C++ library.
samofvt wrote: Wed Oct 06, 2021 5:43 am I'm amazed and stoked to see wxWidgets still alive and strong. Admittedly, it's not like the heady days of the late '90s and 2000s maybe, when there were 1000's of posts a day it seemed. I remember it got so busy, they had to switch to this multi-part bulletin-board format to handle the load. Today, on other social media platforms, I've gotten used to being able to click a "Like" button. I guess that "like" attribute shows support or disproval (if you give thumbs down).
There were discussions among the wxWidgets core developers to activate the "discussions" feature on the wxWidgets GitHub repository. There you would have this "like" feature at hand.

Personally, I'm glad that the forum does not have a "like/dislike" feature, because this feature is a very subjective perception. The forum is mostly not about opinions, but about technical issues with wxWidgets based development. So, the information whether a thread includes a solution or not, is of importance. The forum offers to flag a post as "solved", but even this feature is not used by all users consequently.
samofvt wrote: Wed Oct 06, 2021 5:43 am Now that the craze has slowed down,
Yes, the number of postings is lower than 5, 10, 15 years ago, but the forum is still rather actively used. Partially the lower number of postings might have technical reasons, because the forum experiences quite some technical problems (like failing logins and/or postings) since at least fall 2020. Unfortunately, even upgrading the server on which the forum is hosted hasn't solved the problems.
samofvt wrote: Wed Oct 06, 2021 5:43 am I wonder if it's time to go back to a more centralized format? With fewer categories. More personal?
Well, in fact the wxWidgets forum has only 12 categories (plus 3 non-English categories) - certainly not an excessively high number. Almost all categories are actively used and IMHO it makes sense to group certain topics. So, which categories do you find unnecessary? How does a forum with less categories make itself "more personal"?
I can't help but agree with many of your observations. All except: java was heavily promoted since its adoption by certain well connected people. Also known as: heavily Marketed. They out-marketed even the likes of Borland. 25 years ago today, Borland had better RAD infrastructure on both their C++ AND Delphi platforms than anything out today (with the exception of Dialog Blocks + wxWindows, which now would rival what they had then except for the lack of data access components). I worked in a Delphi/Pascal environment for a few years back then, and what they had was amazing. The only reason I didn't back Borland more was that they seemed to be favoring their pascal/Delphi tools. Pascal was beautiful, but it had the same flexibility problem all the higher level languages seem to have. I almost wish I had, except my little penance wouldn't have mattered in the end.

The way they were promoting it, Java should be a hands down #1. I'll agree its still out there in great quantities and ubiquitous, but the fact is: many of the start-ups that went that way failed. Straight-up bankrupt. And I believe anyone that wants to do something serious, would face a blank slate.

Bjarne Stroustrup gave his language a grade of C. After studying and using many various languages, imho, C is about as well as you can do, even today. There is definitely a place for script languages: something quick and painless to whack out in a few hours during lunch. An add-on functionality. But for a real system, a whole application, C/C++ is still the only tool.

I've spewed enough for right now, and will continue with modernization suggestions for wxForum another time.
catalin
Moderator
Moderator
Posts: 1618
Joined: Wed Nov 12, 2008 7:23 am
Location: Romania

Re: State of the WX

Post by catalin »

samofvt wrote: Wed Oct 06, 2021 5:43 am Ever since the early 1990's, I heard about how great java is
JDK 1.0 was released in 1996 (well, '95 in Beta). So you were probably thinking late 1990-s, right?

samofvt wrote: Wed Oct 06, 2021 5:43 amI don't see any really "killer" apps in java
Where did you look for them? That "sighting" does not say anything about the state of Java or C++, apart from what is a "killer" for you etc.

I see IntelliJ IDEA. That is a "killer" app, as described by virtually all Java developers I crossed paths with in the past few years (and not the only one of its kind).
You really wouldn't consider Android's Java API Framework as at least "notable"? Other famous frameworks like Spring, Hibernate?
Nothing in the whole realm of mobile Android apps?
Other ones that you might have heard of: Hadoop, Minecraft (yup, killer one, think how much money it made), a whole bunch of apps from NASA used for (obviously, right?) space (and publicly available too, google will definitely find them for you). The list could continue with many more, across many industries, especially less "visual" ones -- think distributed processing infrastructure.
I'd say it's worth actually looking for them. It's fun.

PHP has made more advancements than java, imho, over the past 20 years. By a LONG shot.
That's really a bold statement, but pretty much just that. As it cannot be measured, it can only start polemics.
FWIW, PHP took a really bad hit 10-15 years ago when Ruby on Rails became a thing, and imho has never recovered since. Version-wise, in the past 20 years alone, Java evolved from version 1.3 to 17 (already released), with PHP going from 4 to 8. Of course that is not saying much about their evolution, but take one example that should be really relevant: JIT. Q: When did Java get it? A: Pretty much since the beginning, say late '90s. Q: When did PHP get it? A: 2020 (!)


Disclaimer: Not arguing in favor of one language against others, be it C++, Java, PHP, or any other. Just trying to get things straight here. IMO they all have their killer features, killer apps and killer applicability. The proof for that is that they all survived for so long and are still going strong. But no glove will fit all hands.
User avatar
samofvt
Earned a small fee
Earned a small fee
Posts: 14
Joined: Sun Mar 25, 2012 2:20 pm

Re: State of the WX

Post by samofvt »

catalin wrote: Mon Oct 11, 2021 7:54 am
samofvt wrote: Wed Oct 06, 2021 5:43 am Ever since the early 1990's, I heard about how great java is
JDK 1.0 was released in 1996 (well, '95 in Beta). So you were probably thinking late 1990-s, right?

samofvt wrote: Wed Oct 06, 2021 5:43 amI don't see any really "killer" apps in java
Where did you look for them? That "sighting" does not say anything about the state of Java or C++, apart from what is a "killer" for you etc.

I see IntelliJ IDEA. That is a "killer" app, as described by virtually all Java developers I crossed paths with in the past few years (and not the only one of its kind).
You really wouldn't consider Android's Java API Framework as at least "notable"? Other famous frameworks like Spring, Hibernate?
Nothing in the whole realm of mobile Android apps?
Other ones that you might have heard of: Hadoop, Minecraft (yup, killer one, think how much money it made), a whole bunch of apps from NASA used for (obviously, right?) space (and publicly available too, google will definitely find them for you). The list could continue with many more, across many industries, especially less "visual" ones -- think distributed processing infrastructure.
I'd say it's worth actually looking for them. It's fun.

PHP has made more advancements than java, imho, over the past 20 years. By a LONG shot.
That's really a bold statement, but pretty much just that. As it cannot be measured, it can only start polemics.
FWIW, PHP took a really bad hit 10-15 years ago when Ruby on Rails became a thing, and imho has never recovered since. Version-wise, in the past 20 years alone, Java evolved from version 1.3 to 17 (already released), with PHP going from 4 to 8. Of course that is not saying much about their evolution, but take one example that should be really relevant: JIT. Q: When did Java get it? A: Pretty much since the beginning, say late '90s. Q: When did PHP get it? A: 2020 (!)


Disclaimer: Not arguing in favor of one language against others, be it C++, Java, PHP, or any other. Just trying to get things straight here. IMO they all have their killer features, killer apps and killer applicability. The proof for that is that they all survived for so long and are still going strong. But no glove will fit all hands.
I think you've got me about the time frame when Java came out. I was learning FORTRAN in 1992/93, so yeah, it had to have been late 90's.

You've listed a few good examples of Java based apps. Notably Minecraft was apparently originally written in Java, and still may have Java components...but the news I see from more than one source is that they rewrote the newer versions in C++: https://iron-set.com/us/users-questions ... itten-in-c

:-) It still seems to me, in many areas, java is still trying to catch up with where C++ was 20 years ago.
ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 7479
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: State of the WX

Post by ONEEYEMAN »

Hi,
And hopefully never will. ;-)
BTW, Fortran was (and is) an amazing language and its Math library is a killer. Even now.

Thank you.
User avatar
samofvt
Earned a small fee
Earned a small fee
Posts: 14
Joined: Sun Mar 25, 2012 2:20 pm

Re: State of the WX

Post by samofvt »

Its been quite a while since I was very active here (before I created this account ... before 2012!). I guess after a while I became proficient enough so that I didn't really need the board support to accomplish what projects I've worked on, and was too busy to help others by responding.

After looking around here on this discussion forum some more, I've come to the conclusion it isn't in too bad shape, after all. I was thinking about making some recommendations/volunteering to modernize, but it seems to be functional and accessible. I can agree with the points made by utelle.

There is one aspect of the wxWidgets brand that I think does need some help: the wxCode repository - "Note: As of January 2018 this project has been retired." Having a site with a statement like that out there makes the whole wxWidgets project seem...less attractive, less stable. I could be wrong, but it seems a long ways from being a dead project. There still seems to be solid demand, and there's a lot of awesome work being done on the core platform.

And I also completely agree that add on components should NOT be included with the base GUI toolkit. But it seems like there should be a place to maintain a list of add on components, similar to what the wxCode site was. There are some extremely valuable tools that aren't immediately apparent.

Questions:
  • Would there be support for a re-development of a "wxCode" type repository site? It wouldn't happen unless the current core developers of wxWidgets were behind it, or at least in relative agreement.
  • Where could the site be hosted? I envision the need for a database driven site, with an easy to use "administrators" back end.
  • How could such a site be funded? The site development could be very affordable (I'd be happy to do it for a nominal cost), however paying for the server space would require annual support. Would a fund raising drive, something like Wikipedia does, be possible or advisable?
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: State of the WX

Post by doublemax »

wxCode is dead and i don't think it makes any sense to revive it in similar form. Most of the projects became obsolete just because their function is in wxWidgets today. And any projects that are still alive are hosted on GitHub now.

However it would be nice to have some kind of categorized catalog that lists GitHub pages for wxWidgets extensions that are relevant today. Maybe even a sticky thread here in the forum might do the trick. What do you think?
Use the source, Luke!
Kvaz1r
Super wx Problem Solver
Super wx Problem Solver
Posts: 357
Joined: Tue Jun 07, 2016 1:07 pm

Re: State of the WX

Post by Kvaz1r »

doublemax wrote: Wed Oct 13, 2021 9:47 pm However it would be nice to have some kind of categorized catalog that lists GitHub pages for wxWidgets extensions that are relevant today. Maybe even a sticky thread here in the forum might do the trick. What do you think?
I think it's a good idea - make some list with extensions, tutorials, best articles, ... Something like Awesome Gio for Gio (Go Gui library), but more strict because wxWidgets is mature product and Gio isn't. And forum thread for discussing.
utelle
Moderator
Moderator
Posts: 1128
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: State of the WX

Post by utelle »

samofvt wrote: Wed Oct 13, 2021 8:16 pm There is one aspect of the wxWidgets brand that I think does need some help: the wxCode repository - "Note: As of January 2018 this project has been retired." Having a site with a statement like that out there makes the whole wxWidgets project seem...less attractive, less stable. I could be wrong, but it seems a long ways from being a dead project. There still seems to be solid demand, and there's a lot of awesome work being done on the core platform.
I fully agree that a statement like "... this project has been retired" doesn't help to draw attention to a project. However, it is not a statement about wxWidgets, but about the wxCode project. And for example on GitHub you also find archived repositories which were abandoned by their creators for various reasons.

The reasons for the decay of the wxCode project are manifold. One major wrong decision was to allow that the contributions, that were bundled with wxWidgets in earlier versions (< 2.8 if I remember correctly), were dumped into the wxCode project. Suddenly there were dozens of unmaintained components of questionable benefit. That made it a lot harder to find the really useful and maintained components. Another major issue was that SourceForge made it extremely difficult to administrate access rights for unrelated components maintained by a rather large number of developers. Additionally, automatically updating the wxCode website became more and more difficult - for example, integrating the latest official news posts was no longer possible after 2012.

The effect was that more and more developers either moved on to GitHub (like myself) or simply abandoned their components.

Conclusion: wxCode is dead - as doublemax already stated.
samofvt wrote: Wed Oct 13, 2021 8:16 pm And I also completely agree that add on components should NOT be included with the base GUI toolkit. But it seems like there should be a place to maintain a list of add on components, similar to what the wxCode site was. There are some extremely valuable tools that aren't immediately apparent.
You are right that out there quite a number of useful components for wxWidgets-based applications exist. And of course, it would be nice to have some sort of central register where one would find descriptions of existing components. However, this would require that someone adopts the task of maintaining such a list. The wxWidgets core developers definitely will not do that.
samofvt wrote: Wed Oct 13, 2021 8:16 pm Questions:
  • Would there be support for a re-development of a "wxCode" type repository site? It wouldn't happen unless the current core developers of wxWidgets were behind it, or at least in relative agreement.
In principle, it would certainly be nice to have some sort of component catalog. And the wxWidgets core developers will certainly not be against it; however, they will not take the burden to maintain such a catalog.
samofvt wrote: Wed Oct 13, 2021 8:16 pm
  • Where could the site be hosted? I envision the need for a database driven site, with an easy to use "administrators" back end.
A separate (real or virtual) web server would give the freedom to set up databases and so on. However, this also would bind the project to dedicated persons with knowledge how to maintain that server. And that's not such a good idea. It would be better to use existing infrastructure like GitHub, so that other persons can overtake easily if necessary. Ideally it would be a subproject of the wxWidgets GitHub organization.
samofvt wrote: Wed Oct 13, 2021 8:16 pm
  • How could such a site be funded? The site development could be very affordable (I'd be happy to do it for a nominal cost), however paying for the server space would require annual support. Would a fund raising drive, something like Wikipedia does, be possible or advisable?
IMHO funding is not the main problem, long term maintenance is, however.
Kvaz1r wrote: Thu Oct 14, 2021 8:07 am
doublemax wrote: Wed Oct 13, 2021 9:47 pm However it would be nice to have some kind of categorized catalog that lists GitHub pages for wxWidgets extensions that are relevant today. Maybe even a sticky thread here in the forum might do the trick. What do you think?
I think it's a good idea - make some list with extensions, tutorials, best articles, ... Something like Awesome Gio for Gio (Go Gui library), but more strict because wxWidgets is mature product and Gio isn't. And forum thread for discussing.
IMHO Kvaz1r's proposal would be a good option, if such a project Awesome wxWidgets (or whatever the name should be) is a subproject of the wxWidgets GitHub organization.
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: State of the WX

Post by doublemax »

TBH, i don't think there are so many projects that we need a database backend or anything fancy. I'd be struggling to get 10 together, but maybe i'm just living under a rock and there are many more. But i'd like to limit it to projects that are of high quality, production-ready or close to it and whose last activity was not years ago. Stuff like wxSQlite3, wxPdfDoc, wxDatabase, etc.

For now i'll start with a sticky thread where we just link to the projects and maybe a short description. This could easily become a single page on the official wxWidgets website, which is part of the GitHub repo, so people can make pull requests if they want to add or edit an entry.
Use the source, Luke!
utelle
Moderator
Moderator
Posts: 1128
Joined: Tue Jul 05, 2005 10:00 pm
Location: Cologne, Germany
Contact:

Re: State of the WX

Post by utelle »

doublemax wrote: Thu Oct 14, 2021 10:34 am TBH, i don't think there are so many projects that we need a database backend or anything fancy.
I fully agree. A carefully maintained list with some grouping (like components, applications, wrappers, tutorials etc) would certainly serve the purpose well.
doublemax wrote: Thu Oct 14, 2021 10:34 am I'd be struggling to get 10 together, but maybe i'm just living under a rock and there are many more.
I just took a quick look at GitHub. Searching for projects which are somehow related to wxWidgets delivers a list of 1540 repositories. I checked for the dates of last commit:

Last update in
  • 2018: ~150 repositories
  • 2019: 175 repositories
  • 2020: 300 repositories
  • 2021: 372 repositories
That is, roughly 65% of the repositories were updated within the last 4 years. Of course, this doesn't say anything about the quality and the usefulness of those repositories. Therefore it would need a detailed survey, before including any project in some sort of catalog.
doublemax wrote: Thu Oct 14, 2021 10:34 am But i'd like to limit it to projects that are of high quality, production-ready or close to it and whose last activity was not years ago. Stuff like wxSQlite3, wxPdfDoc, wxDatabase, etc.
Also fully agreed. However, I would not exclude a component simply based on last activity. For example, since the first release of my component wxChartDir there was almost no activity for about 3 years (functionality was complete, no bug reports, and no update of the underlying ChartDirector library). Only this summer a new major version of the ChartDirector library was released, and I updated my component.
doublemax wrote: Thu Oct 14, 2021 10:34 am For now i'll start with a sticky thread where we just link to the projects and maybe a short description. This could easily become a single page on the official wxWidgets website, which is part of the GitHub repo, so people can make pull requests if they want to add or edit an entry.
IMHO grouping links in certain categories (components, snippets, tutorials, applications ...) and adding a short description would be very important.
Post Reply