Useful programming languages

Does anyone here program, and if so, which languages are you using the most particularly in the Finance arena? Thanks!

VBA

VBA is great, particularly for making Excel do all sorts of extra things. John Walkenbach has really good Excel books. There’s also Jackson and Staunton’s book “Advanced modelling in finance using Excel and VBA” C++ is for good the quant programmer. I often wondered why the financial community was so gung-ho on C++, when the speed advantage over something like Java seemed increasingly inconsequential. But they do like C++. I’ve found three reasons why quant guys still prefer C++. 1) [main reason, as far as I can tell] There is an enormous installed base of C++ routines, so if you know C++, you can use and maintain those routines more or less out of the box. Also, numerical computations manuals like “Numerical Recipes” are written for C++; they keep promising a version of “Numerical Recipes” for Java, but I don’t think it’s ever come out. 2) There’s a perception that if you know how to use pointers and references (which C++ has and Java doesn’t, and I find kind of an archaic thing to do), you’re a smarter/better coder. I’m not so sure this is true, but I understand why people might think that. 3) Some people feel that things like monte carlo simulations require so many millions of iterations that the speed difference between Java and C++ is important. Java is a nice object-oriented language that is especially good for web-based applications. I personally like it, and recommend “Head First Java” if you are new to it. I think Interactive Brokers’ tradestation is written in Java. My programmer friends often mention Python and Ruby on Rails as neat languages, but I don’t know much about them.

C++, C#, R, Matlab built-in language, etc

WHy the hell do they still teach C at universities

If you know (or can learn) c++, you can learn any other language in my opinion. I would start there. I would look at vba next. I haven’t met a pm or analyst who isn’t “doin their own thing” in excel or access. Drives us IT guys nuts, but I can see why they do it. Python is actually a great language. You can write very powerful programs with very few lines of code. You can use Python as a procedural language like c or it can be object oriented like c++ or java. The oo python stuff is a bit more cryptic though. I’m hoping leverage my IT background to differentiate myself when I look to make the move. However this may backfire as IT is not always viewed in the best light (sometimes deservedly so).

Delphi

I speak ITBullPen fluently

Gecco, very informative post. I see you have added a lot to the conversation.

anyone have opinions on R vs S (for statistical programming)

R and S are almost identical, except that you pay for S-plus and R is free (and a little slower). Both are neat languages, once you get into the mindset. Matlab is similar in structure, although the syntax is a little different.

Thanks for the help everyone, this has been really helpful. Speaking of Matlab what is a good way to learn how to use it?

Buy it - get the book - start doing it. It’s just like learning Excel, VBA, etc… Start with small problems and build up. In no time at all you will be doing any problem with it.

If you don’t have Matlab, you can download R for free, or if you’re a student, you can get a student version for something like $100. The full Matlab is substantially more expensive. Matlab’s documentation is better than R’s and easier to get up to speed. If you’re not familiar with either, it can be a little wierd to get started, but it’s worth doing. I find the hardest part of both is getting data imported and put into a useable form, particularly if you are doing statistical work and like to have things labeled properly.

theres also SAS and SPSS that are supposed to be very good for statistical software.

python

C/C++ doesn’t seem too useful to finance. I guess it is more tradition. C# has about 90% of C++ speed and it is a lot cleaner and object oriented.

ancientmtk Wrote: ------------------------------------------------------- > WHy the hell do they still teach C at universities I think C is a fine language and fairly simple. CS students should definitely have to learn it, ideally in a systems/operating systems or micro computer programming course. Schools should still use Pascal for their basic programming 101 courses since it is simpler, and C# or Java for software engineering courses.

Isura Wrote: ------------------------------------------------------- > C/C++ doesn’t seem too useful to finance. I guess > it is more tradition. C# has about 90% of C++ > speed and it is a lot cleaner and object oriented. C’mon - C++ is by definition object-oriented. C# has 90% of C++ speed if you are doing high-level stuff maybe but you have to deal with .NET which totally, completely sucks and makes me feel impotent and useless. I don’t know how anybody lives with Java and C# programming. I spend my life with those going, well, I could do this in C++ or Delphi…

atlas_shrugged Wrote: ------------------------------------------------------- > Does anyone here program, and if so, which > languages are you using the most particularly in > the Finance arena? > > Thanks! English. Although we talk bullshit too.