8 ms·
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 suppo
by woodylondon 2y ago
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/ 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! :)
- InsideOutSanta 2y agoI think one aspect is that business requirements for many of these apps became more complex, which is why we now often use process management or case management tools instead of smaller local programs.
- woodylondon 2y agoAgreed, a fair point - companies are a lot more aware of what is possible beyond a spreadsheet! :)
- wink 2y agoNot only business. I think it's better in 2024, but as someone who lived through the browser war years as a frontend developer.. We may shit on Windows a lot, but learning the windows bits you need to write software in VB were ridiculously less complex than writing a backend AND a frontend for a webapp circa 1999-2005. Just because of all the tiny undocumented differences to make stuff look ok-ish or even quite the same. VB's layouting stuff was very good in my memory.
- TeMPOraL 2y agoMost of it is negative possibility? :) Being 100% serious here: half the SaaS webapp products I've ever used, both personally and at work, would be better and much more ergonomic if implemented as an Excel sheet or an Excel plugin instead.
- scarface_74 2y agoBecause for the most part, you don’t need desktop applications in 2024. They are harder to maintain when used across multiple computers and you can’t access them from anywhere like web apps. And most companies that need to build the things you mentioned can use a SaaS. Also, those “simple apps” end up being an unmaintainable mess after a couple of years. In 2024, to a first approximation, no company should be writing software that is not core to their business. Most problems are not special snowflakes. Someone has already solved their problem and created a customizable SaaS around it. Yes I’m old enough to have used VB6 professionally from 2001-2008 (when it was way past its prime). But my first programming was on an Apple //e in BASIC and assembly and programming professionally in C and C++ from 1996-2008
- woodylondon 2y agoIn some context, I think desktop apps are far better than the web, and it's now super simple to roll out desktop apps using tools like Intune. However, I'm talking about general business apps here. The likes of Zoho, Salesforce, and, to some extent, Dynamics are covering some of this space—but again, they're expensive. The main point of my post was that if I were 18 today and starting my first job, it'd be much harder to acquire the skills needed to grow. With VB or Delphi and a book, you could become pretty productive within a year or so, and the cost of entry was very low. The skills you learned opened the door to a whole new world for little cost. Especially, as others have mentioned, finding "DVDs lying around" :) which, of course, doesn't work for web tools in 2024! I was lucky my company provided, but i know friends who learned from the other approach. These web based NoCode companies should provide people starting out with free, fully functional accounts—but then restrict live users to about 5. Atlassian/JIRA was always good at this with their $10 entry point. While it's not a programming tool, this approach is why it's found everywhere. It allowed someone wanting to experiment and learn to pay just $10 for access to the complete platform. You might say there is plenty of open source out there, and this is correct, but again, in companies, this is not always used. They want the known companies. What the generation do have today which we never did is access to high quality training beyond books - and now AI! Wish I was 18 again!
- 2y ago
- rty32 2y ago> I never fully understood why this programming paradigm died off My two cents -- A few reasons (briefly, I could have talked a lot more) * Shift in platform: Windows is no longer the sole platform people want to build their apps for. Not a bad strategy by itself, and lots of companies still only develop for Windows (e.g. specialized software for instrument control etc), but people increasingly want their stuff to work on iPad, Chromebook etc and maybe even phones * Shift in screen size: It used to be that everyone runs Windows on a 800x600 screen. That changed, and then changed quickly. Many different resolutions and screen sizes. The drag and drop thing just doesn't work well for that. The web model, where you write "responsive CSS" and the browser handles the rest for you, works better. * Software and their UI got a lot more complex and require more expertise. On the other hand commercial software becomes easily available and accessible for those purposes. For the examples you mentioned -- stock control system, sales tool, they may be fine with VB6 for a prototype but can quickly get complex. And there is likely a commercial software you can buy and download within a few minutes at an affordable price. * Shift to online/cloud: vast majority of "small VB6 applications" were used locally, and they never connect to the Internet. That's different now. * Shift in language: BASIC/VB was often used for teaching, and it is indeed great as a first language to learn. Although Python already existed at that time, it became very popular, and I think many people would agree Python is a much better language than BASIC, in many ways. As a result, BASIC along with VB went out of fashion.
- woodylondon 2y agohttps://www.flutterflow.io/ https://www.flutterflow.io/ is an interesting option for cross-platform web-based low-code. My main issue with these is using the the cloud dev tools has a cost, normally usage-based - so if you use Firebase, if you're not careful, you can end up with a large bill.
- stavros 2y agoI think you left off the biggest reasons, commercial: * No piracy. Can't crack code you aren't running. * Immediate installs/updates. No need to tell people to ever update stuff, or to install your program in the first place. * You can charge subscriptions. It's much easier to justify a subscription when you pay for server costs, even though the customer would be happier just running your application locally. * Easier deployment. You can handle complex integrations on the server, without the customer having to open ports or whatever.
- jasode 2y ago>Today, I feel .NET is overly complex and much harder for beginners compared to the old days. I often see similar statements like that but that's not what I experienced. I did IBM DOS BASIC, MS GWBASIC and worked on VB3 to VB6 at a corporate jobs. The C#/NET workflow feels much the same rapid-development simplicity as classic VB6: Drag some GUI components like text boxes and buttons onto a form, code the controls' event handlers, build the exe. In contrast, the examples of GUI dev kits that had more complex language syntax and build steps than VB6 were original Apple iOS Objective-C, C++ Qt, Java AWT. Sure, C# is a bigger language than Visual Basic in VB6 but C# also does a lot more. E.g. in VB6, it didn't even have a built-in way to check the existence of a file. Instead, you had to declare a "win32" API monstrosity such as : VB6: Private Declare Function OpenFile Lib "kernel32" ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long Function FileExists(FileName As String) As Integer Dim RetCode As Integer Dim OpenFileStructure As OFSTRUCT Const OF_EXIST = &H4000 Const FILE_NOT_FOUND = 2 RetCode = OpenFile(FileName$, OpenFileStructure, OF_EXIST) FileExists = (not OpenFileStructure.nErrCode = FILE_NOT_FOUND) C#: File.Exists() In many ways, VB6 being "simple" means it created a ton of extra complexity for the programmer to do basic tasks. Another example is that VB6 didn't include a datagrid. You had to buy 3rd-party VBX/OCX controls for that. C# WinForms includes a datagrid. EDIT reply to: >most definitely open files in VB, and therefore the "File.Exists()" function would at worse be comprised of a exception handler (on error ...) and a open call, From my memory the "pure" VB6 way checking existence of a file by opening a file with error handler had issues (other processes using exclusive access and/or other issues) causing false-negatives or false-positives. Therefore, the recommended way back in 1990s was the win32 api declaration using OF_EXIST flag. It looks convoluted but it was more reliable.
- AshamedCaptain 2y agoYou chose a very poor example, since you can most definitely open files in VB, and therefore the "File.Exists()" function would at worse be comprised of a exception handler (on error ...) and a open call, as in many other languages. No need to import OpenFile for sure.
- Brian_K_White 2y ago
- mmerlin 2y agoVB6 fans looking for a modern approach should try twinBasic which after many years is about to release v1.0 https://twinbasic.com/ https://twinbasic.com/
- woodylondon 2y agoNever seen this before - thanks. Looks interesting.
- deleted 2y ago[deleted]
- DeathArrow 2y ago>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. I remember using Macromedia Dreamweaver and Microsoft WebMatrix for WYSIWYG.
- jarsin 2y agoI think we would still be using all macromedia products if adobe didn't buy them. I miss flash :(
- DeathArrow 2y ago>I never fully understood why this programming paradigm died off. Building business apps beyond Access or Excel was so straightforward. Because every business app needs to be written in a Javascript framework to be considered serious. Nevermind speed, resources, speed of development.
- hasbot 2y agoPowerBuilder too. I worked for an S&P 500 corporation from 2000 to 2006 trying to replace several business critical PowerBuilder apps in Java using a bloated commercial framework called Windchill. The original apps were written by a handful of developers over the years. The new team was fifty developers that struggled to replicate the old app functionality. We did manage to reimplement a couple of the old apps but they took a lot longer than anticipated and were incredibly slow. The corporation chose Java/Windchill for the rewrite instead of PowerBuilder because Java was trendy. Both the original and replacement apps were desktop applications. During development of the new apps, browser based applications became trendy and some of the developers really wanted to switch to browser-based. Fortunately, that shipped had sailed. Can you imagine writing business critical apps for the browser in 2002?!
- DeathArrow 2y ago>The No-Code world is fascinating, and the best I've seen in this space is https://retool.com/ 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. A RAD tool like Visual Basic, Borland C++ Builder, Borland Delhi, QT Designer doesn't mean no code. Rapid application design helps the developer quickly build the UI using already made components and using some predefined behaviors like gluing a database table to an UI component. But the developer has still to provide the application logic and to write whatever else is not covered by the RAD tool. It helps you build faster, write less code, but it isn't no code.
- rattray 2y ago> 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 I believe this is the promise of AppSmith: https://www.appsmith.com/ https://www.appsmith.com/ I haven't tried it myself, curious for others' experiences
- carlosjobim 2y agoSmall businesses don't want to pay for simple apps. They want to pay a percentage of their sales to a large middle man who takes care of sales. It's too much for them to pay a few thousand (or hundred) dollars for a bespoke solution, but they have no problem paying tens of thousands per year to a middle man. There's a reason small businesses remain small.
- hobs 2y agoAlmost none of those reasons are managing what are generally trivial costs for a growing business. Small businesses remain small because they: cant scale, have a small tam, require direct labor from the founder to get the job done, the market is fairly well established but the founder has some special skills which are difficult to impart, especially in the context of the business. Market conditions, the ability to get capital, and a lot of luck have way more to do than is your SaaS bill a little too high, you can always just use some google sheets and google docs and get 80% of what you'd need in most SMB situations.
- carlosjobim 2y agoWhen you deal with enough small businesses, you'll find out that they usually pay a large percentage of their revenue to middle men in order to save a pittance of money or effort which would be required to get rid of the middle man. People don't act rationally. Those who do act rationally regarding their business, generally find ways to grow it beyond being a small business. Assuming they want to. Many are happy being small. SaaS is not a middle man. They're usually a good solution for a small business.
- coliveira 2y agoPretty much everything boils down to having capital. Tech startups work because they inject capital into an idea that can be developed using technology. If you don't have capital to hire talent and sustain losses during several years, you have little chance to create a growing business in the modern economy.
- jamalaramala 2y ago> I never fully understood why this programming paradigm died off. First and foremost -- the world wide web. Suddenly, we had a much more flexible way to deliver applications. If I remember it correctly, Visual Basic couldn't write to STDOUT -- so it couldn't be used as a scripting language for the web. Microsoft tried to push VBScript as an alternative, but it was linked to their expensive ecosystem, while LAMP (Linux Apache, MySQL Perl and PHP) was free.
- ransom1538 2y agoVisual basic was the best way to build business apps ever. We just got these features in visual studio. Some we may never get (drag and drop dbs, form builders, etc etc). The closest I have seen was Flash. But if you say Flash or visual basic you are downvoted. I will let people get back to their js frameworks.
- coliveira 2y agoYou're completely right, however the market for business desktop apps is over; not just because of the web, which is still inferior to VB in many respects, but because companies restrictions of what can be installed in a corporate desktop. It is much easier to use a web service than having permission to install a desktop app in a corporate computer. The huge Windows vulnerabilities destroyed the desktop as a viable business software platform.
- giancarlostoro 2y ago> providing technical support to many developers when I wasn't one myself yet! This reminds me of my days as a Lab Tutor at the programming lab at my college. I was only one or two semesters in helping people with Advanced Java homework while taking basic Java.
- pieter_mj 2y agoDeveloping visually with VB(A) RAD-like dev tools to build websites without wallgardening and cleanly generated html, css, js, server side code & whatever, is a huge niche to be filled. Incredible that it doesn't exist yet. Maybe I'll do it myself.
- wongarsu 2y agoDelphi is still around and filling a niche for boring business apps where usability, accessibility and quick UI development is more important than following design trends. You won't get any VC money for Windows XP styled apps, but if you make industrial hardware and need control and maintenance software Delphi is a reasonable and somewhat popular choice. They even cleaned up their licensing a bit, offering a free version for hobby use: https://www.embarcadero.com/products/delphi/starter https://www.embarcadero.com/products/delphi/starter
- xtracto 2y agoWe've been using ToolJet (the open source version) at my company with good results. It is self hosted, open source and you can export created apps in some JSON format. I've successfully setup a dev-stage-prod flow where we export from one env and import into another pretty seamlessly. The coolest thing about that is that I was able to hire a very Jr. Frontend dev to immediately start working building internal dashboards. I've used retool in another company but found problematic not having the source code for the lack of control.
- deleted 2y ago[deleted]