When Visual Basic came out, it was revolutionary for its drag-and-drop GUI designer, allowing users to quickly create GUI programs. This video shows Bill Gates introducing it in 1991. Did drag-and-drop GUI designers exist before this? For example, did Apple have a similar tool to design GUIs for the Macintosh 128K, or did people have to type code to position controls on the screen when using the Macintosh?
-
3I bet it originated in the Xerox PARC/Smalltalk community because they pioneered both GUIs, IDEs, and WYSIWYG editing. They definitely used interactive development environments where the running program could be inspected and modified on the fly. But I don't have a good reference for that at hand. Many Xerox PARC ideas on GUIs were popularized by Apple with its Lisa and Macintosh products, and Objective-C merged high-level Smalltalk OOP features with the more efficient C language.– amonCommented Jan 1 at 8:31
-
1Indeed, it was probably Smalltalk's IDE. Here a demo of the Smalltalk-80 verdion from the records of a conference held in 1983: m.youtube.com/watch?v=JLPiMl8XUKU– ChristopheCommented Jan 1 at 10:40
-
1@JörgWMittag: I don't know about Alan Kay's mindset, but my sense of aesthetics tells me that for creating graphical parts of a program using a graphical tool feels much more natural than using a textual description. And I am sure I am not alone with that opinion.– Doc BrownCommented Jan 1 at 18:13
-
1@DocBrown, worth remembering that the VB forms designer produced a scripted version somewhat similar to VB itself - so there was never an absence of script. In DotNet, this was carried through to its conclusion, and the forms designer produces bona fine VB.NET/C# code. One of the most beneficial aspects of Microsoft software is that almost anything achievable through the GUI has either a scripted representation, or a scriptable alternative for automation.– SteveCommented Jan 1 at 21:12
-
1@Steve: mostly true, still my comment adresses the idea of " a GUI as a naturally emerging property of the Domain Model" - which I think is, honestly, overidealistic nonsense. The representation you are talking of are mos easily and naturally edited with a graphical designer, even when they are technically textual, which sometimes allows some direct tweaks with a text editor - but that is not what I am talking of.– Doc BrownCommented Jan 1 at 21:43
3 Answers
HyperCard for the Macintosh, an application development tool with an integrated database, scripting, and drag-n-drop GUI builder was released in 1987 - several years before Visual Basic.
-
1I'd say the main difference is that Hypercard wasn't intended as a general development tool, but something to allow end-users with little programming knowledge to put together simple apps. VB was much more ambitious than that.– rbanffyCommented Jan 10 at 1:23
I believe NeXT had its Interface Builder tools a couple years before the first VB iteration (not sure when Alan Cooper started his work, but IB predates VB 1.0). It's descendant of another tool built for ExpertLisp that was later incorporated into NeXTStep from release 0.8 (see https://en.wikipedia.org/wiki/Interface_Builder).
Most of what VB 1 would be was in IB, with the exception of the automated code generator for event handlers (linking controls and code was a separate step in IB). Worth noting is that a direct descendant of IB is still part of modern Apple macOS developer tooling.
ACM's SIGCHI Bulletin from January 1990 has an extensive review of it, with mentions to other tools of lesser scope that preceded it: https://dl.acm.org/doi/pdf/10.1145/379088.379102
-
1And the Classic Mac had drag and drop visual designer before either via ResEdit, although it didn't allow you to hook up the UI to your code automatically.– jmorenoCommented Jan 5 at 0:51
I'm not aware of any direct predecessor to Visual Basic. It was regarded as a novel idea that later products emulated, and the commercial development took place entirely in-house at Microsoft.
I also don't think Visual Basic is as little as a drag-and-drop forms designer, but a complicated (and not necessarily obvious) integration of a number of elements including the forms designer, the language, the standard library built around Microsoft COM, and achieving all this with reasonable performance on a standard PC of the era.
The use of Basic itself as the language in Visual Basic is directly attributable to Bill Gates, as he had written Basic compilers personally earlier in his career, and was known to be enamoured with the language and a champion for it within Microsoft.
Alan Cooper is credited with originating a prototype implementation of a drag-and-drop forms designer on Microsoft Windows, that later became part of Visual Basic, and for originating some of the skeuomorphic terms it uses.
I don't think it's necessarily reasonable to assume no person had ever had the same general idea about a drag-and-drop forms designer before Cooper.
Electronic hardware designers were long-accustomed to using standard components - buttons, indicator lights, segmented/dot-matrix displays, etc. - to design physical control panels.
And "desk top publishing" was a new thing in the print industry in the 80s, using GUIs to computerise design tasks that formerly were done by hand, including laying out newspaper pages or designing printed business forms.
Even the screens of character-based terminals were usually first designed visually on special graph paper, and then analysed by the programmer into a coded reproduction that would draw those layouts and implement the dynamics.
And Windows itself already incorporated the concept of standardised controls as an OS feature - it was just that, before VB, you had to directly code their layout.
But as I say, I don't think VB is just the forms designer, and I think Cooper's contribution was not conceiving the very idea of a forms designer, but making a plausible implementation work on the Windows platform (and having done so, happening to be in a position to demonstrate it personally to Gates and catch his attention with it).
There would bound to be many similar or embryonic examples of forms designers, arising independently at a similar time as Cooper was working, and which capture just the drag-and-drop aspect.
Many attempts would never have been commercialised and would have quickly foundered on poor performance or limited functionality, because they didn't ultimately integrate all the ingredients of Visual Basic. All failed attempts will also now be forgotten.
-
1May I suggest to include this reference: Something pretty right - The history and legacy of Visual Basic ? Commented Jan 2 at 8:56
-
-
1@RibaldEddie, how about you give us a clue what you think is wrong with it?– SteveCommented Jan 7 at 10:18