I ask it because, i compare the complexity of my GUI widget toolkit to the complexity of other widget toolkits, and all these toolkits including mine are generic. Like my widget toolkit is 10 to 60 times less complex than many other widget toolkits, the complexity of the other toolkits also varies. And i get answers like, complexity doesn’t matter at all.
I say that complexity does matter. First complexity can never be completely hidden. But second, when a toolkit has to be easily changeable, so that one can easily change completely everything in the code, then the length of the code matters. And the learning curve also depends on it, in several ways, being able to read the code because it’s shorter, helps to understand how it works. And being able to immediately control everything what it does, also helps to understand it more.
So who says complexity doesn’t matter, what do they say then matters? Short learning curve? But some say that it’s the better the more features the widget toolkit has, and learning these features makes the learning curve longer, so learning curve also then doesn’t matter. How well does it work matters? But when it works worse, then it may just need a longer learning curve to learn all its deficiencies, so how well it works doesn’t then also always matter.
The only reason why i wrote my widget toolkit was that it had to be small and everything there has to be easily changeable, also that the user has to be able to immediately code what it does. Besides having to be completely faultless. If that all didn’t matter, then by that my widget toolkit were completely useless. Is it true?
Some say try this GUI toolkit and try that GUI toolkit. But as i see it, what concerns GUI toolkits, it is not a matter of trying. Because all generic GUI toolkits, even if they are made as simple as ever possible, need some learning. Which means that the user has to decide what GUI toolkit to use before trying it. I dare to say that my toolkit is easy enough to learn, so that when it really happens that it’s not good enough, then one can afford to forget it and learn another one, i doubt that this will happen, but this is not always the case.
I think when one needs a generic widget toolkit that is not complex, then this should be immediate GUI, because it is more direct and thus less complex. The original immediate GUI is imgui https://github.com/AdrienHerubel/imgui , this is the most classical but this is for OpenGL. Immediate GUI, or i call it principal GUI as it goes further, is my GUI toolkit for SDL2 https://github.com/actsl/kiss_sdl , this is not only for SDL2, but written in SDL2, that is more than just having a backend for SDL2.
I hope that there is a use of talking about such theoretical issues, though there has not been much of such theoretical talk.