ImRAD is a GUI builder for the ImGui library
Overall Reaction
- Many commenters are enthusiastic; they see ImRAD as “the missing piece” for Dear ImGui and a big time-saver for layout work.
- Several people with existing ImGui projects say this would have saved them many hours of iterative compile–run–tweak cycles.
- Newcomers to ImGui are told that the main benefit is visual, live layout and reduced boilerplate.
RAD Nostalgia and Comparisons (VB6, Delphi, Lazarus, etc.)
- Strong nostalgia for Visual Basic 6 as the fastest RAD experience; several argue Delphi and Lazarus equaled or surpassed it in capability and language power.
- Lazarus is praised as cross‑platform and highly capable, but some see Pascal as a barrier due to ecosystem size and syntax preferences.
- There is desire for a VB6‑style RAD experience in modern ecosystems, especially Python; existing tools (e.g., Qt Designer) are seen as imperfect.
- Some discuss C++‑oriented RAD options (C++ Builder, U++, Slint), and note how hard it would be to bolt full C++ support onto Lazarus.
Language, Ecosystem, and Interop
- One theme: rich ecosystems (e.g., Python) often beat “nicer” tools when you need libraries.
- Others counter that Pascal/Free Pascal can interoperate via C ABIs, bridges, and bindings, but this takes effort and knowledge.
C++ Parsing and Codegen in ImRAD
- Several highlight the hand‑rolled C++ subset parser as impressive and somewhat “crazy,” given C++’s parsing complexity.
- It appears to tokenize/lex and support just enough constructs (including some STL containers) to round‑trip the code it generates.
- Code generation and a kind of ad‑hoc AST live in a large source file; some see this as a notable engineering choice.
WebAssembly vs Native for the Builder
- Some want a WebAssembly/HTML5 version to make it trivial to “open a page and design a UI.”
- Others argue native binaries are simpler, faster, and provide better UX; opening a web page ultimately also depends on native binaries.
- There is mild debate about whether wasm performance is “a whole other level” away from native or close enough for this use.
ImGui, Immediate Mode, and Performance Concerns
- Discussion veers into immediate‑mode vs retained‑mode GUIs, with clarifications that “ImGui” can mean both the concept and Dear ImGui.
- One side argues modern hardware makes constant re‑rendering acceptable; another insists redrawing without need wastes CPU and battery.
- Some draw analogies to React’s “immediate‑style” API layered on a retained renderer, and note terminology and semantics often get muddled.