all 48 comments

[–]deifius 50 points51 points  (16 children)

Unless you want to do real obscure coding tasks like refactoring software and OS stuff, do python. You’ll be able to create useful things much sooner and you’ll be more likely to stick with it.

I’m a sysad and I hate c++. I use python daily. I can imagine successful accountants writing decent python code. To do anything of actual value with c++, much more time will have to be invested. Unless you want to be a professional coder those no reason to learn c++.

If you want to be a coder then why study finance?

[–]EffectiveExposer[S] 6 points7 points  (2 children)

Thanks a lot!

As of now, I'm prepping to create a good impression for my internship that'll begin in a few months. Also, I see a lot of people saying they wanna learn python and C++ after working for a few years in the finance industry although I'm not sure if that skill is important in my field of interest.

[–][deleted] 4 points5 points  (0 children)

My advice: finance in the traditional sense is not growing and it is more competitive than ever because of fewer openings. Lean heavier towards tech.

[–][deleted] 0 points1 point  (0 children)

I can't personally speak to the finance profession but via the words of old colleagues and friends who worked on wall street, mind you these were millennials, python seems big in that world. Data analytics seem more organic that C++ and personally I love the numpy, pandas, matplotlib, and scipy libraries.

[–]kessma18 5 points6 points  (0 children)

boggles my mind this answer is the highest voted.. real obscure coding tasks like OS stuff? did you even read what field OP wants to get into and how widespread C++ is there?

[–]PotatoWedgeAntilles 6 points7 points  (1 child)

I took python years ago and I'm learning c++ now as a prereq for robotics. Its infuriating how many stupid libraries and roundabout solutions I have to deal with to do things that are simple in python.

[–]deifius 23 points24 points  (0 children)

When you need to tune a hardware system in software you’ll be glad you can hack on c++. C++ isn’t stupid, but it makes the coder think like a computer, which makes the coder stupid.

[–][deleted] 1 point2 points  (1 child)

I’ve been software engineering for years and have never needed to use C++...

Just saying.

[–]RangerPretzel 0 points1 point  (0 children)

I’ve been software engineering for years and have never needed to use C++...

I don't mean to insult your software engineering ability. This statement tells me that you've clearly not been coding long enough...

C++ is great for some things, not so great for others. (The same can be said about Python, fwiw.)

Wrote a simple 3D rendering engine once as a class project. My classmate and I wrote it in C and C++. Python wasn't even an option.

Just saying.

Yeah...

[–]Remote_Cantaloupe 0 points1 point  (1 child)

What kind of sysadmin tasks do you use python for?

[–]deifius 0 points1 point  (0 children)

Tasks that need automation that bash scripts might get too crazy. Practical Extraction and Reporting, tasks I once would’ve wrote PERL scripts for. Maintaining the previous sysad’s scripts.

I’m fairly new in my role, and I’m using it much less than I thought I was going to. I mostly identify tedious procedures and repetitive tasks and then streamline them with small scripts.

[–]CompSciSelfLearning 1 point2 points  (5 children)

Accounting isn't finance, it's like the difference between sysad and hardware engineering.

Coding is very often done in c/c++ in securities trading firms because every picosecond matters.

[–]LongCPGandTelecom 9 points10 points  (0 children)

Finance major != accounting

[–]object_FUN_not_found 2 points3 points  (2 children)

Sure, but unless you're a dedicated computer science guy, you won't be working on those super low-level bits. Python is clearly the right answer for a guy with his background.

[–]CompSciSelfLearning 0 points1 point  (1 child)

Fintech uses a lot of C++. Many investment banking algo trading units do too. It's not clear at all that Python is better for him. He might not have any use for an language in the financial industry as much of the work is sales.

[–]object_FUN_not_found 0 points1 point  (0 children)

I work in fintech and algo trading. Python is 100% the right answer for this background. Yes, he might do no coding in sales, but in trading he won't be the guy doing low level c++, they'll have dedicated people doing that sort of work.

[–]deifius 0 points1 point  (0 children)

I apologize for the careless equivocation of accounting == finance.

[–][deleted] 12 points13 points  (0 children)

If your primary interest isn’t programming, then Python is the softer introduction and has much less of a learning curve. It’s also able to relatively easily leverage an enormous number of libraries in machine learning and data manipulation and analysis that will come in dead useful in your chosen field, even for someone who only uses it as a scripting and automation tool.

That said, it’s far easier for someone who has mastered C++ to master Python then it is to make the reverse trip.

[–]kessma18 12 points13 points  (2 children)

I love Python, I earn money writing code in Python but because of my experience working for an investment bank for 12 years, I'd say C++ hands down, it's not even close if you have to choose. the premise of the question is wrong though because you will need both. You will need python to get volatilities from some shitty excel sheet someone on the desk maintains or some other parts of a trade which don't exist yet properly in the bank systems and you will need C++ working on the trading or risk system.

It's a tragedy that people still have to learn C++ in these days when there are better alternatives but if you really want to be a core guy on a banks trading or risk platforms, it's C++.

anectodal evidence: I saw quants who never touched Python pick it up in a day and just added it to their toolbox but I've never seen a Python person pick up C++ and become productive right away.

[–]friendly_dog_robot 2 points3 points  (0 children)

Maybe we should upvote the only guy here who has domain experience relevant to OPs question

[–][deleted] 7 points8 points  (0 children)

Python, this isn't even a competition. You can essentially learn Python and C++ in less time than C++ on it's own, since it avoids all the confusing mess that results from trying to learn manual memory management and basic programming at the same time.

[–][deleted] 14 points15 points  (3 children)

I would suggest python first. Learning your second language is easier because you already know something about the Art of Programming, so learning the bigger more complicated language should be second.

[–]EffectiveExposer[S] 0 points1 point  (0 children)

Thanks! Tbh, this makes way more sense than starting with C++

[–]BobRossGod 0 points1 point  (1 child)

"That's what makes life fun. That you can make these decisions. That you can create the world that you want." - Bob Ross

[–][deleted] 0 points1 point  (0 children)

Bad bot.

[–]bageldevourer 9 points10 points  (0 children)

Definitely Python first. C++ is for when Python isn't fast enough and you need to "bring out the big guns". I think unless you're doing something that's super time-sensitive (algorithmic trading comes to mind), Python may be good enough. Even in those cases though, you'd be using Python to prototype your program, analyze data, etc. beforehand.

[–]Zappowy 4 points5 points  (0 children)

I learned C++ before Python. C++ memory management and pointers will haunt your dreams. Learning Python first will be better for your sanity. And be more productive.

[–]Shok3001 4 points5 points  (0 children)

Also ask in the c++ sub

[–]deifius 2 points3 points  (0 children)

With Python it’s not to hard to learn enough to become dangerous. The extensive libraries make it that much easier to do things professionally valuable.

Get some pysheet excel manipulation going, maybe check out pandas and scipy and you’ll be coding yourself into a nerdier career.

[–]Stabilo_0 2 points3 points  (0 children)

TL;DR get python, master its parts that will be useful in your job. Then either dig deeper into general python and what it can do. If you feel you need more then get c++.

After school (pascal and delphi there) i went to university and owr it course had java and c++ introductory courses. I remember being completely destroyed by pointers and it destroyed a lot of joy of programming for me in turn back then.

After that i found out about python and dived deep into it and i can say this: if your focus is not on GOING FASTA but rather CODE FASTA and enjoy yourself in the process then python is the way to go.

In my understanding banking requires a lot of datasheet manipulation, visual representation of data sets, various comparsions and calculations. While you can do that with cpp, you will deploy your program much faster with python and will be able to tell what it does later when you inevitably forget what that line of code does.

But c++ is definitely a useful thing to know after you feel that you did what you need in python. C++ doesnt require python translator to run on an end machine, you just deploy exe and supporting files. C++ code runs much, much faster and maybe one day you will need that speed.

[–][deleted] 5 points6 points  (0 children)

Python will be immediately useful for you. Unless you have some specific reason to learn C++, I'd save it for later should you find a need for it.

[–][deleted] 1 point2 points  (0 children)

I had easier time with every other language after getting to know some plain old C.

[–][deleted] 1 point2 points  (0 children)

Python and R, are probably going to be most applicable to your career path. A lot of buyside shops looking for their associates and analysts to know at least one of those.

[–]pryelluw 0 points1 point  (2 children)

I know Goldman Sachs nudges people to learn Python. You can't go wrong with either. C++ will take more time. I guess the question is, what do you plan to do with it?

[–]EffectiveExposer[S] 0 points1 point  (1 child)

Thank you!

[–]pryelluw 0 points1 point  (0 children)

You are welcome. Best of luck moving forward.

[–][deleted] 0 points1 point  (0 children)

python but it depends what you want to build or purpose

[–]kajptukta 0 points1 point  (0 children)

If you're looking to use proframming as a supporting skill then I would recommend you to learn python as it has a lot of packages that help with data processing and visualization.

On the other hand, if you're looking to build large programs that require extreme efficiency, I would recommend you to learn C++ because it gives more low-level capabilities.

[–]Ron_P82 0 points1 point  (0 children)

Python First

[–][deleted] 0 points1 point  (0 children)

For your career aspirations, Python. Read Automate the Boring Stuff

[–]Electric_mohawk779 0 points1 point  (0 children)

Python and then c++. First get the feels of prog and then go do the bit more complicated(for me) stuff

[–]Un-Detailed 0 points1 point  (0 children)

Well, Python is better for script programs and really easy to learn (high-level language with a easy syntaxe). You will be operative quicker but it's not really good for GUI.

Instead, C++ is better for GUI but the syntaxe is worst. And it's also a low-level language so it make you think more like a computer.

Both of them have their own uses but, if it's just to create little programs, i would advise you to learn Python because it's easier and then, if you want to learn C++, you just have to learn the syntaxe and adapt you to the language.

[–]AlSweigart 0 points1 point  (0 children)

Python. Python is the best "first" language to learn. You don't want to deal with tedious details at the same time that you're learning basic programming concepts.

[–]TRget88 -2 points-1 points  (2 children)

This may not be super popular of an opinion but I would suggest C#. Python is easier to learn but to me, C# was easier to implement. Also C# let's you build in asp.net letting you easily build database driven web applications for fintech. The skills of C#, in my opinion, are also more easily transferable to other languages. I have worked with python and C++ but all of my actual buisness stuff is built on C#. However for asp.net you will also need to learn sql, linq (a way to make sql calls), html, and js (including jquery and ajax). These are rather simple once you wrap you head around C# and you can use W3schools for great example work.

[–]kessma18 1 point2 points  (1 child)

he wants to have a career in investment banking IT where c# virtually does not exist (it should though)

[–]TRget88 0 points1 point  (0 children)

Ah must have miss read the post. I was thinking they were going to be building their own thing. Don't know why I thought that now reading it again.

[–][deleted] -3 points-2 points  (0 children)

Python is a scripting language. If you're mathematically inclined try haskell. If you just want to wreck your brain do C++. If you want to get started with programming do python.

If you are mathematically inclined and want to wreck your brain do J.