I have a tiny thing working using Dear ImGui and written in Haskell, using very basic DSP code. One can feel what you tried to describe, but to make it a full system would be a huge amount of work rs))))))
But it’s true, those new immediate GUIs are really what you described. (Those GUIs are made for game debug/dev, not for making regular apps, maybe that’s why it fits audio/live coding, even this sort of smalltalk playfulness).
Interesting, those floating widgets on a ‘desk’ makes me think of the Bespoke Synth graphical interface. But what is the ‘desk’ exactly in your story, is that provided by egui by default (for native /desktop applications)? Are there similar GUI libraries for C/C++ ?
Dear ImGui is C++, with bindings to some other languages. I don’ t know about egui, I think that’s Rust only. egui is prettier, dear imgui more used behind the scenes by game devs, but they are equivalent in features I think
Immediate mode GUIs aren’t really a good fit for stuff like IDEs, or more complicated layouts.
They’re pretty good for throw away User Interfaces, and I think would probably be a good way to replace the existing GUI toolkit in SuperColliders.
egui is prettier, dear imgui more used behind the scenes by game devs, but they are equivalent in features I think
I’m pretty sure you can make imgui prettier. It’s just the defaults for EGui are a little better (neither are awesome in my opinion). Similar libraries are Nuklear and RayGui (both of which are super simple C libraries - and great for integrating into other languages). Nuklear is I believe a little more advanced that RayGui, though I haven’t used it.
ImGui is fine if someone has developed good bindings for your environment. It’s kind of a pain to use if they haven’t (due to being a C++ library, ABI, etc).
Obviously if you’re using C++ then it’s great - but as someone who loathes the language I’d prefer not to
I see an interesting interaction with still a text-based programming, but nothing is forbidden in terms of annotation, GUI, connected graphs, etc All in the same " desk" or workspace.
Another positive aspect of Imgui is that it’s not only free software, but it doesn’t depend on anything. There is no drama about what will happen with qt, for example. And many people just write their own widgets, which others can also use.
Dear Imgui and egui both have text/code editors as widgets (even with syntax colorizing) , but, of course, it’s not comparable to popular IDEs. They also have graph editors, which would be idiomatic to node connections, for example.
I don’t see myself programming with anything similar to PD. But the integration with graphics is something I would really much want. I think something like how APL plots their arrays, or jupyter notebooks plot graphs, or even musical scores if you import abjad. Something that doesn’t require one to waste time coding a custom GUI, but something that is part of the workflow.
The server node tree visualization in SC, for example, is very raw. It could provide more, and incorporate annotation by default, for example.
Even for debugging and optimization of short code blocks, it would be useful. For example:
Those Nuklear / egui widgets could as well be small TUI applications in a tmux session maybe. Functioning as a from SC decoupled GUI which communicates with sclang using OSC.
Shenzhen (China) is 70% less expensive than New York and is doing more advanced engineering work today than anywhere else. New York is pure decadence (I consider myself a bit New Yorker so don’t be offended there). Would be interesting to know more about how free software happens there. I’ve been told that among companies, they share a lot (and probably use another term, of course). Let’s expand our community, which is international already.
This is true, we will never just “replace” sclang. We might create new things, borrow sclang ideas, etc. Changing syntax is not the end of the world. It’s life.
I just disagree with comparing it to Lua, which is a very poor language. The author himself is very humble about what the language is (he is from Brazil. I’ve seen a few interviews/talks), and he is always talking about Haskell, he wanted to write a research and feature-rich instead, deep down.