Recommended Programming Language for Finance

Discussion in 'Professional Trading' started by crandall_v, Aug 10, 2008.

  1. cane1214

    cane1214

    #11     Aug 11, 2008
  2. Hey,

    Just wondering. In other people's experiences - how long has it taken you to learn C++?
    I mean just to an intermediate level - or to a level that you can truthfully call yourself a C++ programmer.

    Thanks!
    -Crandall
     
    #12     Aug 17, 2008
  3. So, you're asking which language you need to know for a masters in Econometrics? And SAS wasn't at the top of your list? I know both SAS and STATA. Both have advantages and disadvantages. You'll need to know both to get through that major, and if you never touch these packages, I don't have much respect for any major in Econometrics that didn't use this software, truthfully speaking.
     
    #13     Aug 17, 2008
  4. Lots of B.S. in this thread...everyone knows it's "nothin but dot-net" right now.
    C# is "dah bomb"...just got a notice from a Quant recruiter looking for FIX and C#/Dot-net skills...starting salary: $200k + bonus.

    Java is dying a horrible death due to poor QA and the company backing it is doing poorly...
     
    #15     Aug 17, 2008
  5. 1. Investment bankers don't program anything. First thing you need to do is understand the structure of Wall Street.

    2. Don't ever fool yourself into thinking you are an expert in programming. There is an oversupply of CS/Physics/Engineering people out there who have actively programmed for 10+years in multiple programming languages trying to get the exact same jobs you will be trying to get. These guys can do things that make your head spin, and an interviewer will pick you apart in 30 sec flat unless you think you know AT LEAST as much as these guys.

    3. Econometrics, broadly speaking, is the application of statistical methods to economic time series. If you want to master these analysis tools try Eviews, R, or even Matlab is fine (since many trading desks use it extensively).

    If I were you I wouldn't worry about wasting time with skills you perceive as valuable, and instead get some sort of internship to find out where your current skills fit in best and to figure out what you really want to do.
     
    #16     Aug 17, 2008
  6. AgeKay

    AgeKay

    Every word you say is so true. Reading OCaml and Cobol mentioned got me laughing real hard. Nobody cares about these languages, they are dinosaurs, and C/C++ is also way to old. Learn C# on .NET. It's the most powerful platform out there.
     
    #17     Aug 17, 2008
  7. Corey

    Corey

    I've been programming in C++ for over 7 years and I still can't say I know C++. It is, by far, the worst language I have ever worked with. Undefined behavior this, undefined behavior that. The standard is full of it. I think it is impossible to truly 'know' C++.

    What you need to realize is that becoming fluent in a programming language is like becoming fluent in a spoken language. It takes years. However, once you get the basic concepts down, you begin to pick up other languages much more quickly. Learning Latin and Spanish allowed me to learn Italian much more quickly. The same goes for programming languages. Learn C++, and Java is a breeze. Learn SML, and O'Caml is just a step away. The concepts are the same across the languages -- it is just the syntax that differs.

    If you really want to become a competent programmer, I would recommend learning one imperative language, and one functional language.

    For the imperative language, I would probably go with Python. It is an extremely powerful language, has enormous community support, and a whole lot of useful libraries.

    For a functional language, I would probably recommend Scheme -- though O'Caml would do in a pinch. Scheme might be a bit easier to understand than O'Caml for a functional beginner.

    After learning these two languages, you can move on to almost anything. Your only jump will be memory management in languages like C and C++. Other than that, you should have all the building blocks to learn any language you want.

    More related to the programming side of finance, knowing a tool like Excel, Matlab, or S/R inside and out is priceless. Being able to write your own models in Excel is very important. Writing code for yourself is one thing -- writing code for production is another. A platform like Excel allows you to write code that can be easily exported for traders to use.


    But I concur with the posters above me -- if you want to take the easy road, just learn C#. Very, very powerful language. .NET is a very, very powerful platform. While C++ isn't going away anytime soon, I would certainly never recommend a new project be started in it...

    Best of luck.
     
    #18     Aug 17, 2008
  8. AgeKay

    AgeKay

    Amen to everything Corey said. You can see that he really knows his stuff.
     
    #19     Aug 17, 2008
  9. WinSum

    WinSum

    Investment Banking doesn't require the above programming skill.

    You will be expected to be an expert in Excel spreadsheets. You will be crunching a lot of numbers to create underwriting deals.

    If you want to break into investment banking, people skill is more important than programming skill. Focus on spending time to create face to face relationship instead of staring at a computer screen all day long.
     
    #20     Aug 17, 2008