It's an awesomely inspirational vision, but within 2 minutes of trying it out I found it's lacking a lot of little features (at least on the web build)... e.g:
Ampersands in button labels don't create an accelerator (e.g. &Go does not underline the G).
In true VB6 you could plop down a Label control and just start typing to change it's contents. Here you have to focus on the input field first (and you can't just click the "Caption" heading, you have to click within the input column). To maintain fidelity, one of the rows in the Properties grid should always be highlighted when a control is selected on the GUI designer (for Labels this defaulted to Caption, and I believe for controls without a specified default it defaulted to Name).
When switching to a different control with a property matching the name of the currently selected one, VB6 would maintain the selection on that property. This made it quick and easy to update for example the Tag property a bunch of controls in sequence with minimal clicks.
Obviously the menus for Debugging, Save, Help, Add-ins, etc. are missing implementation.
A working Build button that spits out an "exectuable" that runs in the browser would be killer!
Oh my GOD I have to comment. This is how I learned to program as a kid.
I found a copy of "Write Your Own Adventure Programs" (1983 - Usborne: https://colorcomputerarchive.com/repo/Documents/Books/Write%...) as a kid in my primary school's bookshelf. I remember the code was written in BASIC and my family didn't really own a computer back then.
Fast forward a few years later I saw this "Visual Basic" thing and thought it would be similar ... it was, but only sort of. I had no book to learn from at first so I remember clicking through every single menu and button available to see what it did. Then I remember using our dialup to download every possible 3rd party VB form control and throwing them in a Form to see what they did. I don't know why I found this entertaining enough to keep doing it.
Eventually by copy pasting and changing stuff I was able to write some basic "homework helper" programs: calculate the area of a circle and stuff like that. Soon after I tried to look up tutorials which taught me basic win32 programming to do things like have an icon in the status area next to the clock, and then hiding my window to run in the background and make annoying sounds so I could build a silly little prank program to install on my friend's computers which was fun but often would fail because they were missing some .dll file which wouldn't fit on the same floppy.
It could be frustrating at times but also I feel so blessed to have lucked myself into learning programming this way and my parents pretty much just letting me do whatever I wanted to this expensive device that probably was not a small thing for us to afford at the time.
Even tutorials felt more fun at the time, it'd be "hypnoMan37's windows registry tutorial!!! HEyyeyeyy Guuyzs :-)))) gzgzgz to my irc channel #blabla on EFNet! so first you call RegistryCreateNewKey32(...." because god knows I did not have an MSDN CD either.
Learning via a code camp feels way more efficient but also so much more dry in comparison. I wonder if there isn't a substantial cost to boring the newbies to death.
Slightly off topic, but this was built using Avalonia, which I have never heard of. Has anyone used it? The promise sounds impressive (beautiful, cross-platform applications from a single .NET codebase), just wondering whether it actually delivers?
The Property Grid control was the greatest general purpose UI ever created. Using it (in the .Net, Windows Forms incarnation) for custom types in non-VS application was a tremendous productivity shortcut for LOB apps. Put attributes on your user exposed objects, done.
To this day, we don't have anything equivalent for web or mobile. Dynamic form generation from JSON schema gets part of the way there, but not quite.
How I missed the frame component in modern day applications. They all seem to think that a bold heading and some extra whitespace at the end is sufficient to group things together.
It would be nice if more effort was put into avoiding large dependencies, like a java runtime for a .net product. Edit: It's not just the size of the dependency, it's the complexity this adds to the deployment and development.
As a kid I spent summers working in the schools IT department in order to save up to buy VB6 (with a staff discount). This was not cheap back in the day!
I worked for a company that was prototyping a ground-up rewrite of their flagship product in VB, while a team of Visual C++ programmers was building the "real" version. It was basically an industry-specific CRUD application.
I probably don't even need to finish this story, because you know what happened: We knocked out a fully functional application in VB while the C++ programmers struggled to replicate it with a less-rich environment. Back then VC++ lacked numerous controls that were available in VB.
The app connected to the database with ODBC and it was easy. Management saw that and said WTF are we building this other thing for, and asked the C++ to join the VB effort and finish the product. They turned their noses up at it, and were all summarily fired. I was put in charge of design and continued working with a team of contractors to finish the app.
I was pretty young and learned a couple of obvious lessons there.
And oh yeah, I actually started my professional programming career writing complicated macros in Word. If I ever meet the guy who approved WordBasic, I will buy him a drink. A word processor with a freaking GUI builder in it! I wrote a macro that could parse and rewrite thousands of SQL modules when a bunch of table structures changed.
I lived in Word. What a great product it was, and what a sorry state it's in now.
Visual Basic 6 IDE recreated in C#
(github.com)172 points by porterde 4 hours ago | 55 comments
Comments
Ampersands in button labels don't create an accelerator (e.g. &Go does not underline the G).
In true VB6 you could plop down a Label control and just start typing to change it's contents. Here you have to focus on the input field first (and you can't just click the "Caption" heading, you have to click within the input column). To maintain fidelity, one of the rows in the Properties grid should always be highlighted when a control is selected on the GUI designer (for Labels this defaulted to Caption, and I believe for controls without a specified default it defaulted to Name).
When switching to a different control with a property matching the name of the currently selected one, VB6 would maintain the selection on that property. This made it quick and easy to update for example the Tag property a bunch of controls in sequence with minimal clicks.
Obviously the menus for Debugging, Save, Help, Add-ins, etc. are missing implementation.
A working Build button that spits out an "exectuable" that runs in the browser would be killer!
My nitpicks are born out of love ;-).
I found a copy of "Write Your Own Adventure Programs" (1983 - Usborne: https://colorcomputerarchive.com/repo/Documents/Books/Write%...) as a kid in my primary school's bookshelf. I remember the code was written in BASIC and my family didn't really own a computer back then.
Fast forward a few years later I saw this "Visual Basic" thing and thought it would be similar ... it was, but only sort of. I had no book to learn from at first so I remember clicking through every single menu and button available to see what it did. Then I remember using our dialup to download every possible 3rd party VB form control and throwing them in a Form to see what they did. I don't know why I found this entertaining enough to keep doing it.
Eventually by copy pasting and changing stuff I was able to write some basic "homework helper" programs: calculate the area of a circle and stuff like that. Soon after I tried to look up tutorials which taught me basic win32 programming to do things like have an icon in the status area next to the clock, and then hiding my window to run in the background and make annoying sounds so I could build a silly little prank program to install on my friend's computers which was fun but often would fail because they were missing some .dll file which wouldn't fit on the same floppy.
It could be frustrating at times but also I feel so blessed to have lucked myself into learning programming this way and my parents pretty much just letting me do whatever I wanted to this expensive device that probably was not a small thing for us to afford at the time.
Even tutorials felt more fun at the time, it'd be "hypnoMan37's windows registry tutorial!!! HEyyeyeyy Guuyzs :-)))) gzgzgz to my irc channel #blabla on EFNet! so first you call RegistryCreateNewKey32(...." because god knows I did not have an MSDN CD either.
Learning via a code camp feels way more efficient but also so much more dry in comparison. I wonder if there isn't a substantial cost to boring the newbies to death.
It looks and works so intuitively.
It was so crisp and clean. Visual C++ and Visual Basic of the time were far from perfect, but they let you just get things done(tm)
XP was right around the corner and it's been downhill from there.
https://bandysc.github.io/AvaloniaVisualBasic6/
https://avaloniaui.net/
To this day, we don't have anything equivalent for web or mobile. Dynamic form generation from JSON schema gets part of the way there, but not quite.
> Antlr4BuildTasks library couldn't automatically download Java.
It would be nice if more effort was put into avoiding large dependencies, like a java runtime for a .net product. Edit: It's not just the size of the dependency, it's the complexity this adds to the deployment and development.
I probably don't even need to finish this story, because you know what happened: We knocked out a fully functional application in VB while the C++ programmers struggled to replicate it with a less-rich environment. Back then VC++ lacked numerous controls that were available in VB.
The app connected to the database with ODBC and it was easy. Management saw that and said WTF are we building this other thing for, and asked the C++ to join the VB effort and finish the product. They turned their noses up at it, and were all summarily fired. I was put in charge of design and continued working with a team of contractors to finish the app.
I was pretty young and learned a couple of obvious lessons there.
And oh yeah, I actually started my professional programming career writing complicated macros in Word. If I ever meet the guy who approved WordBasic, I will buy him a drink. A word processor with a freaking GUI builder in it! I wrote a macro that could parse and rewrite thousands of SQL modules when a bunch of table structures changed.
I lived in Word. What a great product it was, and what a sorry state it's in now.
I once used multiple iomega zip drives to smuggle a copy of this out from my school so I could make things at home.