Re: List all GUI toolkits for SDL
"j_post" <[email protected]>
| Newsgroups | gmane.comp.lib.sdl |
|---|---|
| Message-ID | <[email protected]> |
On Sunday 11 September 2016 13:48:12 actsl wrote: > > Right but, the complexity of the code cannot be completely hidden, and > attempt to do so may decrease the freedom of the user to do what the user > wants to do, or what may be necessary to do in some case. > > But as i said, this is only one aspect of comparing the libraries, i agree > that it no way says everything about the code or the library, other > features have to be considered also to meaningfully compare. Yet the > number of lines of code is one important aspect in comparing the codes. > I would say that lines of code is of relative unimportance. Decades ago, when computers were *slow* compared to today, I wrote some software that was heavily table driven. This increased lines of code immensely compared to algorithmic computations, but it was blindingly *fast*, which was one of my primary objectives. It was also conceptually simple and therefore easy to maintain. I believe that the most important aspect of software is summed up by what I would tell the programmers who worked for me: "I don't care how difficult it is for you to write the code, I care about how easy it is for the customers to use." Beyond that, I think the most important characteristics of good software are, in no rigorous order, Algorithmically correct: it does what it's supposed to do and nothing else. It is essentially bug free in that unusual circumstances, such as unexpected input will not cause it to do anything insane. Simplicity: it should be easy to maintain. Flexibility: it should be easy to add new features or modify behavior. If it involves a GUI, it should be intuitive and pleasant to look at (which IMHO kiss_sdl is not - the graphics are too primitive). If it doesn't have a gui, it should be intuitive and easy to use. And so on... I'm not trying to write a treatise on good software design. Lines of code is near the bottom of the list. I did take a very brief look at your code, with a view to adapting it to SDL 1.2. I have a lot of code using 1.2 and rather than rewrite it for 2.0, I think it would be easier to just rewrite it in Java, which also takes care of porting issues - specifically that Apple intentionally makes it difficult for 3rd party developers to compile code for Macs. I admit I didn't have time to look at your code in more depth, but at first glance it didn't seem to be all that easy to modify it for SDL 1.2 (and then there's the graphics issue). Nevertheless, I would encourage you to continue working on kiss_sdl, but don't get hung up on lines of code. Keep It Simple is not the same as keep it short. Jeff