4 ms·
As someone who used to work on Excel, awesome work and congrats on the launch! I get that it's easy to bash on VBA, but I'd argue it's what made Excel what it i
by strongpigeon 3y ago
As someone who used to work on Excel, awesome work and congrats on the launch! I get that it's easy to bash on VBA, but I'd argue it's what made Excel what it is today (though maybe not the language/runtime per se, but rather the ergonomics).
I feel pretty confident saying that probably 5% of the world's economy runs on VBA macros that were started by some eager worker that was tired of doing repetitive tasks and wondered what that "Record Macro" button did. I've heard that same story personally from so many users, about how they learned to code by hitting "Record Macro", doing something and looking at the resulting code. Their macro then grows and grows and ends up powering the entire business, but becomes an unmaintainable mess.
If you add the ability to record macros and maybe a VBA -> Python cross compiler, that would probably be killer for a lot of people. Though honestly, I've seen some stuff in VBA that's probably best left alone (e.g.: a self-rewriting VBA macro).
That being said, I'm sure your biggest hurdles are going to be cultural rather than technical. Excel is just so ingrained in so many business. But I genuinely wish you best of luck and am rooting for y'all!
- padjo 3y agoVBA macros were my route from teenager in a warehouse to a 20+ year career in software development
- gamegoblin 3y agoI want to hear more about this self-rewriting VBA macro
- strongpigeon 3y agoFrom what I remember (that was almost almost 10 years ago, so a bit foggy now), it was some finance/trading people (the crazier stuff is always from finance people) that were doing some optimization work and found they had better performance by putting back the values in the macro itself and rerunning it. Something to that effect. (Or was it for versioning? I forgot the details honestly) I think they were using file system calls with some tools to rewrite the file directly. But IIRC it's possible to do it just via the API.
- gamegoblin 3y agoAs the guy who wrote most of the Row Zero backend engine, I pray to god I am never asked to implement anything like this :)
- datadrivenangel 3y agoThis is absolutely finance-tier insanity. I bet it made them a lot of money. This is like running into issues with non-converging iterated calculations...
- deleted 3y ago[deleted]
- tacone 3y agoMe too. Just wondering if it will finally awaken and try to destroy humanity :)
- specialist 3y agoEarly '90s, VBA was awesome. I never understood two of Microsoft's owngoals: 1) The lack of a migration path from workgroup (LAN) to client-server for Access et al. So dumb. SQL Server should have become a first class citizen of Access. Or Access become a viable front-end end to SQL Server. Where swapping JET and MSSQL was a drop-in no-brainer. (Maybe that happened later...) 2) Not unifying tabular data. And then make Excel and Access "modalities" (?) for accessing that data. Lotus' Symphony (successor to 1-2-3) was so awesome; hybrid database and spreadsheet. aka The Correct Answer™. And Symphony was on DOS! (Lotus' Improv was even cooler. I wish I knew why it didn't succeed.) I guess all this ML data pipeline Parquet NumPy stuff finally separated tabular data from how it's used. Yay. I haven't used the Microsoft stack in anger since late '90s, when Java emerged, so maybe the .Net/CLR reboot mooted my complaints. I never had the chance to use Borland's tools (Paradox, QuattroPro) in anger, so don't know if they did any better.
- cyrialize 3y agoOne of my previous work places with an auditing data set company. We'd collect data sets from various sources (like public filings from the SEC) and the we'd send them over to different research teams to enrich the data in various ways. That company was very Excel heavy - which made sense, we had data entry, accountants, and other people who worked in finance. My CTO told me a story about how one day a member of a research team asked for a new computer. The old computer worked fine, but the employee wrote a VBA script in Excel that would crunch data... and wouldn't finish until 3 days later. This employee wanted a new computer so that he had one to use while the other one was crunching data. We ended up taking his VBA script and putting it into our codebase.