436
Microsoft to kill off VBScript in Windows to block malware delivery
(www.bleepingcomputer.com)
This is a most excellent place for technology news and articles.
I hope they kill off VBA too. I still see some teams in banks implementing Monte Carlo simulators or PDE solvers in straight VBA 🤢
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.
Can confirm. Worked at several billion dollar corps that would collapse without vba.
Can confirm as well. It's wild
Another Sys Admin confirming that yes, the finance department runs nearly entirely on VBA. They would be lost without it.
I want to see that happen.
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.
IT isn't developers. What is really needed is a developer on your team, or somebody who at least knows how to lead the effort. I've been that guy.
We do have developers on our team. They write Excel macros :). I work in data integration, so it isn't as simple as building a more robust tool. We still need infrastructure support or our tool doesn't do anything.
Please at least tell me that the Macros are just a front end for ODBC connections to actual SQL servers for ETL functions, and it ALL isn't stored only in excel...?
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.
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.
MS: You have until (now +2 years) to phase out VBA.
Enterprise: panic noises
Nah. They'll just sit on their hands for two years and then panic.
And then MS will issue a limited extension.
An business still won't be ready.
Modern auth on email is still causing problems for a lot of places.
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#.
Well it's gotta be done some time... otherwise we end up with another version of COBOL.
We're already there, I don't see VBA being phased out of accounting or finance for at least a decade and I'm not even sure then.
Or how about this... we use what works and stop throwing the world into chaos every 4 years so Microsoft can sell their next 50k/year enterprise application.
WTF, seriously? VBA feels more like a scripting addon (which I suppose it is), not something to build wholesale CRITICAL programs with.
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).
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.
They have an alternative called Powershell that can do what VBS does and more. Its a modern and actively developed scripting language that Microsoft undoubtedly expect you to port your code into, that is if you cant use a cloud product first wink wink
It will be a shit show of course, at least for those orgs that dont block this depreciation outright via whatever method comes out. Still, there is putty to patch the holes.
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.
Haha, don't I know it. I've had to work with some of them in a past life. Messy and also very scary at how they underpin million dollar decisions.
This is true for software in general.
The same description can be given to workshops (and you know they already exist) that do the same stuff with ChatGPT.
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...
I'm migrating some VBAs to python/pandas and reducing some process times from half an hour to 3 minutes.
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).Yes. Python is a LOT more powerful. Requires a LOT technical knowledge to operate.
Are you making north of 150k to make your strife worth it?
Or are you raising the technical bar while also lowering the compensation bar?
Myself, I make 60k and my VBA gets the job done. Zero incentive to get into the minutia you just explained. My shit works. And I'm not set on fucking up the bell curve for everyone.
Python is way easy lo learn that VBA imo, and is way more useful.
bruv Python is so simple you barely need to know English to use it. Haven't used VBA but I'll just blindly guess it's more difficult because honestly I have not seen a language that is easier to pick up than Python.
Well, if VBA disappears, Python is what I'll need to learn.
If I don't need to learn a new language tho, I'd prefer that.
Honestly, 95% of my vba is just nested do until loops.
The remaining 5% is ODBC connections and BCP shell commands.
Not trying to hate on you but this sort of take is really bad. I understand if you dislike programming and are forced to do it for your job but otherwise learning a new thing occasionally is a good thing. In case programming is a key part of your job it's like a carpenter saying "I prefer hand sawing everything but if they discontinue them I'll be forced to use a table saw". But again, if you are forced to program at work despite not liking it that changes things.
I challenge your read.
I love programming. I'd love to expand my knowledge.
I am 5 years deep on "you hired an analyst and then demanded a developer/architect/salesman, and the payrate didn't follow. I am still making creative ramen dishes from my rental when I should have a house, and I should get a yearly vacation."
My CEO gets 30% gains yearly... and he is the only person at my company that enjoys that.
Basically I am striking. Like the rest of the world.
Cool you are making a fair wage and aren't scabbing on your peers. Because a love for leaving behind what works to make something in a different language that also works fills your soul with joy?
Yes? I don't know what you expect me to say here, why tf wouldn't learning a better language every now and then fill me with joy? I'm dabbling in side projects all the time and when I switched from React to Svelte I felt elated because it's just so much more comfortable to work with. If your boss is not paying you for your work that's that but nothing stops you from learning new stuff for yourself. I do understand you not wanting to hand your boss your training for free but nobody forces you to do that either, just don't mention that you can use python when asked. That simple.
I feel like we are "mirror images", but not in a predictable way.
Like, you get off on flying through languages having done things in said languages but never fully understanding any language and I get off on not needing a new language until I fully understand the one Im on, but LOVE informing you on the same tripwire you hit in each new language whilst I trip over that same thing in my language. Every. Time.
I dont fancy you wrong, just not correct.
I'd hope you'd fancy me not correct, but also not wrong.
I wouldn't excatly say I'l flying through languages. My migrations so far were these:
C++ -> Rust: I learned C++ in Uni, I switched to Rust pretty quickly because I heard a lot of good things about it before I needed a compiled language in my free time
Python -> Bash: sort of a regression but most of my projects using Python by now have been moved over to Rust because I value the stability it provides. Bash replaced the use cases for small things like turning off RGB before suspend and things like that. I looked at Python, tested out Bash and concluded that my experience would be better with Bash despite it being older and less user friendly
Typescript + React -> Typescript + Svelte: I initially started out using NextJS and was growing frustrated with it, heard a lot of good about Svelte and decided to try it out on a smaller project. I quickly discovered that using Svelte increases my development speed and significantly reduces my headaches.
That's 3 switches in 4/5 years of developing things, most of these happened pretty early on as well. What I'm doing however is keeping an eye open in case something pops up that would suit my needs substantially better than what I already have.
Btw, Libreoffice supports python scripts. Other offices too?
Excel will kinda support it soon, unfortunately it will only be available to run in the cloud and not locally.
I work in corporate, so it's Microsoft all the way up.