What programming language should I learn

I was wondering about which programming languages would be most beneficial to learn for a (most likely) future finance guy? I'm currently a freshman in college, and am really interested in learning how to program. I've wanted to learn for a really long time but never got around to it. I also considered starting a business, so I was wondering about the coding languages that may prove useful in that endeavor as well? I tried using the search option, but I found relatively old posts that may contain antiquated advice. Is Python the best for complete beginners? What about Ruby?

 

VBA is messy/ugly. If you want to learn how to program for its own sake, python is good to start - it's really clean. C++ is also used in a lot of different stuff.

 

Depends on what you want to do. Either way, pick a language, learn it, and start to learn some actual computer science(data structures, computer architecture, algorithms, etc,).

I'd pick C. It's a solid language that every beginner should learn. From there you can pick any OOP language...C++, Java,C# Python, whatever.

Do you just want to be able to code, or become a really good programmer?

 

I think it depends on how quant you'd like to get: -C++ is extremely powerful, but can be a pain....overall the best IMO. -VBA might be your best bet as it is not intensive and can easily be learned in a short period. -Fortran still exists at some firms..good quality/math library, but I wouldn't recommend it. -MatLab maybe...all my econ buddies use this.

 

Do you want to write great code? Or do you want to be able to have a leg up against other applicants?

If its the former I would actually suggest a different route than most. I would suggest reading the great classic novels while you are learning a basic language. Pick up some C, C#, C++ while you are reading Vonnegut. Code is as much about how good of a writer you as the actual programming language. Your code is only as good as other can understand it.

Now if you just want to become an excel master then VBA with some basic C variant language sprinkled in.

Follow the shit your fellow monkeys say @shitWSOsays Life is hard, it's even harder when you're stupid - John Wayne
 
Best Response

While Python is probably the easiest and allows you to do the most the fastest, I wouldn't suggest it as a first language for someone trying to learn programming for its own sake. If you're trying to do something very specific, fine learn and use python. Otherwise, you'll be misleading yourself. Very few undergraduate computer science programs start people out using python. My suggestion would be to go through an introductory Java book, there are tons of free ones online. Java is the best language for several reasons.

  1. It's safe but not TOO safe. (Don't have to deal with memory management but can still get null pointer exceptions)
  2. Compiling Java is extremely easy, much easier than C/C++.
  3. After you have a good grasp of java, you should be able to read and understand code in most other languages. This is not the case with python.
  4. If you learn java first, your appreciation and understanding of why python is so unbelievably useful will be much greater. And, as a result, your python code will be better.

OP, feel free to PM me if you have any other questions about programming languages or if you would like any resources.

 

There's a C++ certificate...what? Looking it up, it seems like a waste of money. What's your current situation like education/work wise?

Spend more time learning more about object-oriented programming and algorithms. Less time on different languages. If you gain a fundamental understanding as programming as a science, the languages are almost all somewhat similar.

 
StrongMan:
As the title states:

What are some good programming languages to learn?

So far, i'm taking visual basic and python programming. Eventually, I will take the C++ certificate offered by Baruch. I'm just a little short on funds right now.

So that's three languages: 1. Visual basic 2. C++ 3. Python

Is that enough? What about R, Matlab, and SQL

This gets posted ad naseum. Do not get any "certification". Learn one language, learn it well, know basic algorithms(dijkstra, BFS, DFS) basic data structure(B-Tree, R-B Tree, Skip List), and you will crush any basic computer programming interview that they ask in trading.

Once you have a basic understanding of CS, every high level computer language is(more or less) identical.

If you want to write the fastest algos in the world, learn ASM. I am not joking.

 

There are so many threads on this. In general everyone agrees you should start with an OOP like C++ or Java, move into something more flex like Python, and then pick up VBA for Excel purposes. Sounds like you're on the right track.

If you're looking more on the dev side: In general, I hear my developer friends (both in software firms and on the dev side for prop trading firms, etc.) say that everyone should learn one scripting language (Python/Ruby/etc), one mid-level OOP language (C#/C++/Java), one functional language (Scheme/Haskell/Erlang), and the granddaddy of modern languages: C. It's quite a bit to pick up but I have to agree.

I don't consider things like R, MATLAB to be programming languages. SQL is a joke; you don't need to learn it to be able to use it since it's so straightforward.

Currently: future neurologist, current psychotherapist Previously: investor relations (top consulting firm), M&A consulting (Big 4), M&A banking (MM)
 
Brady4MVP:
Python is becoming a very commonly used scripting language at quant funds and prop trading shops. We mostly use python at my fund.

I know some banks like goldman have their proprietary language, like slang.

Brady, do you guys use PyPy?

Don't believe everything you think.
 
IlliniProgrammer:
R, Matlab, Python, C++.

Java more and more, too.

Add C#. Knowing database stuff is pretty important also: SQL and Microsoft Access.

I am not cocky, I am confident, and when you tell me I am the best it is a compliment. -Styles P
 

Thanks for all of the help, everybody. I thought since there are some quants who replied in this, you might be able to quickly look at another topic I just posted regarding general educational requirements. Any help would be greatly appreciated.

 

In anything financial, I have yet to see things other than Java, C++, and maybe Python (I've seen less of Python, to be honest). SQL and C++ are also used differently: the first is for databases, the second for general purpose.

Python is probably easiest to learn, then Java and C++.

http://learnpythonthehardway.org/book/ is your best bet as far as I know.

 

yeah... that's not what you do in accounting...

The only way that will be useful is if you go into "risk assurance" with PwC or "IRM" with KPMG--or whatever the other big4 equivalents of IT/risk management are. Those positions support the audit--that it, they will "test" management's systems to provide comfort around ITGCs or specific reports used in the audit.

Knowing a bit of VBA is useful--once in a while you can write a quick function to make your life a bit easier, but it's nothing remotely close to the scope of what you are talking about.

 

hey message to R5A7B.. How to get in risk management or portfolio analytics. Could you take a look at my resume and give me some suggestion. Right now having really hard time getting an analyst role in either finance or accounting as the job market is very bleak. Somebody said cause I have a technology background, maybe working there will be easier to get it in..Do you recommend to take additional courses other than SQL..Any help would greatly appreciate. My feeling is most people are average finance major who either have MBA or CFA and very few people like to do technical unless you come from computer science background. CFA requires lot of study, but I was thinking if I have some certificate can somehow get in to risk management. Any suggestion regarding job searching

http://www.visualcv.com/atishdas

 

I'm sure different recruiters will perceive it differently, but some do acknowledge the qualities one is likely to have if they're good at programming. It's problem solving, it's about negotiating different solutions and paths for one problem, sometimes it can even be about conceptualising unknown situations and modelling it in a quantifiable manner. So in that sense it can show good critical thinking and all that jazz.

As for knowing how to code, it isn't relevant to IBD at all.

 

Programming can help for trading jobs, but it doesn't really matter. Any kind of quantitative field like comp sci or math, recruiters like that b/c it probably shows you're a problem solver or logical thinker or something. Programming can be a bitch though, especially if you're not into it.

 

Magnam nisi aut voluptatibus aut pariatur eum. Quia est corrupti veniam tenetur nihil aut optio.

 

Id facere consequatur esse voluptatem corporis sapiente numquam voluptatem. Est natus porro quod aliquam atque. Et quasi earum sit impedit optio ab. Rem qui amet atque minus aliquam. Quasi natus atque soluta velit. Incidunt natus consequatur voluptas voluptatem ut ut.

Commodi consectetur similique ut ad. Dolorem qui fuga repudiandae amet et ratione voluptatem rerum. Esse ducimus natus nisi eos dicta saepe et nesciunt. Asperiores quae et natus ratione ab.

Veritatis officia eligendi occaecati unde qui sit iusto. Libero molestias nulla adipisci corporis. Quia voluptas inventore explicabo qui praesentium. Recusandae ab provident in rerum voluptates autem facilis. Quasi tempore optio consequuntur atque.

Est beatae ea saepe odio eos assumenda aperiam impedit. Qui beatae ut rerum.

 

Delectus temporibus porro et quo iste. Est dolorem qui odio fuga provident non. Molestiae impedit quis magnam maxime molestiae rem voluptates.

Fuga iste tenetur sequi neque modi impedit impedit. Est similique facere quisquam sequi sit rerum voluptas. Blanditiis rerum consequatur asperiores sit. Incidunt quas voluptatem repellat sit ut amet. Sit quam dolore accusantium.

Voluptatum sit harum sunt quo voluptate. Voluptatibus cupiditate in corporis qui molestiae nemo at. Distinctio quod dolor dignissimos. Quod sed quaerat nemo quo velit est. Adipisci blanditiis ut et commodi.

Career Advancement Opportunities

May 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Lazard Freres No 98.8%
  • Goldman Sachs 18 98.3%
  • Harris Williams & Co. New 97.7%
  • JPMorgan Chase 04 97.1%

Overall Employee Satisfaction

May 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

May 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

May 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (20) $385
  • Associates (90) $259
  • 3rd+ Year Analyst (14) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (67) $168
  • 1st Year Analyst (205) $159
  • Intern/Summer Analyst (146) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
Secyh62's picture
Secyh62
99.0
3
Betsy Massar's picture
Betsy Massar
99.0
4
BankonBanking's picture
BankonBanking
99.0
5
GameTheory's picture
GameTheory
98.9
6
CompBanker's picture
CompBanker
98.9
7
kanon's picture
kanon
98.9
8
dosk17's picture
dosk17
98.9
9
DrApeman's picture
DrApeman
98.8
10
bolo up's picture
bolo up
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”