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

Python does everything matlab does, ...

A number of "facts" you've posted in this thread indicate you don't know what you are talking about (C++ not portable?!). While, I am not familiar with Python, I would bet your above statement is completely false, since it would mean that all of the functionality of all MATLAB toolboxes is available from Python libraries ... not likely.
 
What's happening on this thread is the older generation refusing to acknowledge that life has moved on and the Young Turks insisting that things have changed.

You had me worried that perhaps I had spent the last few years improving my skills in the wrong computer language. However, as I expected the Python language is too slow for serious number crunching, apparently by a factor of 10-100x compared with C++:

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=gpp&box=1

No one would bother writing a random number generator library in Python.
 
You had me worried that perhaps I had spent the last few years improving my skills in the wrong computer language. However, as I expected the Python language is too slow for serious number crunching, apparently by a factor of 10-100x compared with C++:

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=gpp&box=1

No one would bother writing a random number generator library in Python.

One nice thing about interpeted languages is the support for symbolic programming which gives them an edge. Maybe the new functional programming features in C++ 11 help to emulate some of these features.

But 10 times performance degradation ... bah.

Let's say you do a Mone Carlo in Python/C++ (bad idea??). Anyway, x% in Python , y% in C. What are x and y and satisfy application requirements. Personally, I would put UI, I/O and logging into x, the rest in y.
 
What's happening on this thread is the older generation refusing to acknowledge that life has moved on and the Young Turks insisting that things have changed.

This kind of remark tends to preclude further meaningful discussion to a certain extent. It focuses on the person and not the content. It just reinforces preconceived ideas. Anyhoo, no problem.

If I read that Python is [10, 100] times slower than C, what implications does this have for the fascination with Python.

For the record, many C++ folk work with C#, Haskell etc. Have a look at the C++ discussions in Wilmott.
 
The guys I know who started playing with computers aged 9 (in a techy way, not a computer games way) are barely functioning human beings. They can't have a conversation, can't cook themselves a decent meal, don't know how to do their laundry, don't have girlfriends, smell and look bad.

This is very true. The really sad thing is that nothing changes as they get older.
 
Outside of HFT work, I cannot see any good reason to use C++ on any development project. Java is as fast as C++ and demand for Java developers is surely at least 10 times more than the demand for C++ developers. C# is rapidly gaining popularity, but the frameworks are still being developed, so it will take a few more years to mature.
 
Outside of HFT work, I cannot see any good reason to use C++ on any development project. Java is as fast as C++ and demand for Java developers is surely at least 10 times more than the demand for C++ developers. C# is rapidly gaining popularity, but the frameworks are still being developed, so it will take a few more years to mature.

There is also a big world outside of Finance.
 
A number of "facts" you've posted in this thread indicate you don't know what you are talking about (C++ not portable?!). While, I am not familiar with Python, I would bet your above statement is completely false, since it would mean that all of the functionality of all MATLAB toolboxes is available from Python libraries ... not likely.

If not all of the functionality then approaching it. I don't use all of the toolboxes, but in e.g. stats and data analysis python is way ahead with pandas, scikit, scipy, numpy et. Also, python does many, many things matlab cannot.

Most of my work is done on the world's biggest supercomputers. Have you ever experienced the pain of porting a C++ application from one such computer to another, even when only using 'standard' C++? I predict the answer is no. And as a spoiler, I have wasted weeks of my life doing such things. C is 'OK' and Fortran is the best for this kind of thing.
 
You had me worried that perhaps I had spent the last few years improving my skills in the wrong computer language. However, as I expected the Python language is too slow for serious number crunching, apparently by a factor of 10-100x compared with C++:

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=gpp&box=1

No one would bother writing a random number generator library in Python.

Who is suggesting writing a serious, production level random number generator in Python? Get off your high-horse, read and understand the thread properly. It is trivially easy to link python with C/C++/Fortran code, which is what any sane person would do if they wanted a 'serious' random number generator.

Or, an even more sane person would just use the built in python random number generator, which is written in C: http://docs.python.org/3/library/random.html or yet another library implementation.
 
If not all of the functionality then approaching it. I don't use all of the toolboxes, but in e.g. stats and data analysis python is way ahead with pandas, scikit, scipy, numpy et. Also, python does many, many things matlab cannot.

Most of my work is done on the world's biggest supercomputers. Have you ever experienced the pain of porting a C++ application from one such computer to another, even when only using 'standard' C++? I predict the answer is no. And as a spoiler, I have wasted weeks of my life doing such things. C is 'OK' and Fortran is the best for this kind of thing.
Did you get paid for this or was it pro deo at the uni? (I suspect the latter). We all know that Portability, Maintainability are not the words scientists generally use. In general, good s/w code is not something they aspire to. The culture shock for them when moving to industry can be great or small. I sense your frustration, which is understandable. But you should have declined to do it IMO and just stick to Fortran (which is portable).

Don't blame C++; blame the person that gave you the crappy code.

Maybe a stint in a professional software organisation will be an eye-opener.

//What I like about Linkedin is real people post real stuff. There are no anonymous Internet
//Warriors in Linkedin. I would say to you "own up or shut up".
 
Did you get paid for this or was it pro deo at the uni? (I suspect the latter). We all know that Portability, Maintainability are not the words scientists generally use. In general, good s/w code is not something they aspire to. The culture shock for them when moving to industry can be great or small. I sense your frustration, which is understandable. But you should have declined to do it IMO and just stick to Fortran (which is portable).

Don't blame C++; blame the person that gave you the crappy code.

Maybe a stint in a professional software organisation will be an eye-opener.

//What I like about Linkedin is real people post real stuff. There are no anonymous Internet
//Warriors in Linkedin. I would say to you "own up or shut up".

Well, it's part of my PhD, so I don't really have a choice. I needed to use the code, so it had to be ported, and I had to port it :)

As to your last point, I don't really get it.
 
Well, it's part of my PhD, so I don't really have a choice. I needed to use the code, so it had to be ported, and I had to port it :)

As to your last point, I don't really get it.

Give your real name.

My point is, why are you complaining and whinging about C++ here? If you don't like it complain to your supervisor. It's beginning to sound like a broken record.
 
You had me worried that perhaps I had spent the last few years improving my skills in the wrong computer language. However, as I expected the Python language is too slow for serious number crunching, apparently by a factor of 10-100x compared with C++:

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=gpp&box=1
You are completely missing the point. This is not learning a language for raw speed. This is to learn a language to be productive in solving finance problems. You can produce elegant code, maintainable and with less development time than if you use C/C++/Java and even C#. Python and R are good at this. The sacrifice might be raw speed but if that is needed (that's usually not the case in real life), you pull out your profiler and optimize the pieces of the algorithm that are consuming time (and write those pieces in any spanking fast compiler optimized language that you like). Always keep in mind: "early optimization is the root of all evil".

No one would bother writing a random number generator library in Python.
No one will need to. You can link very easy to any "superfast" random number generator.

I'm not claiming not to learn C++/C/any other fast language. I'm just saying that you should learn a language that is going to make you productive in your field, in this case, finance.
 
A number of "facts" you've posted in this thread indicate you don't know what you are talking about (C++ not portable?!). While, I am not familiar with Python, I would bet your above statement is completely false, since it would mean that all of the functionality of all MATLAB toolboxes is available from Python libraries ... not likely.

not all the toolboxes are implemented in Python but most of the functionality that you need in finance is... and for free. Matlab licenses cost money. I don't know if you have ever paid for them but it will put a dent in your budget and if you don't do it, it will only take an unhappy employee to tell on you for the lawyers to be on your a$$ asking for money + interest to cover those licenses.
 
Well, it's part of my PhD, so I don't really have a choice. I needed to use the code, so it had to be ported, and I had to port it :)

Dude, if you are still a PhD student, you need to be more careful about what you post on these forums. If you post careless stuff like what most people do on these forums without thinking twice, you may find that your PhD takes 2-3 years longer than you expected.
 
Give your real name.

My point is, why are you complaining and whinging about C++ here? If you don't like it complain to your supervisor. It's beginning to sound like a broken record.

Lol, why should I give my real name? You don't know me. It makes no difference. If you don't like anonymity, go to linkedin.

I'm not whining about C++. This thread is about the best first programming language, which is not C++. You sound like a dinosaur that is in danger of becoming extinct.
 
Dude, if you are still a PhD student, you need to be more careful about what you post on these forums. If you post careless stuff like what most people do on these forums without thinking twice, you may find that your PhD takes 2-3 years longer than you expected.

I don't get it?
 
Out of curiosity, is anyone here arguing that C++ is the ideal first language to learn? Just so that we're not talking at cross-purposes ....
 
Just to lighten the mood a little bit, if you skip to minute 1:00 you will find a similarity to what is going on here.

 
not all the toolboxes are implemented in Python but most of the functionality that you need in finance is... and for free. Matlab licenses cost money. I don't know if you have ever paid for them but it will put a dent in your budget and if you don't do it, it will only take an unhappy employee to tell on you for the lawyers to be on your a$$ asking for money + interest to cover those licenses.

I was simply getting annoyed with Barny posting false statements. He sounds sure of himself, and the problem with is that others reading his posts may be mislead.

I was not suggesting that MATLAB is the answer. However, I had in mind professionals in finance who grudgingly shell out for toolboxes for the purpose of algorithmic trading (I'm not sure which toolbox, maybe it was simulink?), because they could not find anything comparable in open source.
 
Back
Top