• 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!

Best Programming first language

First of all, you don't know what I use C# for....then you say is not useful. Don't you think you are prejudice on something with no relevant facts to support your claim.

[...]
Because of the old school and the current quants are mostly using C++ therefore they have resistance to replace C++.

I hate that phrase 'old school' ; it's an excuse for not opening your mind. It's like using the word 'fan boi'.
 
I do not want to spark the war here. Frankly speaking, you are making money from your C++ training program and I respect you as a guru in C++. However, I think you are the one have to be more open to the variety of programming languages that can be very useful in the quant world.

There are many hedge fund managers out there are using C# or Jave to build HFT. The main issue is - do we know how to do it before we claim the system get slowing down if we do not use C++?

Again, I do not want to make a bias assumption that " a big proportion not ALL" of the current MFE graduates do not know how to implement computing framework through complex computer architecture to improve system performance. What they learn from the MFE program is to write C++ codes for pricing derivatives or financial instruments. In addition, when these new kids go to forum like this or Wilmott.com, people are telling them to start with C/C++ (I even saw one forum telling people Java is for IT back office only).

Yes, I have no problems to agree with you or anyone that C/C++ is good to learn but it is good for these new kids when they eagerly want to land their first job in FE field after 1/1.5 year FE program? Are they full-time doing C++ coding in their MFE program?? I am sure they time they spend to learn is about 6 months max in total but the lecturer(s) spread over the entire program. So it sounds like they have 1/1.5 year experience.

I will suggest to pick up any OO programming language for the start besides C++ and then learn C++ along the way or taking course like the one offered by QuantNet.
 
Frankly speaking, you are making money from your C++ training program and I respect you as a guru in C++. However, I think you are the one have to be more open to the variety of programming languages that can be very useful in the quant world.

Are you projecting? Shifting the focus from post contents to the poster?
I am also making money from C#. In fact, I see a bright future for C# in certain -not all- areas.

I will suggest to pick up any OO programming language for the start besides C++ and then learn C++ along the way or taking course like the one offered by QuantNet.

Yes and no. Which 'OO' language do you suggest?
That's possible. But you will miss the nitty-gritty fundamentals by not doing so.

OOP is bit outdated as a paradigm and needs to be augmented by generics/templates. As well as by Functional and Modular paradigms.
 
I do not want to spark the war here.

In don't think you have started one. Giving an opinion is still allowed?:)
 
What is the best first language to learn for programming to get into quant trading? I have some experience with javascript but that is it. Where is a good place to start?
Since this is the original question, I feel we go off-topic just a bit ;)
We also forget the context of how the OP wants to learn this language. If he wants to self-study, books and online resources are plentiful for him to learn just about any language, however old or new.
If he wants to learn in the traditional setting (college credit courses, etc), the choice is severely limited. I would say he is more likely to encounter C++/Java than any other languages discussed here.

And to learn a language to get into quant trading (whatever it means), what is the best way to go about it? Is it reasonable to think someone with no prior programming experience can self-study and acquire the expertise required in HFT jobs?

I feel we all get lost in a "best language war" and forget that the OP is asking a more practical question: "which language I should learn that I can get a job".
 
Thanks for all the input. I've actually started to learn python because it seems like something where I will see results sooner rather than later and not get discouraged. After I feel comfortable with python I was thinking VBA or C++, both are offered at my school.
 
Is it reasonable to think someone with no prior programming experience can self-study and acquire the expertise required in HFT jobs?

.001%

And to learn a language to get into quant trading (whatever it means), what is the best way to go about it?

C++
C#

Python

F#
VBA

Matlab
my 2 cents
 
Thanks for all the input. I've actually started to learn python because it seems like something where I will see results sooner rather than later and not get discouraged. After I feel comfortable with python I was thinking VBA or C++, both are offered at my school.
Check out this course at Coursera which is about to start in 4 days. I am not sure what to expect but it seems something related with algorithmic trading and all. Also it will be a good learning point for programming in Python as they will be using Python for implementing algorithms.
 
It's all depend on individual background. In general, most engineering and CS courses will teach at least one semester C and one for C++. Some universities choose to Java instead. If one comes from CS background, I am sure learning C++ is not an issue. If someone is coming from pure finance or even mathematics/stats (without minor in CS), I will suggest to learn VBA and C# for the start. Once you get use to any programming algorithm, you can easily pick up C++ (it's not easy but if you want to get into Quant Finance, you must show your determination right??). My two bits.

By all means, Daniel is a guru in C++ (Quant Finance). I started learning quant finance in C++ via on the job training and his book from Amazon.com.:)
 
If one comes from CS background, I am sure learning C++ is not an issue.

From my neck of the woods CS departments tend _not_ to do C++. In a sense, it's part of dumbing down of CS education.
 
DD, CS106B at Stanford uses C++, I'd say it's a relatively decent course: http://www.stanford.edu/class/cs106b/
(I'd add smart pointers, but I'm guessing it's pre-C++11 and the main point of the course is learning programming abstractions / not a particular language; but still ;]).
 
That is a poor choice.



That's not correct.
from your perspective may be YES but your view does not represent the entire population.

How can you guys know "No ones" can easily pick up C++ if they have some programming background. If you have this experience does not mean it represent everyone. If I do based on your comment, does this mean that taking Daniel's C++ certificate course is waste of time since C++ is not so easy to pick up??? So, these MFE students with limited C++ experience may be just wasting their times. LOL....
 
This is outright wrong.

A very prejudice and non sensible comment. Does this mean that those who have programming background other than C++ will have problems to pick up C++? So, can I say for students that enter any MFE program or Baruch program without C++ knowledge will have program to comprehend the programming language. In short, they know little after the course. I don't want to pro long this but it is really funny.

When someone asks question like which programming language to learn first? Obviously this guy wants to get to destination ASAP trying to reduce the learning time frame. Anyway...I would like shout out loud - OLD SCHOOL.
 
If one comes from CS background, I am sure learning C++ is not an issue.

From my neck of the woods CS departments tend _not_ to do C++. In a sense, it's part of dumbing down of CS education.


Do you have the numbers how many of them are not teaching C++? If you don't know the numbers then I can assume you are making assumption based on your observation but not the "FACT". As far as I know, some universities are teaching C++ via their engineering department (not from CS).

Ok they do not teach this subject is good for your business. Close the case.
 
How can you guys know "No ones" can easily pick up C++ if they have some programming background.

Because some of us know C++ and know what is involved. There's no "easily" about it.

If I do based on your comment, does this mean that taking Daniel's C++ certificate course is waste of time since C++ is not so easy to pick up??? So, these MFE students with limited C++ experience may be just wasting their times. LOL....

The certificate course can only be an introduction. I have books on my shelf that are introductions to C++. Mastering these books does not mean you "know" C++.
 
What is so supposedly hard about C++?

Pointers? I never really had too much trouble with this; the name is very suggestive.

OO? That's a paradigm, not a language.

I don't know, from my experience it seems the hardest thing about C++ is all the options you have available - picking the right design.

The second hardest thing is making sense of somebody else's code because of said options.

Other than that, I just find it annoying to code because it forces you to do all the dirty work. This does introduce complexity, and that can be an added difficulty.

I donno, just seems the difficulty isn't in learning the language but in mastering it and using it effectively.
 
Back
Top