Optimum Programming Language to Learn for Finance?

I might try to take a programming course this summer. I have very little programming skills. Just rudimentary SQL skills from my last job.

Do you guys have a broad opinion on what language would be most relevant for ‘finance positions’ in general? Is it still C++ or what would be beneficial for me to learn?


C++ is always good, even if they don’t use it (goldman sachs) they assume that if you know C++ very well, you can pick up their inhouse language. I’ve always been asked C++ questions. but these are for quant roles. if you are going to be a financial analyst, Excel VBA and Access are most useful.

I agree with the above.

Dude I know it is frustrating being unemployed but what are your goals in learning a programming language? You have said you know little.

C++ is a great language to learn as a bridge to other languages. As an example I took 4 courses in CS at BU that were in C++. It allowed me to pick up R and be able to really build tools with it and go from quant/risk into engineering in the tech industry. But I sat in a classroom 3 hrs once a week and completed assigments. I don’t see someone with zero CS skills picing up a book and learning C++.

Also, you aren’t going to learn a programming language in a book and switch over to tech roles. Not going to happen. You need actual experience.

So what are your goals in learning a language? For fun or are you trying to get an actual job out of it.

start with some simple VB in excel. that’s a nice skill to have actually

Get Walkenbach’s book on VBA/Excel. That’s what I tell my students to do.


Check out this book (it’s free, which is a great price when unemployed): http://www.gilmet.ir/tools/Excel_VBA_Programming_For_Dummies.pdf

Python is supposed to be easy to learn. Idk how it will help you though.

As Blake said, we need to know why you want to learn to program.

Unless there is something very specific you want to do with it, I would say Excel/VBA is the most useful environment/language to know.

Also, be aware that unless you are intent on getting a job that specifically requires you to develop in C++/R/Python/C#/etc it is very likely that the company you eventually work at will have strict policies preventing you from developing and deploying solutions written in these languages. With VBA however, you won’t have these restrictions, or least nobody needs to know what you are up to for you to develop solutions.

I am relatively proficient in VBA, but I have thought about learning C++, but I am not quite sure how I would use C++ in a way that I wouldn’t be able to more easily leverage VBA in excel. Would anybody mind shedding some light on this?

Thanks guys. Seems like VBA would be helpful and if not, tangential… Not necessarily for work, more to keep my synapses firing for the summer months.

I already got the ‘disillusionment’ of ‘erudition equating to nothing’ these days… what a cycle, it’s feather plucking insane.

But for a general ‘resume’ enhancer leaning towards financial services, finance… in a practical sense. I’m old. just throwing this out.

Man, CFA must be over - three programming threads in three forums in three weeks.

Excel, VBA and SQL my friend

In general, jobs that require you to use C++ will have some non-trivial programming responsibilities. Unless you already have a relatively strong programming background, learning basic syntax in C++ will not help you make the jump to these jobs.

VBA, on the other hand, is commonly used by end users to enhance their basic functionality. Unless you are a quant or developer, you are much more likely to use VBA in your job.

Like what would you use C++ for that you couldnt do in VBA or VB.net?


HFT isn’t the only application (as I’m sure you know). Anything that requires significant speed can be improved by using C++. Historical backtesting of a variety of portfolio optimization strategies would be faster in C++ than any other. However, the downside of C++ is that it takes longer to develop. R and Matlab are both faster to develop, but slower to run the code (I believe they both can call C code). So there’s a trade-off.

To be honest, I haven’t used VBA at all in my current position. I don’t particularly care for it as a language and would rather program in other languages (R/Matlab, mainly) when doing work that no one else needs to see. If it’s work that others will see, a big problem is that if there needs to be changes to something in VBA and I’m not around to fix it, then there’s a fear that the spreadsheet will become worthless.

I was just giving an example. People who complain that I write replies so long that no one can be bothered to read them might appreciate that particular response. It takes longer to write TL;DR.

Anyway, I didn’t take offense at the above; I just wanted to point out that not everything I write is tome-like.

For me, the main advantage of VBA is that it can extend the functionality of Excel. Possibly there is the advantage that it is relatively simple to learn, but so is python. I don’t think I would ever choose VBA outside of an excel-oriented context.

Why don’t you put a summary up top for the lazy reader and then BChad’s wisdom down below?

It’s always funny reading people’s responses to these types of threads when you have people with zero production level programming experience offering their opinions.

bchad is like that mumbling guy you see at the bus stop talking to himself.

Blake, suppose he is actually trying to get a job out of it. In that case your recommendation would be to do an MS in CS, I suppose?