Earlier quoted context omitted.
The issue is there’s no engineering process around it, even in a shitty organization where the “engineering” is garbage. One place I helped out at had a pretty awesome access app for doing some business functions. Way better than the Oracle whatever they failed to replace it with. The problem was, nobody was willing to claim ownership. The business guy who wrote it was long gone, and IT would not accept an Access app…
> The problem was, nobody was willing to claim ownership. The business guy who wrote it was long gone, and IT would not accept an Access app. If the business relies upon that Access app, and IT refuses to accept it, then it's a failure of IT to accept it and then replace it. IT exists to serve the business.
Ask HN: Why did Visual Basic die?
501–510 of 535 posts
Re: Ask HN: Why did Visual Basic die?
#502Earlier quoted context omitted.
So when it goes wrong in many predictable ways it’s a nightmare. All the stuff software engineers put around software to make it reliable, fault tolerant, and generally having the expected behavior is not just for laughs but the result of hard-won experience.
Why would it be a 'nightmare' if they recorded everything down and understand their software, what it does, what it doesn't do, how it operates, etc.?
Re: Ask HN: Why did Visual Basic die?
#503Earlier quoted context omitted.
Nothing about two-tier architecture prevents you from keeping clients in sync, scaling up or implementing business logic. Consider that scaling your database has to be done anyway. Your web app will bottleneck on the DB too. The only difference is number of connections assuming you keep them open (but there are multiplexers for that, and many business apps don't need them anyway, RAM is cheap enough). With stored pro…
Of course, if you want to twist VB, or Delphi, or any of the client-server construction sets into pretzels, you could build a well-factored system. And yes, your data has to scale to your system size, regardless of the architecture. But if you use any of those tools (the article was about VB, after all) as designed, you cannot escape the problems I outlined. Your business logic will be either entirely on-client, or s…
Re: Ask HN: Why did Visual Basic die?
#504The real question then isn't why microsoft "abandoned" visual basic (they replaced it with something that is strictly better), but why people aren't using winforms or something similar in 2023. I think that's because 1) it isn't cross platform and 2) people have lots of other requirements that are difficult in winforms.
Aside from being cross-platform, I guess the winforms api requires you to manage a lot of stuff like data bindings by hand that people are used to having work automatically. People also want good support for various monitor sizes, although .net winforms is actually much better about that than vb6 because it has pretty decent layout controls so you don't have to write code to handle resizes to the same extent.
The fact is, the vb6 gui builder worked best if you just ignored resizing and only had to worry about one screen resolution, and even though .net winforms is better about that, it's still fairly complicated to use the layout controls to handle resizing properly
I think there was actually a project that was attempting to make a winforms-style api for Avalonia which would actually fix some of the problems including cross-platform support (including mobile; avalonia is pretty slick and it's unfortunate that microsoft hasn't just hired the people making it rather than focusing on stuff like winui and maui), but I think it stalled because among people making desktop windows applications there simply isn't that much interest in using a winforms style api in 2023.
Re: Ask HN: Why did Visual Basic die?
#505Earlier quoted context omitted.
I don't quite understand what you mean by UI being in a separate thread. You could have background threads in VB from what I recall (it's been a while...). The only difference is that Electron/JS forces you to do your own IPC messages whereas Windows would abstract that out.
What I mean was that if you ran a large function that would take a few seconds, any UI redraw would be blocked completely for that time. So resizing a window would not cause a redraw of the UI until it came out of the function, pressing a button would not visually reflect the button status, basically it would seem like the application was hanging. You could avoid this by peppering DoEvents in your loop. However, this…
https://learn.microsoft.com/en-us/previous-versions/visualst...
but from looking it seems like people were doing it by writing VB that ran in a separate EXE and then indeed, COM would let you do RPCs between the different processes. So multi-processing rather than multi-threading.
Re: Ask HN: Why did Visual Basic die?
#506Re: Ask HN: Why did Visual Basic die?
#507Earlier quoted context omitted.
It is funny how you talk tjat Excel is bad and the examples just dont work. Also lack of accuracy in calculating some complicated statistics that "nobody" uses is not really a calculation bug. Also most of those come from the fact that Excel has a precision of 15 digits.
My fav was when ms announced they'd paid an academic to fix =rand(), ignoring all the others. Let's see it. Fill the visible part of a sheet with it, conditional format the cells, red for negative etc. hit f9 to recalc and see a big bunches of cells turn red. Fixed random function to return a random number between 0 and 1. I haven't worked on gnumeric for a long time - examples came from gnumeric.org Excel was really…
Re: Ask HN: Why did Visual Basic die?
#508Earlier quoted context omitted.
Of course, if you want to twist VB, or Delphi, or any of the client-server construction sets into pretzels, you could build a well-factored system. And yes, your data has to scale to your system size, regardless of the architecture. But if you use any of those tools (the article was about VB, after all) as designed, you cannot escape the problems I outlined. Your business logic will be either entirely on-client, or s…
If you have an ability to force web-style updates on the client apps (which a tool like Conveyor supports, see my other posts or profile), then all you need is a database that supports many connections. You can then atomically upgrade all the clients by e.g. writing a version number to a db table that's checked as part of each transaction, if the version doesn't match the app proceeds to upgrade itself before continu…
Re: Ask HN: Why did Visual Basic die?
#509Earlier quoted context omitted.
Of course, if you want to twist VB, or Delphi, or any of the client-server construction sets into pretzels, you could build a well-factored system. And yes, your data has to scale to your system size, regardless of the architecture. But if you use any of those tools (the article was about VB, after all) as designed, you cannot escape the problems I outlined. Your business logic will be either entirely on-client, or s…
If you have an ability to force web-style updates on the client apps (which a tool like Conveyor supports, see my other posts or profile), then all you need is a database that supports many connections. You can then atomically upgrade all the clients by e.g. writing a version number to a db table that's checked as part of each transaction, if the version doesn't match the app proceeds to upgrade itself before continu…
Another thing people tried was putting the VB app on a network share so it wasn't installed on each machine, but I think all the ODBC and other config still had to be local on each client.
Powerbuilder apps were similar.
Re: Ask HN: Why did Visual Basic die?
#510Earlier quoted context omitted.
That was me. I wrote what I affectionately call "crapware," which are small apps that solve a problem but are not intended for use at scale. There was a lot of this stuff, such as little database queries, or hacking together a few industrial sensors with a crude display. Businesses ran on crapware. Maybe they still do. A few thousand lines of code that I wrote for a manufacturing fixture ran bug-free for more than a…
I came across such a project recently built using FileMaker in 2001 or so. On the original hardware, no less.