Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As more of a Sys Admin / scripting type, I felt happy and sad at the same time at the actual mention of Visual Basic.

VB is often scoffed at, and probably to an extend rightfully so.

But those (i.e. VB1 through to VB6) were the ONLY languages that I ever managed to create useful, finished tools and programs in. Maybe it's part psychological, but I needed the approach where I created a neat UI first, got my methods pre-populated for me, and had something tangible to look at early in the process. Then went on to fill it with all with custom code. Yes, it's BASIC, but it was extensible. People I knew wrote OCX and such control elements, and code routines in DLLs in C/C++ and integrated that into VB projects, so the sky was still the limit.

Staring at an empty text document with possibly some header file statements never evoked the same creativity with me that VB did.

p.s. my proudest creation was a Windows 3.1 UI around the MS-DOS packing program "arj", for those who remember. Had I been a better businessman, that might have predated WinZip :)



A company I used to work for took roughly this path:

1. 1 mildly technical, mostly business-domain person, a spreadsheet + auto-clickers

2. 1.5 persons still only mildly technical and mostly business-domain-y, a VB gui and some basic network integration

3. [some time and quite a bit of revenue passes]

4. they hire some java programmers to rewrite it properly in Swing, since the VB versions had literally become impossible to modify without breaking (there were forked versions where you used version A for some feature, version B for another, version C for another - and people had tried to merge them together while keeping the whole thing working, but never managed it).

It's now been, oh, over a decade I suppose, and while I understand that there are currently some efforts underway to port the java applications to an SPA web app, it's more because the owner wants to get rid of java (and only have to hire python devs) than because the apps don't work or are hard to maintain.

My point is that without VB, the company probably wouldn't have existed to even need the Swing rewrite. So while I personally find VB to be quite caustic to my senses, I cannot deny its ability to create business value, especially because it's so approachable only mildly-technical folks.


The company I used to work at started out in MS BASIC sometime in the early 80's. The founder is a mechanical engineer who started programming all the formulas he was using instead of cranking them by hand every time. In the 90's, he ported it to VB and turned it into a GUI application for Windows 3.1. In the early 00's, the company had to switch over to using C++ for a fair amount of the UI, but the core off the application is still that library of VB code (now VB.NET) that was started in the 80's, and the RAD tools for VB was what allowed them to stand out as a mechanical design program earlier than most of the other tools.


> But those (i.e. VB1 through to VB6) were the ONLY languages that I ever managed to create useful, finished tools and programs in.

Have you tried Delphi?

https://en.wikipedia.org/wiki/Delphi_(software)

- my experience was in the 90s, but it has a similar ‘quickly build native Windows UI programs’ feel to it.


If you liked Delphi I recommend giving FreePascal and Lazarus a try.

https://www.lazarus-ide.org/


Both of those are still pretty nice to work with and I'd say can still be used for a variety of different pieces of software! They also have a Software Gallery page that shows a few different programs developed with them: https://wiki.freepascal.org/Projects_using_Free_Pascal

Though the language is also showing its age and perhaps isn't for everyone, like how C++ might also be an acquired taste. Some things like talking to RabbitMQ, Redis, gRPC, GraphQL or MongoDB (just as examples) might be a bit more difficult than in other languages that get more love.


CLOG and the full UI builder CLOG Builder do exactly what you are looking for.

It already offers plugin controls that work with the builder or just code.

Can deliver native local apps, websites, webapps, iOS and Android apps, etc.

Database controls like in VB and Delphi - and much more to come.

It is programmed in and with Common Lisp, however you can easily program events in JavaScript and Python coming soon too.

https://github.com/rabbibotton/clog


I probably wrote my best "software" in VB too, i.e., stuff that hung together well enough for others to use over a long time period. One of my programs is still used daily in the factory, with virtually zero failures in 14 years.

What happened was that I lost interest in creating that kind of thing. And the business decided that such programs have to go through a formal approval and release process, so it left me with no advantage over letting the software department maintain that stuff at considerably greater expense. Today, I'm willing to burden my users with stuff that requires a bit more care and feeding on their part, such as plain Python scripts. Also, VB turned into VB-dot-net.

I'm equally creative in C, but on the embedded side. Something about working within severe limitations. I'm reminded of a quote from Richard Feynman: “The game I play is a very interesting one, it’s imagination in a tight straitjacket.”


Gambas and Lazarus covers a lot of ground, but I also miss a system where you can easily go from an UI designer directly to a small self-contained executable, and then start to add in code.

Visual Go, Visual Rust, Visual Nim and Visual Crystal, where are you?


In the ruby realm, this seem like what you are looking for...

https://github.com/AndyObtiva/glimmer


Those do sound cool. Visual Go would be really nice too! I’ve spent some time using CLOG recently, and I’m aware that is can produce a self-contained executable, but haven’t gotten that far in the tutorials yet. Anyways just wanted to share.

https://github.com/rabbibotton/clog


I don’t understand the the purely psychological disdain for Basic.

I developed in an odd Language…LabVIEW…and I get what you’re talking about with first class GUI support and being able to see something each step along the way.


Some developers seem to react angrily towards anything which makes software development more accessible.

That said - while VB had an amazing IDE and overall developer experience, the VB language itself had some serious warts.


I could regale you with tales of the silliest conversation I’ve had with programmers who claimed that a graphical programming language couldn’t possibly do “real things” without even trying it.

Your point is spot on.

Wait until someone shows “real” programmers PLC ladder logic and they become aware of just how much critical infrastructure runs in a programming language that was literally designed to allow electricians and mechanical engineers automate real-time safety critical automation controls.


I recall most of the complaints had to do with the lack of inheritance and exception handling.

On Error Resume Next anyone?


Same. Well, GUI based projects that is. When I learned C++ the effort to recreate some of my VB work just seemed so mindnumbingly long and boring. Which was probably to my detriment...if it were the only way, what fun. But when you know the easier way, you question why.

Myself and a lot of kids probably grew up on VB. I was one of those annoying kids writing AOL 3.0 'progs.' I don't think I've ever had as much fun coding as those days, but that's probably due to age and community moreso than VB's greatness.


I was a little late full-on BASIC, but enjoyed writing little TI-BASIC programs on my calculator.

I don't know why people would scoff at BASIC, tons of people make their careers writing Python, which is 100% going to be regarded as the BASIC of 201X-202X.


TI Basic was great - as a high-schooler it was much more approachable than Z80 assembly (or trying to figure out the custom gcc for the TI-83).


VB was the peak of computing, modern dev wishes it was as capable.

One of the truely great things about the drag and drop form builder was being able to sit with a user and go through requirements with them, to wire it all up later.

"Ok, so when you type in the customers details, we should have a button to save them into the database. Will we put it here?"


I got into programming with VB when I was a kid and made a hundred little projects in VB6. It was so much fun browsing Planet Source Code looking for cool stuff.


My first uni year roommate had a similar background: numerous cute projects in vb, along with some real deep math. I was different as my dad was a geek I never had anything but linux at home.

I fondly remember trying to explain why Emacs doesn't have a green run/build button :-)

Vb was easy in a way *nix never was!


Me too.

>Planet Source Code

So many good memories of browsing that auto-scrolling list of new projects, downloading and trying something different and learning by seeing new code.


This part of the experience didn't fundamentally change between VB6 and .NET with WinForms - when you create a WinForms app project in VS, you still get a blank form to place controls, double-click on them to create the appropriate event handlers etc.

And this all still works today in VS 2022.


Was is because of the language or because of the IDE/Environment/Library?

My impression is VB is a language sucks but VB the entire package (forms, form editor, IDE, etc) was pretty awesome.

So the arguably a similar IDE with a better language would be a huge win.


Yes, VB as a language was terrible, in the same way that almost every BASIC is "terrible". There were some old ideas in the BASIC heritage that didn't age well. IIRC, it wasn't until VB6 that you no longer had to prefix string variables with $. But by that point there was an ecosystem issue of old documentation, legacy code, etc.

WinForms absolutely captured most of the same feel of VB6 from strictly the perspective of the tooling. I think it took a while to really catch on because, being a from-scratch rewrite, it took a while to gain complete feature parity, while also lacking the subcomponent market that a lot of VB6 projects had grown to rely on.

But then, GUI requirements also evolved. HighDPI displays, internationalization, accessibility, bigger and bigger projects needing better organizational methods. You can solve most of these issues in WinForms by being super fastidious about componentization, but it's not the happy path of just double-click-on-the-form-designer.

All of the XAML-based GUI systems that Microsoft developed since then have tried to invert that issue. They wanted to start people off by being considerate of componentization. Unfortunately, it came at the sacrifice of the usability of the tools.


Just FYI, you didn't have use the $ to denote string variables from VB2 upwards. It had been a QBasic thing, pretty sure it ended up in VB1, and then was dropped. (though you could still optionally use it) Option Explicit... first line that should have been in every VB program.

I had an entire career built on developing back end tooling in VB for businesses, some of which (.. 25 years later?) are still doing their jobs. It was sometimes painful but it really did set a bar for quick productivity. Fond memories of those days!


Yes, so use Delphi because Pascal is better than the BASIC in Visual Basic.


I made good coin coding in vb6. Usually I was automating reports (that clients paid for). People would do a job then sit down and create 30 spreadsheets to send out to clients. I created software to pump all these out in seconds. Excel sheets with graphs, intricate layouts and formulas. 15 years later I think they finally have a working web version. I got consulting asks for a decade.

The weirdest thing (I have ever seen in software): Once VB.net hit, all VB devs quit. VB.net was a totally different language. I guess we all moved on.


VB was basically Excel of GUI programming - straightforward to get shit done - but exponentially harder to manage with more features.


And Lotus Notes was the Excel of workflow, making use of its own @formulas, vbscript, and eventually incorporating Java and JavaScript into the platform.


Excel has integrated JavaScript these days: https://docs.microsoft.com/en-us/office/dev/add-ins/referenc...


Doesn't the C# IDE basically do what VB6 did


Same thing for Qt Creator, although license may be an issue as always (although if it is then it's also probably not a problem, but I digress)


When I was a student, our teacher told us to just drag and drop GUI elements in Visual Studio and write the functionalities in C#. At that time I didn't knew that existed other ways to create user interfaces.


Winforms designer is pretty much it. But who's building windows apps these days :) ?



I'm sure there's plenty of legacy apps out there that are getting maintained - but I seriously don't see anyone picking windows desktop as the only target for a new project these days.


Games, laboratory, healtcare and factory automation devices, kiosks.


Even automation stuff is moving to web interfaces and headless network connected controllers. Unless you're doing legacy stuff or niche stuff you're probably not writing stuff for windows desktop.

Game tooling has also moved to cross platform these days with popularity of MacOS for content creators and iOS as a target market requires MacOS for development tools.


Good luck with Web interfaces on air gaped devices.

Mac platform is about 15% of world desktop market, hope they can manage all requests from game studios all around the globe.


If you want that same GUI/RAD style, Delphi is still around.


Have you tried CLOG?! It apparently matches the exact use case you described above. It’s a GUI first approach but its aim is to be highly extensible. I only ask that you be gentle. It’s being built by a passionate developer in his spare time, but he’s making great progress.

https://github.com/rabbibotton/clog


I've seen quite a lot of people use C# + winforms to do similar things, most "professional" devs kind of turn their noses up at winforms, but, you can bang out functional little apps without too much effort. I haven't tried with the latest .net 6 stuff, but I think you can pretty much compile the whole thing into a single executable now.


lha, arj, pak, rar, pkzip. these were magic.


Young me always thought arc, then arj, then rar. But arj brings back fond memories of unpacking very large files




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: