Hacker News new | ask | show | jobs
by giancarlostoro 2394 days ago
For that matter, VB, C#, Java and even Delphi all had a RAD approach to developing UIs. Why don't more modern languages work on even a basic UI as part of their standard libraries. What kind of system doesn't have a UI these days? Outside of servers obviously. The closest Go and Rust (modern languages...) are getting to a UI seems to be WebAssembly, which for now points towards an Electron UI solution.

I'm not super familiar with SLIME, but that's the goals of LangServ is to consolidate everything into a known protocol. There's also a spec for debugging.

Oddly enough the Wikipedia page for SLIME doesn't seem to mention Racket[0], but it does mention Clojure.

[0]: https://en.wikipedia.org/wiki/SLIME

1 comments

A flexible UI library that is up to modern expectations is complex and hard. It is even harder if it is supposed to be cross platform. So the only realistic option is to bind to a good existing library. However, these are all written in C++ and hard to bind to anything else. Gtk isn't sufficiently cross-platform to be attractive.

In the end, this is a project that is at least as much effort a creating a programming language.

And here are UWP Apps. They are based on a vNext edition of COM and use language projections to enable a OO-style usage in C#, JavaScript, C++. Actually works. In the end you work in the languages with these objects like any other object in that language.

It is possible, just require major engineering smartness (like writing and improving compilers, code generation, etc).

Hell, it doesn't even have to be ultra advanced. Something close enough to Tk (not GTK, but Tcl/Tk which gets used by Python and a few other languages) would be fine in my book. It is simple, and a start, and allows the community to derive from a working solution to form amazing alternatives.

In fact... Racket has their own UI approach, but I'm not sure if it's just GTK under the hood or what, but it works cross platform.

You're pretty much making my point for me, aren't you? UWP is a single platform interface only and the development of the bindings has taken a tremendous amount of work, as you say yourself.

Projects like sip and PySide show how much effort it takes to make Qt bindings form Python.

And all of this discussion just the bindings, not the actual widget libraries themselves and the effort that goes into those.

Yepp. It is just a sub point I address. That you can successful translate c++ UI libs into other languages.

But generally, you are right. Language development is expensive enough. UI stack development is in difference to class lib development not a duty of a language developer.