upvote
Perhaps a better way to look at it would be to say that Visual Studio had a resource editor UI, basically a frontend to a resource file - that's it.

In contrast, Delphi provided you all the UI code by default, so even if you did not write a single line of code, your program ran and displayed a window or dialog with all the UI elements you could interact with. This was a higher level abstraction (one could argue VS did not even have an abstraction - you still had to code your window procedure from scratch. MFC was the first real attempt at simplifying UI code, but you still had to write code...).

But it did not stop here: it was trivially easy to add a database "connection" to your app (IIRC it was represented by a UI element that was not actually displayed), just provide the connection parameters, connect it to a complex UI element like a table, and voila - you had a live database view within 5 minutes.

reply
Yeah, a lot of non-visual components still require (or want) you to drag-and-drop them in the builder and edit many or most properties there. It's a weird thing to adjust to, and it often leads to a very cluttered view if you have a lot of them. Conversely, a cluttered view with a ton of non-visual components can be a very easy-to-spot signal that you might be trying to do too much in one screen.
reply