HACKER Q&A
📣 superdisk

What's the ultimate language/environment for developing GUI programs?


I'm planning on developing a new personal project which involves a nontrivial GUI interface. I also want to do this project in the most comfortable way possible-- I'm open to new/exotic languages or stacks which I've never used before. There doesn't seem to be a perfect environment out there as they all have their drawbacks.

Here's what I've considered:

- Pascal and Lazarus

The language isn't the most expressive but it gets the job done. The UI toolkit (Lazarus) is hyped up a lot here but the documentation is horrendous and it seems to have DPI issues and a lack of good controls that I'd need. Creating new controls seems to be a nightmare. This is what I'm leaning towards right now anyway.

- Common Lisp and QTools

I haven't given CL a proper spin yet and it looks super fun to work with. Unfortunately the QT bindings out there aren't declarative or visual so it's going to be a huge pain to do this. Not sure how creating new controls is going to be.

- Red and VID

(https://www.red-lang.org/?m=1) I like this language and the declarative UI framework. However the language is in alpha and the docs are nonexistent. Not sure if this is viable.

- Smalltalk and Morphic

Cool language, but the resulting program is going to look super non-native and weird. A friend described it as looking like "a fake operating system you see in TV shows". Also, the documentation is nonexistent.

- JavaScript and HTML

I'd prefer to not write JavaScript, and the resulting app is going to look really non-native or hodgepodge. Deploying on the web is sort of a plus, but at the end of the day I'd really rather not do this.

Does anybody know of the perfect language and setup for creating a classic GUI app in this day and age?


  👤 9214 Accepted Answer ✓
> Red ... docs are nonexistent

On the contrary, View and VID have moderately good reference documentation [1]. Even if that's not enough for you, the community is always there to help [2].

> Not sure if this is viable

To give you a rough understanding of what's possible, the implementation of all 7GUIs [3] tasks in Red takes roughly 270 LOC [4]. There are plenty of other examples at [5] and elsewhere.

[1]: https://doc.red-lang.org/en/gui.html

[2]: https://gitter.im/red/help

[3]: https://eugenkiss.github.io/7guis

[4]: https://github.com/9214/7guis-red

[5]: https://github.com/red/code