![]() |
|
![]() |
| I'm sure Clojure is a great language for some tasks...
But, looking at the examples (picked the Wordle one since I know that game): https://github.com/HumbleUI/HumbleUI/blob/main/dev/examples/... I find it extremely hard to read. Even small snippets, say line 56 to 74 which define this "color", "merge-colors" and "colors"... then the "field" one lines 76 to 117 is even harder. is it more natural read for people familiar with writing functional programs? (am I permanently "broken" due to my familiarity with imperative programing?) I wonder what the same Wordle example would look like in, say pure Flutter. Also wonder how would that code look with external dependencies (say hitting a server to get the word of the day), and navigation (with maintaining state in between those pages) |
![]() |
| Kotlin time (since we're in the JVM context for Clojure)
|
![]() |
| > I know which one I'd prefer to grok at 2AM with alerts going off.
At that time I'd just opt for sleep. Or sex. Or drink. Reading code doesn't belong to things one should do at 2AM. |
![]() |
| No. We didn't. At least not we all.
That's just a myth spread by a few workaholic programmers. Luckily, there are enough 9-5 programmers to clean up the mess created by those 2AM committers. |
![]() |
| And here's what cond could look like in Python syntax:
|
![]() |
| I mean if the checks are expensive and it's on hot path, then that's wasteful.It might also require then to use more nesting of IFs which isn't necessarily nicer. |
![]() |
| It's just a matter of familiarity. If you showed me an article written in Italian I would struggle to read it, but that's not because Italian is inherently an unreadable language. |
![]() |
| (i'll just make it clear that indentation matters to users as a strongly recommended convention for ease of reading. to the interpreter, you can write everything on a single line) |
![]() |
| It's readable, your (justified) problem is with his names. There's no language where "colors" and "field" will be descriptive function names that make it clear what's going on. |
![]() |
| The readme says it is aiming for a “web look”, with no intention to make it look — and, presumably, behave — native. As a user, that’s not what I expect and hope for from a desktop application. |
![]() |
| > even the Gnome team
People like to hate on them, but their design is actually really good, innovative and the applications running on GTK are incredibly fast and stable. |
![]() |
| Not really. VS Code does have some performance optimizations where even the web browser optimization wouldn't suffice, for example it implements its own scroll bar instead of using the web native scroll bar. But for the most part the browser render optimizations is the crucial factor. After years of optimization you can't easily beat a web browser.
Native app is just another set of layers of abstractions. As a comparison, SwiftUI doesn't render 500 items quickly enough (https://www.reddit.com/r/swift/comments/18dlgv0/improving_pe...), which is a tiny number for web. |
![]() |
| Unless you think native UI runs on magic - it's not that hard to outperform native rendering - you have to be way less general with a bespoke framework (up to a certain point of complexity). |
![]() |
| that is precisely what people in this thread are talking about - users want native performance and memory footprint, they aren't concerned with native look and feel. |
![]() |
| That’s not accurate, there are cross-platform toolkits that achieve at least a close-to-native look&feel. This is very different from giving up on it entirely and going web-style UI. |
![]() |
| If they use native widgets, they usually look really bad
If they just “imitate” look and feel, they usually fall very short of the real thing
Either way, it’s bad experience for the end user |
![]() |
| Really could use a link to the API docs in the README.md, it is a bit hard to judge when the "documentation" such as they have so far is sparse. But it is nice to see a newish UI project.
I will say I've found Clojure to be a success story for doing GUI work. Projects like Dave Ray's seesaw (https://github.com/clj-commons/seesaw) are an amazing demo of how one man can rearchitect an API like Swing into something that is deceptively fun to use. High hopes that this project goes somewhere that is similarly enjoyable. |
![]() |
| I found this dimension of the analysis:
> People prefer native apps to web apps > Java has “UI curse”: Looked bad to be at odds with this aspect of the design: > No goal to look native > Leverage Skia |
![]() |
| Question about native integration. Does the framework support documents on a native level? Can I define a file type that opens the app when double clicked, maintaining the windows and data, etc? |
![]() |
| I’ve gone over the readme, what part would you say is them dunking?
Like, honest question, I do agree with most of their points and don’t think they’re presenting them in a too harsh way |
[1] https://www.formdev.com/flatlaf/
[2] https://github.com/clj-commons/seesaw