Visual Basic 6 rebuilt in C# – complete with form designer and IDE in browser

(bandysc.github.io)

Comments

jillesvangurp 11 November 2024
Basically this is what Figma could be if you could add behavior to the UI. Somehow the web has been running backwards for years now. We lost flash in favor of HTML 5, which sort of fizzled out in terms of creative people actually doing a lot with it. We used to have simple application builders in IDEs like Visual Basic, Delphi, Borland JBuilder. Even Eclipse had a simple swing UI builder thing for a while. For the web we had dream weaver, frontpage, etc.

I'm not saying those tools were perfect; because they weren't. But we never really got good substitutes for them. We now have people "designing" stuff in Figma and then handing over for implementation to some developer team that essentially then recreates the whole thing pretty much from scratch. There's something deeply stupid/wasteful about needing to do that.

anonzzzies 11 November 2024
Very nicely done, now a Delphi and I can finally be happy about the state of development again.

Sourcecode: https://github.com/BAndysc/AvaloniaVisualBasic6

Edit: someone information about Lazarus deleted their comment, my answer;

I know about Lazarus yes; I use it for my old projects. I would like a modern version that also works in-browser and .NET seems good for that as this shows. Maybe based on this https://pascalabc.net/en/ .

Not kidding; I still enjoy Pascal/Lazarus (and common lisp) programming more than anything current; none of the anxiety and all of the joy and productivity.

pcdoodle 11 November 2024
VB6 was the best IDE by far for people that get things done right now.

I was installing PC based CCTV systems for a living back in mid 2000s, I had a restaurant customer have their mind blown by pandoras music service while demoing the PC. They asked "can I hear this over the restaurant speakers?". Yeah, I got 3.5mm to RCA to BNC in the car which I can run to your AMP.

Now he was really happy, felt like he got launched into the 21st century.

"Can I pause the music and make an announcement to my customers?". I made him a shortcut on the desktop to sndvol32.exe aka sound mixer so he can talk over the speakers and then resume the music and he was again floored.

"I want my staff to be able to do this but not here in my office but at the front counter".

Easy. "Give me a paper clip and 30 minutes". Went to the car to grab some stranded Cat 5 and an old beige two button IBM mouse. Ran the cables from the office to the reception area, soldered a cat-5 pair to the left mouse clicker, drove a sheetrock screw threw the mouse body to mount it on the wall like a taxidermied deer head. Back in the office I soldered the leads to the paper clip so I could have a solid connection to the LPT port on the PC (I didn't carry DB-25 back then).

It was easy from there: googled "VB6 Volume Mixer". Download that, open the checkbox for mute stereo mix, copy one liner into a timer, set interval for 100ms, check if the pins on the LPT are shorted, if so mute stereo mix, unmute the mic.

This was written in the field without any pre planning. I still have this customer to this day. What a great tool for us "jacks of all trades".

mysterydip 11 November 2024
I was so productive in VB5/6 back in the late 90s/early 00s. I made tons of utility apps to solve all kinds of little problems. It was just so easy to put things together. I tried to make the transition to vb.net but it was not the same thing.
codetiger 11 November 2024
This reminds me of one of the best programming tools at the time. Moving from basic to vs basic was mind blowing. I still miss such tools in the Modern era. There are lot of so called no-code or low-code tools that does things very differently today. I still think the best low-code is what VB did.
mavamaarten 11 November 2024
Whoa. VB6 was totally what got me into software development as a kid. A blast from the past I needed today, thanks.
worble 11 November 2024
Perusing the authors Github, it looks like they also maintain the UI library for the classic Win9x look and feel: https://github.com/BAndysc/Classic.Avalonia

I love it, I might have to try making my own app using it

andrea76 11 November 2024
I miss those times. Every IDE had a line by line debugger. Now those Angular/React applications, even after years, do not have one; and they still have a confusing syntax.
gus_massa 11 November 2024
Nice! Small bug report:

I added a button and double clicked it to open the code window. I added something simple like

  MsgBox "Hello"
and clicked the x on the top right of the code window.

The code was not saved. You have to "Save" the project or "Run" the project for the code to be updated. This is a difference with the old VB IDE that remembers everything you type.

rqtwteye 11 November 2024
I remember in the 90s a lot of small companies ran on VB and Access. It really enabled a lot of non programmers. Wish we had something similar for the web. Some low code solutions are superficially similar but what made VB different was that you could grow into full blown apps without changing. I am always amazed how complex today's web CRUD apps are to develop and deploy.
major505 11 November 2024
is 2024 and I still maintain a VB6 project. A client of mine (a aluminiun metalurgic compoany from sweeden) have all his machines controled but a central program in vb6. Since the machines are all old, they have integrations using windows COM+ protocol.

Its a offline application, that connects to SAP exchanging text files, so they have no reason to update so something more modern.

ben_w 11 November 2024
Oh, interesting. I should see if I can get my 22 year old coursework running in it.

Assuming I can get my source out of the Word document, because it predates git and I don't have the original source files: https://github.com/BenWheatley/A2-coursework

wg0 11 November 2024
This is amazing... I am much away from .NET world so can someone elaborate how does it get from C# to browser?

All I see is this main.js[0] and everything is drawn on a canvas! (probably explains why text is not as sharp as I remember back in the day)

[0]. https://bandysc.github.io/AvaloniaVisualBasic6/main.js

JawsOfALion 11 November 2024
Lol, that's amazing, as soon as it loaded up i was laughing at how accurate it was . So many memories from simpler times coding as a kid.
v1ne 11 November 2024
OMG, this is how I started programming. I was so happy creating small helpers with this toolchain, e.g. something like Spotlight to launch programs with with a hotkey + the name of the program, on Windows 98.
SaintSeiya 11 November 2024
One nice side effect of having GUI builders in the IDE was standarized, optimized and "follow best practices" GUIs. No wonder we reached peak UI in the 90's-2000.

Then came the web and everyone and their mom had an opinion on how a button should look (for games that's fine) and we ended up here.

boo-ga-ga 11 November 2024
Immediately after seeing the page, got "oh, those were the times" feeling. Really great.
newsclues 11 November 2024
I miss VB 6, because it was so easy to teach people how programming works as the visual nature was very intuitive.

I have felt for a long time a modern version would be so useful.

ninalanyon 11 November 2024
What I really want is a form designer that would let me create a UI for any language instead of every language reinventing it.
DeathArrow 11 November 2024
I miss RAD tools. I never played with Visual Basic but I enjoyed Borland C++ builder.
_0xdd 12 November 2024
Ahhh... first programming language I ever played with was VB3 and VB4 writing 'proggies' to knock other AOL users offline. Good times!
gramakri2 11 November 2024
Oh the memories. How does this work? Is it built using an emulator of old VB6 code ? (didn't realize it was opensource) . Or is everything built from scratch?
rcarmo 11 November 2024
I sometimes wonder if something like this using Lua wouldn’t be a great way to quickly build native desktop apps.
zubairq 11 November 2024
As someone building a JS type low code tool (yazz.com) which is also open source I am very impressed. Well done!
Tistron 11 November 2024
I can't get it to actually do anything, is it supposed to work to run programs in the browser? (mac, chrome)
robertlagrant 11 November 2024
My first bit of paid programming work was a VB6 project in 2001. Such happy times!
rcarmo 11 November 2024
I want a desktop version of this that runs on Mac and Linux.
gotstad 11 November 2024
I owe my whole fascination with programming from childhood to Visual Basic 6.

I was 11 and I could hardly read English, yet VB6 with the WYSIWYG-editor and an introductory book by my side was intuitive and rewarding enough for me to learn the basics of programming.

lawgimenez 11 November 2024
My college thesis was writing complete inventory management using VB6, then making sure the program works inside the company. Good times!
hnthrowaway0328 12 November 2024
I actually think QT is not too bad for small applications too. I wrote a Quake launcher over a few days because I was so tired of finding my Quake executable and setting the same configurations every time I load a mod. I knew zero about QT back then so someone could write it in an afternoon. I think it definitely can be used equally easy for something bigger, e.g. a frontend of a lc-3 VM.
benguild 11 November 2024
This is the kind of content I am here for
vlugovsky 11 November 2024
This reminds me of Bindows framework. Seeing Windows interface in browser is hard to forget.
a1o 11 November 2024
Site doesn't load for me other than the powdered by avalonia message, on Safari.
bdcravens 11 November 2024
After going to Help > Avalonia on the Web, the UI stopped responding
stavros 11 November 2024
This is amazing. I love the nostalgia, it made my day.
zerr 11 November 2024
Visual FoxPro as well, please :)
stef-13013 11 November 2024
Wow, really nice !!

And very interesting project too...

Thanks !

dark-star 11 November 2024
This is at most something lat "looks like" Visual Basic 6. Most of the actual functionality is not there.

- ActiveX and custom controls? Not available

- Debugging/Single-Stepping? Nope

- Add-Ins? negative

- Also, many of the menu items just don't do anything when clicked on, or they open a dialog where everything is greyed-out

I mean, yeah, it's cute for someone who has never seen how VB6 looked like... But calling it "rebuilt in c#" is stretching it a bit...

nirav72 11 November 2024
I feel like the complexity around current day .Net is more due to Microsoft’s pathetic attempt at naming and branding and the confusion around their development products. One example is their desktop development frameworks. As someone that is in and out of Microsoft centric development stacks - I can't even keep up with it anymore.
dxroshan 11 November 2024
So cooool!
tester756 11 November 2024
Wow.
woodylondon 11 November 2024
I started in Visual Basic 3 and then moved to Delphi. My first job at 18 was working for one of the large ActiveX component libraries, providing technical support to many developers when I wasn't one myself yet!

On my first day, I found a book on my desk—"Learn Visual Basic 3 in 21 Days"—along with a brand new 486DX250 and a 14" monitor. I learned a lot quickly! We answered support queries by fax back then.

I never fully understood why this programming paradigm died off. Building business apps beyond Access or Excel was so straightforward. It was great to get an .EXE that you could package up with InstallShield or Wise Solutions and send to anyone.

I guess the web came soon after, and trying to do WYSIWYG for HTML and CSS has never gone well—even today.

FrontPage came out but died soon after, and mixing desktop apps with web apps was never great.

Today, I feel .NET is overly complex and much harder for beginners compared to the old days.

Sometimes, I think there are only so many ways to control the appearance of business apps. I'd constrain visuals but provide the most straightforward visual builder possible.

The No-Code world is fascinating, and the best I've seen in this space is https://retool.com/, but it's expensive and locks you into their ecosystem.

Even today, small businesses need to build out simple apps that were simple to do back in the Visual Basic days—a stock control system, a basic support system, sales tools, etc. Today, it's a minefield of options that can quickly get expensive.

I'd love to have a visual builder that creates code you can host yourself — something like retool.com but with open source and self-hosting, or maybe I'm just too old for this now! :)

PaulRobinson 11 November 2024
Say what you like about Visual Basic (and a lot has been said that is less than complimentary), but for a huge number of people and workplaces this was the tool that moved people from trying to fudge Excel or Access into a workflow and actually trying to write some software.

My first language was BASIC on 8-bit machines (actually, it may have technically been Logo on a BBC, but I remember BASIC on a BBC as an 11 year old more clearly), and by the time VB came along I'd moved onto compiled languages like C and interpreted languages like Perl and PHP, and was a bit sniffy about the point and click nature of it all. I had one friend at college who refused to move on from QBASIC - I once saw him write a 3D game engine in that could about 30 frames _an hour_ on a Pentium - and the general atmosphere of being pro-FLOSS/anti-MS, plus a ton of really badly written apps encountered out in the wild when I did some small business IT consultancy made me very averse to VB in general.

But you know, it wasn't the fault of the environment or the language. It was powerful, useful and better than the alternatives for a lot of people. Its main contemporary competitor - Delphi - seemed all the rage before it didn't. And I now wish we'd been able to get a little more down the simpler visual programming domain for a while, because the modern equivalents like XCode feel massively confusing to the novice, so the learning curve feels very steep by comparison.

ladyanita22 11 November 2024
I see lots of comments about how good VB6 was. I agree it made programming super-easy and practical.

However, it is evident to me how the whole thing fell appart by the late 2000's, and now we have much more powerful, yet complex programming environments:

- Rust, C, C++: Extremely complex but powerful.

- HTML, JS, CSS: You have to learn 3 different technologies and won't be able to leverage the easy, powerful native APIs the OS provides. It's cross-platform though.

- .net: Not as easy as VB6 (and C# becomes actually more and more complex, more powerful as well, though). You have to learn XAML as WinForms is still a thing but considered legacy.

- Python: Easy (maybe more than VB, but not by much?), but no native, easy GUI toolkit for Windows. There are native bindings for GTK, but Linux is not a big desktop platform, and more so in business, and still GTK is much, much more complex than VB6 + Winforms + COM.

So basically, it seems we have traded easy of use and practicality for power/performance and cross-platform compatibility? What do you guys think?

evrimoztamur 11 November 2024
VB6 is how I got really started off with programming and building games. There were project files you could find online of games made in VB6 of such immense complexity (one was an 'MMORPG' with networking, file save/load and data serialisation via RTF blocks, etc.) that it made my head spin. I don't know if I would have gotten into programming at such a young age otherwise.
Gys 11 November 2024
Page is not loading in Firefox 132.0.1 on MacOS Intel 15.1?

Edit: no, it just takes a loooooong time to load

mihaaly 11 November 2024
Is this supposed to work? It does not for me. Probabbly my privacy settings are prohibitive for it?

And why is this mania putting everything into the browser that does not belong there? Is the reason putting there is just to have it there? Why not desktop app? Any sensible reason? Is it for pepole not owning a computer and have to fly from borrowed one to borrowed one where only the browser access is stable for them? So many things are particular with browsers for the purpose navigating the web or other source of information that it negatively interferes with usability for generic purpose app if not running the extra miles to get a workaround for it (and most do not care to run the extra miles). Pushing the wrong button in the browser f.s up something and others are cumbersome too, back utton, refresh, context menus, working with files, mixed with anything else in the tabs, even the address bar is in the way, etc. The few sensible web apps were either narrow use trivial ones doing a simple task thing mostly accessing a client service (human client) or put into a thin client (now its a computer) for clarity. Not user friendly at all. But hey, today's computer "engineers" give no fuck for the user but all for the technology, we all must enjoy that! (No)