this post was submitted on 11 Oct 2023
439 points (98.9% liked)

Technology

59148 readers
2266 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 110 points 1 year ago (4 children)

Man I hate VBA as much as the next guy, but when the IT department has your network so locked down you cant install anything. Having that hidden tab in Excel to write a script to automate some mundane task was really useful. I like python, but there's no fuckin way my ex employer would just allow me to run random python code like they did for VBA. It was a gov job btw.

[–] [email protected] 50 points 1 year ago (3 children)

Python is soon to be integrated into excel, I might not be a python fan but if it's gonna replace vba I'm all for it.

[–] [email protected] 54 points 1 year ago

It'll only run on cloud. Their employer would probably block that too.

[–] [email protected] 35 points 1 year ago

Afaik the python is ran on Microsoft servers, so not exactly a perfect solution. I doubt it will run offline at all

[–] [email protected] 10 points 1 year ago (3 children)

Wouldn't it face the exact same security issues as VBA, with drive-by installs of obfuscated malware and executions of arbitrary code?

[–] [email protected] 6 points 1 year ago

Can you not say that too loudly please

load more comments (2 replies)
[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

The article is not about VBA, it's about VBS. The languages are similar but not the same (why exactly MS did it this way I'll never know).

VBA is for embedded macros in MS Office documents.

VBS is a standalone language you write into .vbs files that get executed by wscript.exe. It's a default windows feature that has been around a long time (IIRC the ILOVEYOU worm used it).

load more comments (1 replies)
[–] [email protected] 101 points 1 year ago (2 children)
[–] [email protected] 36 points 1 year ago* (last edited 1 year ago) (1 children)

It is their own Adobe Flash and it’s good that it is faded out. Too obscure in modern times, too many security flaws. Only warm nostalgic memories will remain in 10 years.

[–] [email protected] 32 points 1 year ago (4 children)

It is their own Adobe Flash

No, that was Silverlight. VBS is MS's JS.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

While true it was their actual flash, based on install basis and history, silverlight was a blimp on MS history. While flash died slowly off after 2008 as html5 gained ground and plugins fell out of favor (anyone remember java applets?), MS decided to launch their own Plugin into a world that already turned away from this technologies. Classic MS.

The comparison that VBS is like MS JS is a bit wonky, as JS is breathing and alive, while VBS is not. You also never encounter VBS on a website.

load more comments (3 replies)
[–] [email protected] 8 points 1 year ago

Some men just want to watch the world burn.

[–] [email protected] 67 points 1 year ago* (last edited 1 year ago) (2 children)

I hope they kill off VBA too. I still see some teams in banks implementing Monte Carlo simulators or PDE solvers in straight VBA 🤢

[–] [email protected] 112 points 1 year ago (11 children)

I have seen critical enterprise applications run in VBA in excel. Removing VBA would cause global economic ruin. I'm pretty sure that's the unspoken backstory for the Fallout series.

[–] [email protected] 44 points 1 year ago (2 children)

Can confirm. Worked at several billion dollar corps that would collapse without vba.

[–] [email protected] 22 points 1 year ago (1 children)

Can confirm as well. It's wild

[–] [email protected] 11 points 1 year ago

Another Sys Admin confirming that yes, the finance department runs nearly entirely on VBA. They would be lost without it.

[–] [email protected] 5 points 1 year ago

I want to see that happen.

[–] [email protected] 39 points 1 year ago* (last edited 1 year ago) (5 children)

Another confirmation here. At my previous job, I was they guy who built Access databases and wrote VBA code. While not ideal, it was a very small business (less than 10 employees) and it was fit for purpose.

When I got a new job at a company with almost 3,000 employees, I was like, "Finally, I'll be working somewhere that has proper IT resources." Ha! I soon find out that my department runs critical business infrastructure with Excel macros. And we have a proper IT department.

As everyone has already said, if IT resources are in short supply (or the wait is too long, or building projects with IT support is a PITA), then people will build systems with the tools they have at hand. And that's often MS Office.

[–] [email protected] 22 points 1 year ago* (last edited 1 year ago) (2 children)

Also remember, strictly speaking, IT is not software development. IT is networking and hardware management.

Software development (and scoff all you want, but VBS/VBA are programming languages/frameworks used to develop software applications) is its own separate beast.

They MAY report to the CIO. They could also report to the COO. Fuck, software development/process automation/business intelligence can have a director reporting directly to the CEO.

In general, software development and information technology are not the same and don't reside in the same chain of command.

[–] [email protected] 11 points 1 year ago

Strictly speaking, information technology encompasses software dev as a subfield. Practically, a large software development at a company has very different needs and strategic goals than what people usually understand as the "IT guys" so what you mentioned. So they are set up accordingly in an organisation.

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 27 points 1 year ago (2 children)

My job is literally to keep a NASDAQ company afloat on process automation written mostly in VBA to make up for the sweeping layoffs that were made to keep the CEOs bonuses fat...

[–] [email protected] 11 points 1 year ago

That type of bonus is usually called a “bone us”

load more comments (1 replies)
[–] [email protected] 20 points 1 year ago (6 children)

WTF, seriously? VBA feels more like a scripting addon (which I suppose it is), not something to build wholesale CRITICAL programs with.

[–] [email protected] 25 points 1 year ago (2 children)

They didn't start out building an enterprise critical application, they normally started as some little script someone built to make their work faster. Then they shared it with the team, built more features, and 20 years later hundreds of staff are using it and if it dissappeared they would be screwed.

Plus the data in them is often the only record of critical data (in their defense, the spreadsheets are typically stored somewhere where the backup process will back them up).

[–] [email protected] 13 points 1 year ago

they normally started as some little script someone built to make their work faster.

It's me, I'm that guy lmfao, although by the time I left it was considerably more complex. I have "real" languages under my belt, but it was a banking environment and VBA was all I had (Which even that kinda surprised me lol).

I was hooked into the windows API and doing all sorts of stuff and yea before leaving I did distribute stand alone parts of it (The full system was a beast, 90% of my job was automated towards the end lololol)

Honestly, VBA is more powerful than people give it credit for, just a PITA to implement some things

[–] [email protected] 12 points 1 year ago

Nothing is more permanent than a temporary solution

[–] [email protected] 15 points 1 year ago* (last edited 1 year ago) (1 children)

At my old job, we had a VBA script that would:

  1. Pull client data from SQL
  2. Load data into an Excel file
  3. Update charts and KPIs
  4. Copy/Paste chart and KPIs into PowerPoint
  5. Switch to the next client
  6. Repeat steps 1-5 for +100 clients

Thirty page custom reports per client within 2 minutes (when nothing broke). It allows you to interact and automate across the Microsoft Suite. That is one of the reasons why it is indispensable to many companies

load more comments (1 replies)
[–] [email protected] 14 points 1 year ago (2 children)

The things done in excel might not be critical per-se, but macros are used and abused a lot and many companies can be affected by their dependence on workflows refined over the years.

load more comments (2 replies)
[–] [email protected] 12 points 1 year ago (1 children)

It's a scripting language.

A solid, verbose, diverse scripting language that gives you impressive control over Windows environments.

If some people are delivering malware or phishing, that sucks, but it doesn't negate the languages merit.

It would be the same as ceasing production of spray paint because of taggers.

The ends don't justify the means.

load more comments (1 replies)
[–] [email protected] 5 points 1 year ago

I suppose Microsoft Access has better options now you can define the steps in macros, but I think it's still needed for many of the more fiddly bits.

load more comments (1 replies)
[–] [email protected] 14 points 1 year ago (1 children)

I have seen critical enterprise applications run in VBA in excel.

I wrote one of them. It replaced periodically writing down application outputs on paper and sounding the alarm if something went pear-shaped. It wasn't my job to develop software but I didn't want hand cramps to be my job, either. I had vague ideas about how to do what I wanted to do with Excel so I poked at it and googled until it worked. More than a decade later, I'm no longer there but that freakin spreadsheet is still running 24/7, being proudly showed off during tours of the facility.

I will cackle if MS ever pulls the plug on VBA.

[–] [email protected] 12 points 1 year ago (2 children)

Your story is pretty typical in my experience. No one hires a dev team to build a VBA tool (except the occasional MS Access tool). It's normally someone doing the work who works out how to do a basic macro to make it quicker, and it grows from there.

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

Indeed. In my case, I fought through managerial malaise and turned the entire process on its ear. But even after the approach proved its worth, they refused to put a dev resource on it. It became my problem 24/7.

Remember kids, being good at something outside of your job description means it's now your job. If the boss refuses to compensate you for it, slap it on your resume and find someone who will.

load more comments (1 replies)
[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

I've worked for a major international company and I was for a while the only maintainer of a shitty request form in an excel file, sent worldwide to hundreds of people. As they wanted more and more specific functions the stuff grew to thousands of unholy VBA code lines and a huge hidden sheet of data.

That thing even had a fully custom language switch function for all dozens of field labels and their possible values.

I kinda hope they're still using it (that wouldn't surprise me) and that their whole workflow will crash and burn when Microsoft finally kills VBA.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (1 children)

MS: You have until (now +2 years) to phase out VBA.

Enterprise: panic noises

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (1 children)

Nah. They'll just sit on their hands for two years and then panic.

load more comments (1 replies)
[–] [email protected] 6 points 1 year ago

Enterprise will cause a boom in hiring VBA devs to migrate legacy apps to other programming languages, then hear Microsoft will extend support for a few more years, then fire all those VBA devs again. If Microsoft had some wits, they'd create easy tools to migrate VBA to C#.

load more comments (3 replies)
[–] [email protected] 24 points 1 year ago (4 children)

I'm migrating some VBAs to python/pandas and reducing some process times from half an hour to 3 minutes.

[–] [email protected] 19 points 1 year ago (11 children)

Yup that's normal because VBA is single-threaded, doesn't take advantage of vector instructions and even its interpreter is slow. So when someone writes numerical code in VBA working in single precision, and assuming they have an 8 core CPU with AVX2, they're using only 1/64-th of their CPU's processing power. On the other hand with Python, while it's still interpreted, the interpreter is much faster on its own, and you have modules like numpy that use precompiled routines that take advantage of vector instructions (and possibly multiple cores).

load more comments (11 replies)
load more comments (3 replies)
[–] [email protected] 53 points 1 year ago* (last edited 1 year ago) (2 children)

The first hack I ever did was to remove the security add-on my middle school put on our macs so we couldn’t play games. The attack vector was the file APIs in VBScript executed via a word doc. Fun times!

load more comments (2 replies)
[–] [email protected] 25 points 1 year ago

Took them long enough.

[–] [email protected] 19 points 1 year ago

What if law enforcement need to make a gooey to trace a hacker?

[–] [email protected] 12 points 1 year ago

Hopefully this means a modern replacement for slmgr.vbs

[–] [email protected] 7 points 1 year ago

It's okay, we will have python as a replacement.

load more comments
view more: next ›