Serving the Quantitative Finance Community

 
User avatar
TheDiesel
Topic Author
Posts: 0
Joined: March 4th, 2007, 11:53 pm

Programming Languages --What order to learn them?

March 5th, 2007, 3:22 pm

Greetings!I am actually an Engineering grad student (interested in biological sensory systems so I do a lot of signals oriented stuff), but I'm looking at job options in FE as well.I've seen Excel/VBA, C/C++, Java and some scripting languages mentioned in other posts.I'm familar with C; however, I normally use matlab for everything. As I have no experience with object-oriented code, I was leaning toward taking Java classes this summer.What sort programming languages are used, and what order should one learn them?
 
User avatar
cemil

Programming Languages --What order to learn them?

March 5th, 2007, 3:41 pm

you must lear C++
 
User avatar
cemil

Programming Languages --What order to learn them?

March 5th, 2007, 3:41 pm

you must learn C++
 
User avatar
richbrad
Posts: 0
Joined: December 18th, 2003, 10:28 pm

Programming Languages --What order to learn them?

March 5th, 2007, 4:13 pm

If you have some knowledge of Matlab and C, then you have the a knowledge base of that really doesn't include any object orientated programming. I think it is this you need to address.Cemil's post is probably correct in that you should look at C++ first of all as there is evident similarity between C and C++. However, don't just narrow your horizons to that - look at other OO languages too - learn tricks from other areas.
 
User avatar
prak
Posts: 0
Joined: September 30th, 2006, 5:37 pm

Programming Languages --What order to learn them?

March 5th, 2007, 4:35 pm

QuoteOriginally posted by: TheDieselGreetings!I am actually an Engineering grad student (interested in biological sensory systems so I do a lot of signals oriented stuff), but I'm looking at job options in FE as well.I've seen Excel/VBA, C/C++, Java and some scripting languages mentioned in other posts.I'm familar with C; however, I normally use matlab for everything. As I have no experience with object-oriented code, I was leaning toward taking Java classes this summer.What sort programming languages are used, and what order should one learn them?Depends on what you want. If you want to become a 'quant' and construct the tools used by the traders and sales people you should learn java and/or C++. I guess C++ is the standard because it exists longer then Java already. A friend of mine only knew MatLab and had to program some in C++ for a small company. He learned himself C++ rather easy. Of couse you won't become a C++ master in this manner.
 
User avatar
TheDiesel
Topic Author
Posts: 0
Joined: March 4th, 2007, 11:53 pm

Programming Languages --What order to learn them?

March 5th, 2007, 5:49 pm

Hey, Thanks for the responses.I am interested in Quant Positions, so I would like to build a skill set now that is applicable to solving real-world problems.(I have an undergrad background in economics as well, so some of the upper-level ugrad / general grad finance books are approachable.)The largest problem I have found is navigating the C++ v. Java argument, and next, picking out the CS courses that will be of real-world use.The eng has some programming classes, but they are geared toward scripting languages. That leads me to the following two follow-up questions.What is the rationale behind the choice of C++ rather than Java?What CS courses are useful for quant work?
 
User avatar
richbrad
Posts: 0
Joined: December 18th, 2003, 10:28 pm

Programming Languages --What order to learn them?

March 5th, 2007, 5:54 pm

C++ is generally the choice because the system development started in that! It is currently a self perpertuating argument.I guess the sort of important courses involve numerical solutions to PDEs in general (not just financial PDEs).
 
User avatar
dongta
Posts: 0
Joined: December 24th, 2006, 4:37 pm

Programming Languages --What order to learn them?

March 5th, 2007, 6:38 pm

Hey, why do quants prefer C++ to other languages?Other than for real-time systems or any applications that being twice faster is significant, I don't see C++ better than Java at all (in terms of coding, maintainence, OOP design, etc.).If quants normally solve PDEs nummerically, why do they prefer C++ to Matlab?I'm confused.
 
User avatar
twofish
Posts: 0
Joined: February 18th, 2005, 6:51 pm

Programming Languages --What order to learn them?

March 5th, 2007, 8:23 pm

QuoteOriginally posted by: TheDieselThe largest problem I have found is navigating the C++ v. Java argumentIn the "real world" that question has been decided already. You program in more or less what the system is already programmed in.QuoteWhat is the rationale behind the choice of C++ rather than Java?C++ (for Fortran) is essential for heavy duty number crunching. Also it has really powerful constructs like templates.QuoteWhat CS courses are useful for quant work?CS courses are surprisingly not useful for most application software development. Learn just enough syntax to be able to start reading code, and then find an open source project out there and start coding. Also, one course that would be *really* useful but hardly ever mentioned is a MIS course on project management or the software life cycle. Language skills are generally transferable so a good coder in one OO language will tend to be a good coder in any OO language. Java is a decent language to start out people learning OOP, since hands your hand a bit more than C++, and once you get skilled in Java, moving to C++ isn't hard.
Last edited by twofish on March 4th, 2007, 11:00 pm, edited 1 time in total.
 
User avatar
twofish
Posts: 0
Joined: February 18th, 2005, 6:51 pm

Programming Languages --What order to learn them?

March 5th, 2007, 8:24 pm

QuoteOriginally posted by: cemilyou must lear C++I thought you were going to say "you must fear C++" (which has some truth to it).
 
User avatar
Cuchulainn
Posts: 20254
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Programming Languages --What order to learn them?

March 5th, 2007, 8:33 pm

QuoteI don't see C++ better than Java at all (in terms of coding, maintainence, OOP design, etc.).OO design is language-independent; when you think of design in terms of hardware-like symbols any language is fine. Here is a non-QF examples of balls and sockets contracts in s/w. BTW contracts are coming in C++
Last edited by Cuchulainn on March 4th, 2007, 11:00 pm, edited 1 time in total.
 
User avatar
Arbitrary
Posts: 0
Joined: March 30th, 2004, 7:14 pm

Programming Languages --What order to learn them?

March 5th, 2007, 9:36 pm

Contracts? Can you please explain using your diagram, or direct me to a link for further info?
Last edited by Arbitrary on March 4th, 2007, 11:00 pm, edited 1 time in total.
 
User avatar
TheDiesel
Topic Author
Posts: 0
Joined: March 4th, 2007, 11:53 pm

Programming Languages --What order to learn them?

March 5th, 2007, 10:19 pm

Hmm, it seems like it boils down to two pathwaysJava (2 courses 8 cr.) -> C++ (1 higher level course)-or-C++ (2 courses 8 cr.) -> (more C++ / Scripting Probably modelling biological systems.)My school offers higher level courses in both a Java pathway and a C++ pathway. There seems to be a strong industry focus on C++, so it seems it is best to go with the latter.I won't worry about any of the other CS theory oriented stuff, I'll just read and do "mini-courses."Thanks!