Live data from Hacker News

Something Pretty Right: The History and Legacy of Visual Basic

retool.com

121–130 of 269 posts

Re: Something Pretty Right: The History and Legacy of Visual Basic

#121

The WYSIWYG GUI builder that VB provided, I have never encountered afterwards again in quite that manner. Now, in VBs heyday the field of UX design we now have as a profession adjacent to software development was in its infancy and was usually an implicit part of the developers job. What was lost with the demise of the RAD tools was a potentially shared medium of expression. Today designers build Potemkin villages in…

The WYSIWYG GUI builder that VB provided, I have never encountered afterwards again in quite that manner.

At the time I think delphi did that concept in a better way, and I definitely switched from VB to Delphi as soon as I learned about it. Delphi still exists to this day.

There are also many low code platforms which have a VB-like UI builder, like mendix, or outsystems or microsoft’s power platform, but they tend to be a bit too enterprisey where VB was really the people’s champion.

I think canvas apps in power platform give much of the “feel” of dragging and dropping visual basic forms and let you build actually useful stuff, while targeting web and mobile. The downside of power platform is that as soon as you try to do anything serious with it you need the premium stuff and end up paying a lot. That makes it less suited to take up the niche that VB and Access had, because that niche mostly can’t afford power platform. Contrast that with scratch which is free to use and has a large community of “regular people” sharing cool stuff. Intuitively it seems that Microsoft should make power platform entirely free and use it as a lure for azure paid services, but then it is easy for me to spend their money.

By the way, I still don’t understand how power apps on iOS are according to apple’s guidelines, because you can use it to ship mobile apps to iOS users while entirely bypassing apple.

Re: Something Pretty Right: The History and Legacy of Visual Basic

#122

Earlier quoted context omitted.

> visual programming has never taken off, despite countless attempts over the past few decades. It has, in some niches like Unreal Blueprints. I think one of the reasons it doesn't become more popular is because most visual programming is just a more cumbersome and slow way of programming. It's stringing the same concepts together in the same way, but slowly and tediously with a mouse. Non-tech users wouldn't know wh…

> It has, in some niches like Unreal Blueprints. [...] I think one of the reasons it doesn't become more popular is because most visual programming is just a more cumbersome and slow way of programming. It's stringing the same concepts together in the same way, but slowly and tediously with a mouse. The latter bit basically perfectly describes Unreal Blueprints :-P. It was hyped when it first came out and for some ti…

The thing is, using modules it should be possible to create even higher-level concepts, so things should become more expressive --- that's how I work in BlockSCAD.

The problem always becomes such expressions become just a list of names of modules and their inputs, so one is back to the wall-of-text problem which a visual tool is supposed to solve --- the fundamental issue is, "What does an algorithm look like"?

and the solution we need is, "What is the most expressive way to create algorithms"?

Re: Something Pretty Right: The History and Legacy of Visual Basic

#124
post #2

It was surprising to us (here at Retool) that visual programming has never taken off, despite countless attempts over the past few decades. (That's why we started Retool, after all.) But Visual Basic is probably the product that came closest, and that's why we wrote this homage to it. It, along with Filemaker, Hypercard, are products that we loved. And we always wished that they had flourished, since then we wouldn't…

I wouldn't say it didn't take off, it just has 'landed' again somewhere over the last 10-20 years. VB, Xcode Interface Builder, Hypercard, Filemaker & Lotus Notes all had pretty good runs, we just never got something similarly successful for the web & even smartphones, probably due to compatibility issues with varying screen sizes. Once the screen can be wildly resized, it just becomes too murky. Maybe have the progr…

The problem isn't responsive design, GUI builders were able to do that just fine. The problem with making it work on the web was that the dominant design paradigm for web apps was (and to some extent still is) templating, in which there's no clean split between UI layout code and UI controller code and no proper notion of encapsulated components. PHP, JSP, ASP and the tag all mix UI layout with code that works with the database or controls the UI itself. Yet all VB-like platforms require this to be split, because the GUI designer has to be able to edit the GUI code without breaking your app logic too badly, and they really need a strong component model.

How they do this does vary, I don't remember how VB did it but Delphi had a binary file format for describing forms, Java Swing used IDEs with code generation inside magic comments that you weren't supposed to touch, JavaFX and WPF have the cleanest approach with an XML dialect for describing the UI and then the event handlers and controller logic are implemented as classes that are bound to the UI using reflection, Android has something similar, macOS uses NIB files and so on. And they all have a notion of a component being something you can install and treat as if it were one of the built-in widgets. On the web there's no equivalent to this. React sort-of brings components but they don't provide sufficient metadata to be used in a visual designer, and it still mixes code and data together in such a way that visual editors would struggle to not corrupt the user's code.

Ultimately the web came to dominate not because it's a good way to do GUIs. It mostly tossed out what was learned about making GUIs easy to use and develop, because it was never designed to do that in the first place. It came to dominate because it made distribution easy at a time when desktop OS vendors were totally dropping the ball on everything internet related. That's why classical VB-style development app development paradigms dominate on mobile: mobile OS vendors put way more thought into distribution, and that took away the web's primary competitive advantage.

On the desktop distribution can still be quite hard, which is why I put a lot of work into making a tool that makes it drop-dead easy and which gives you the option of web-style forced "immediate mode" updates (we call it "aggressive mode" but that's kind of a dumb name). See my profile for a link. It brings desktop way closer to the web in both UX and DX, which opens up the possibility of VB style development again. Not only for professional devs but also for people who benefit from a lower barrier to entry.

Re: Something Pretty Right: The History and Legacy of Visual Basic

#125
post #22

What are some contemporary clones of VB6, still maintained and useful?

I'm a big fan of twinBASIC, more successor than clone.

It's working on full backwards compatibility with VB6 (and very, very close to it, even many complex UserControls work), with a lengthy list of new features (x64-- through compat. with VBA7 x64 syntax, multithreading (via API for now, native syntax soon), generics, overloading, Unicode-everything, defining interfaces/coclasses in language instead of TLBs, easily makes standard DLLs, Implements-Via syntax to extend classes, parameterized class constructors, can specify UDT packing, bitshift operators, inline initialization of vars, forms support modern image formats/transparency/alpha blending, AddressOf works on class members... well, the list goes on for quite some time: https://www.vbforums.com/showthread.php?890181-TwinBasic&p=5...

One thing I'm sure lots of people here will find blasphemous, it lets you make kernel mode drivers, provided you stick to WDM (you could do this as a hack in VB6, but you had to strip the runtime dependency out-- which dramatically limited usefulness, not to mention no WOW64 for kernel mode. tB has no runtime dependency so all you have to do is avoid strings/variants/most but not all arrays, as those call user mode APIs behind the scenes). Proof of concept: https://github.com/fafalone/HelloWorldDriver

Main downsides are that it's also like VB6 in being closed source/commercial (only restriction on the free version is a splash screen on x64 exes though, and won't have access to compiler optimizations or cross-platform compilation when they're implemented; no restriction on commercial use or royalties), but the creator seems amenable to changing that if it's viable, and since we've had 20 years of no community stepping up for something like this, it's just a practical matter that for one person to do it they'd need income as it's a major undertaking, not something you can do as a hobby with full time employment doing something else, at least if it's going to get done in years instead of decades (*cough* Radbasic, which has made near zero progress after being announced around the same time, and is barely a step above Hello World support).

Re: Something Pretty Right: The History and Legacy of Visual Basic

#126
Wow, brings back lots of memories. In high school I got started writing VB3 for my father's small software development company. I'd end up working full-time there for a handful of years after college, really pushing the boundaries of what one could do with Visual Basic. I don't think there's a single tool or language that I've loved more than it in my entire career.

Twenty-seven years later, still one of my proudest accomplishments is to have had a multi-year project that I worked on featured in "Visual Basic Programmer's Journal".

Re: Something Pretty Right: The History and Legacy of Visual Basic

#127

Couple of thoughts: 1. Microsoft did a good thing at that time with Visual Basic. Building visual interfaces with RAD tools is the most efficient way, as defining visual elements with code is harder. VB was great at its time, Borland Delphi and C++ Builder were good, QT Builder was good, Windows Forms was good. Of course, why use good models when you can inflict pain and let people define UIs by using plain code? WPF…

WPF’s and Android’s approach are the best of both worlds. You get both a visual designer that can get you far, and human-editable XML, which is useful for more complicated layouts or for copy-pasting similar widgets around.

Yes, note that JavaFX has the same approach but also has a visual designer (Scene Builder). It can be used from any JVM language which is a lot these days. Like, you could write a JavaFX app in JavaScript or Python if you wanted to.

Re: Something Pretty Right: The History and Legacy of Visual Basic

#128
Oh this brings back the memories of good old VB6. Never encountered such a simple and easy to use UI builder after that, probably because I left MS ecosystem for more open technologies. Just drag and drop. Double click on the component and start coding. How simple was that.

Re: Something Pretty Right: The History and Legacy of Visual Basic

#129
post #28

Hilarious quote (notwithstanding the fact that bus drivers usually have to work shifts, also on weekends): > Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did. They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office. They didn't la…

I wish I could upvote you more than once. I'm not a bus driver but a truck driver though lol.

Re: Something Pretty Right: The History and Legacy of Visual Basic

#130
post #28

Hilarious quote (notwithstanding the fact that bus drivers usually have to work shifts, also on weekends): > Almost all Visual Basic 6 programmers were content with what Visual Basic 6 did. They were happy to be bus drivers: to leave the office at 5 p.m. (or 4:30 p.m. on a really nice day) instead of working until midnight; to play with their families on weekends instead of trudging back to the office. They didn't la…

Well - basically, if you wanted to become a fighter pilot and had VB1-6 experience and wanted the "RAD" forms tools, but also wanted true OOP, there was always... Delphi

You could do pretty much anything with Delphi that you could do with C/C++ on Windows.

Post reply on HN