VB the ide was really good but VB the language was not. In particular it didn't support object orientation in any sensible way. While I am not crazy about object orientation in general, I think it is indispensable for UI development. I tried writing an application in Visual Basic. It was quick to start but the 5th time I had to copy the same code in yet another module, I switched to Visual C++. And anytime you needed to do something advanced with Win32, you had to resort to unnatural C like techniques in VB, while the same operation was native in Visual C++. This was 25 years ago and it was the last time I tried VB.

You can’t really separate the IDE from the language because so much of final binary could only be expressed from the IDE. This was something VB.NET fixed but was also why VB.NET was (in my opinion) a failure. Having that complexity shifted to code (like VB.NET did) undermined the simplicity and speed of the language for prototyping.

Also VB supported OOP. It’s just classes were stored in separate files. You didn’t have a singular file for all language constructs like you do in any normal “grown up” language. Classes went in a different file with a different extension to UI events.

As for Win32 APIs in VB, I thought those worked really well. In fact the C interop in VB was far better than in many modern languages of today.

I won’t deny VB was an oddball language with some rough edges and quirks though. But I also think it was those oddball designs that made it amazing good at GUI development and prototyping. In fact still I don’t think there has been a better language for that since.

COM OOP is good enough, by VB 6 it was already there.

Also COM OOP is exactly what UWP and WinUI are all about.

WinRT started as the reboot, what if .NET was actually what it was originally planned for, and not a Java clone based on J++.

https://arstechnica.com/features/2012/10/windows-8-and-winrt...

However Microsoft completly botched the delivery.