2 ms·
Ignoring for a second that "Slint" is only slightly better than "60fps" as a name for a GUI library, I think using a custom domain specific language for configu
by CyberDildonics 3y ago
Ignoring for a second that "Slint" is only slightly better than "60fps" as a name for a GUI library, I think using a custom domain specific language for configuration is a giant mistake.
It really is not difficult to just call functions to set values. Laying out GUI components is also rarely what takes time when doing GUI programming.
A brand new custom domain specific language has almost no benefits but has huge downsides like having to learn brand new syntax, complete with error messages and debugging. Then you probably have to change GUI values dynamically anyway inside your program. All of this is on top of the added bloat, which itself is strange for a 'embedded usage'.
I think a lot of newer GUI libraries would be better off porting FLTK to work on their platform, it is very simple and easy to understand underneath.
- ogoffart 3y agoDSLs are not inherently more difficult to learn than API and conventions of a complex GUI library. DSL offer benefits in terms of expressiveness and conciseness. The focus in UI programming is on rapid iteration and immediate results, which can be facilitated by a live preview in the IDE made possible by a declarative DSL
- CyberDildonics 3y agoDSLs are not inherently more difficult to learn than API and conventions of a complex GUI library In theory maybe, in practice the indirection and extra layer of syntax, error handling, documentation and edge cases mean this is not true. Also this is an assertion without any evidence. DSL offer benefits in terms of expressiveness and conciseness. Prove it. The focus in UI programming is on rapid iteration and immediate results I have never thought that setting up values through functions was not rapid. It has never been a bottleneck or time sink when making a GUI. Unfortunately, using custom markup languages that don't work like they say they should has been a time sink. which can be facilitated by a live preview in the IDE made possible by a declarative DSL My experience is that this is very minor in terms of overall utility and doesn't actually require a custom markup language.