This is the explanation I was given.
Java is easier to learn than
C++, so the student can spend more time mastering program design principles and their applications to finance, and less time worrying about the nuances of the language. They also believe that it doesn't hurt the students employability... that employers would, generally, rather hire a student with a demonstrated proficiency in language A and have them learn language B if they have better long term potential than their language B proficient lower potential counterpart. If they did suspect it of weakening the students employability they would revert to
C++. The idea here is that leaving a MFE program with a mastery of a certain language tells employers that you can contribute on your first day writing code in that language. Employers would rather hire someone who takes a bit longer to be productive (ie learn the programming language of preference) if they believe they will create more value down the road.
An example I was given is that an employer may say, "I will hire anybody that can program in Q-lang (or C# or
C++ or Java or _____)," but such rigid hiring requirements are uncommon so it shouldn't be viewed to the detriment of the Java student.
I was told the ideal toolbox for the aspiring quant is proficiency in some combination of a low level preferably OO language (C#/
C++/Java/...) , a computational language (Matlab/R/...) , and a scripting language (
Python/...).
I'm interested to hear people's opinions. I'm sure
@Daniel Duffy has an opinion
.