• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Death of VBA Greatly ExaggeratedIn

DominiConnor

Quant Headhunter
Joined
9/6/06
Messages
1,051
Points
93
On most of the popular tech websites there have been increasingly hysterical posts about Microsoft killing off VBA.
Although not loved by quants (or anyone else), VBA in Excel is the glue that holds together a large % of financial markets.
I always counsel newbies to get vaguely competent in VBA, because it allows them to demonstrate good visible productivity early in their careers. C++ might give you a better faster solution, but for some tasks VBA will do it sooner, which makes your peers and bosses think better of you.

Rest assured VBA is not dying. I have specifically had written confirmation of this from the product manager at Microsoft that it will be in at least the next version after 2007, which may or may not be 2009. Given that 90% of banks are on Excel versions that are 3-5 years old, it will be out there for a long time yet.
It's official now:
http://www.regdeveloper.co.uk/2008/01/21/vba_office_victory/
 
I feel the same way.
Friends and old classmates from IT keep telling that VBA is dying.
But I don't really believe it.
Nowadays, I see a couple of big banks' desktops are still running Nt4.0.
There are still enough Unix boxes on Wall Street running Solaris 2.6, 7 or 8.
Usually the support ends like 5 years after the announced discontinue date of an OS version.
A lot of places are still running Office 2000 now.
 
I think one issue is wishful thinking by software developers used to working with other more ummmmm "standard" languages. Every engineer who has had to use it can rattle off a list of "missing" features in VBA. But VBA will not die so long as there is a spreadsheet in circulation with your name in the macro comments.

See this classic article: "Thirteen Ways to Loath VB"

Dr. Dobb's | Thirteen Ways to Loathe VB | August 12, 2000

I've had to use VBA in one form or another for about 10 years now and I'm still afraid to allude to it in a resume.
 
On most of the popular tech websites there have been increasingly hysterical posts about Microsoft killing off VBA.
Although not loved by quants (or anyone else), VBA in Excel is the glue that holds together a large % of financial markets.

Rest assured VBA is not dying. I have specifically had written confirmation of this from the product manager at Microsoft that it will be in at least the next version after 2007, which may or may not be 2009. Given that 90% of banks are on Excel versions that are 3-5 years old, it will be out there for a long time yet.
VBA coupled with DLL calls is a fast and powerful development platform.
Dot-Net VSTO has proven to be a huge hassle....and quite slow.
 
joe_bradly is right, asa headhunter I will share that it's rare that VA is demanded in a job spec, though for trading roles, competence in Excel is seen as positive.
A good % of you will be doing internships, and I'd counsel you to pick up a good Excel book and learn enough VBA to get by. I understand Baruch has Bloomberg terminals ?
Work out how to suck data out of BB and you noticeably increase the chances of turning an internship into the sort of job you want.
I would assume that not one of you aspires to being an Excel jockey upon graduation, but most are in the position of having a good academic record, but little proof that you can actually do things. Fix a few trading spreadsheets, and your chances of ending up in front office are much better. But I tell you three times back it up first, back it up first, back it up first.

The converse applies, try yto avoid helping backoffice with their spreadsheets, else they will really like you, which is good if the market goes completely tits up over the next year, but in the middle case creates an ugly attraction.

I've bugged MS several times to give me the spec of how VBA attaches to Excel. They've told me some stuff under NDA, but not enough to do what people actually want.
It is not very hard to swap out VBA (which is a rip off VB 5) and replace it with C#.
There would be a performance hit, but a surprisingly small one, and in many cases compiled C# would go faster than interpreted VBA.
You could do it for VBA.NET as well, if anyone actually used it.

I've never met anyone who liked VSTO, not one.
 
I've never met anyone who liked VSTO, not one.
I used to like it. It lasted for exactly however long it took me to port my first C# into Excel 2007. As soon as I got it working and started thinking about deployment, it hit me right there. Did M$ even think about deployment when they work on VSTO or they just hack stuff together so people stick to their Office products ?

I don't think I have found any reasonable way for me to send my VSTO code to someone with Excel 2007 and get the product working properly without hacking away their registry.

I didn't even mention the way you debug VSTO : it gotta restart Excel everytime you debug and if your Excel has ton of addin, then it's frustrating. And the performance hit when porting c# over is very noticeable.

Anyhoo, when you find one person who likes VSTO, let me know. I gotta ask how he deployed his stuff ;)
 
Damned right Andy.
Microsoft's PR people are going to be setting up an interview with the VSTO people, who I imagine like what they've built.
Feel free to vent any more.

Robert Heinlein, the engineer turned SciFi writer talks of some products that reach a perfection that can only be surpassed by a complete redesign on different principles.

I don't think anyone thought that was the case when we first saw VBA, yet in the 15 years since it came out, MS has struggled and failed to produced something with an equivalent balance of ease of use and power.

It is possible to make a C++ DLL addin that comes in a single file with the spreadsheet itself making deployment really quite trivial. When I get some free time, I'll hack that for Excel 12.
 
Back
Top