Makes it that much more absurd that tooling on modern platforms isn't anywhere near this level of discoverability and developer-friendliness.
I'm not sure if that's the right term, but by discoverability I basically mean having things like pallettes, property editors, visual builders, codegen... Basically that I can look at the pallete of widgets, drag a button onto the screen, click on it, see and rich-edit all the possible properties about the button, one-click codegen an event handler for any possible event of the button... No documentation, no guessing the names of properties of events, everything is just there right in front of me. I miss that from VB.
Drag-and-drop visual design is the best possible approach until you add the constraint that the window has to be resizable. Then it turns into endlessly messing with the anchoring and resizing settings for each individual widget, and whenever you add/remove a widget or change the form layout you have to mess with everything again. The best experience I've had with UI development is on Palm OS, simply because all devices have the same 160x160 logical resolution and all software runs in fullscreen. You never have to worry about resizing anything so drag-and-drop design with everything just placed on absolute coordinates becomes feasible.
Being able to drag a control onto the form and then double click it to get to the event code is just magical. I remember very well clicking around and building things for several hours before reaching for a docs back in the day.
> by discoverability I basically mean having things like ...
intuitiveness?
Uhm, have you tried Visual Studio with C#? It's the direct descendant of this.
Winforms is a little dated, but much, much closer IMO to VB6. Xaml makes prettier UIs, but it's a bastardized hybrid of drag-and-drop and html.
When it came to Blazor, MS just gave up on drag-and-drop UIs.
VB6 sure looks nice, but I promise it was a hostile mess for anything besides simple GUI apps.
Also, trust me, the VB6 interface hits a lot different (which is to say: worse) on a cramped 800x600 or 1024x1768 monitor than whatever spacious thing you're probably viewing it on. =)
I can think of a few concrete reasons why.1. The VB6 UI element palettes work well because there's essentially a 1:1 correlation between the icon and the thing it produces when you drop it onto the canvas. That works well for visual elements but less well for things that don't have visual analogs.
2. Toolbars/palettes don't scale well past a few dozen items, whereas a VSCode-style command palette or text command autocomplete can scale nearly infinitely.
3. The way HTML works is a totally different paradigm than VB6's fixed grids. Obviously (as this demo shows) you can do that in HTML, as long as you're willing to ship stuff that kind of works like a VB6 app.