State of the WX Topic is solved
State of the WX
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
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
Re: State of the WX
Certainly an exaggeration back then. However, Java is still among the top 10 programming languages.
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.
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.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).
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.
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.
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"?
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Re: State of the WX
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.
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.
Re: State of the WX
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.However, there are some things that don't work on one platform.
And you'd have trippled your time your and effort.FWIW, I'd go ObjectiveC/Cocoa on OSX, C/Win32 on MSW and C/X11 on Linux.
Use the source, Luke!
-
- Earned some good credits
- Posts: 119
- Joined: Wed May 19, 2021 11:17 pm
- Contact:
Re: State of the WX
This is true. The value of WX is in providing a single programming interfacedoublemax wrote: ↑Sat Oct 09, 2021 5:20 pmThese 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.However, there are some things that don't work on one platform.
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.
And you'd have trippled your time your and effort.FWIW, I'd go ObjectiveC/Cocoa on OSX, C/Win32 on MSW and C/X11 on Linux.
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.
Re: State of the WX
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.utelle wrote: ↑Wed Oct 06, 2021 2:11 pmCertainly an exaggeration back then. However, Java is still among the top 10 programming languages.
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.
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.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).
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.
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.
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"?
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.
Re: State of the WX
JDK 1.0 was released in 1996 (well, '95 in Beta). So you were probably thinking late 1990-s, right?
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.
That's really a bold statement, but pretty much just that. As it cannot be measured, it can only start polemics.PHP has made more advancements than java, imho, over the past 20 years. By a LONG shot.
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.
Re: State of the WX
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.catalin wrote: ↑Mon Oct 11, 2021 7:54 amJDK 1.0 was released in 1996 (well, '95 in Beta). So you were probably thinking late 1990-s, right?
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.
That's really a bold statement, but pretty much just that. As it cannot be measured, it can only start polemics.PHP has made more advancements than java, imho, over the past 20 years. By a LONG shot.
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.
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.
Re: State of the WX
Hi,
And hopefully never will.
BTW, Fortran was (and is) an amazing language and its Math library is a killer. Even now.
Thank you.
And hopefully never will.
BTW, Fortran was (and is) an amazing language and its Math library is a killer. Even now.
Thank you.
Re: State of the WX
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:
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?
Re: State of the WX
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?
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!
Re: State of the WX
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.
Re: State of the WX
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.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.
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.
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 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.
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.
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.
IMHO funding is not the main problem, long term maintenance is, however.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 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.Kvaz1r wrote: ↑Thu Oct 14, 2021 8:07 amI 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.
Re: State of the WX
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.
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!
Re: State of the WX
I fully agree. A carefully maintained list with some grouping (like components, applications, wrappers, tutorials etc) would certainly serve the purpose well.
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
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.
IMHO grouping links in certain categories (components, snippets, tutorials, applications ...) and adding a short description would be very important.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.