Which Programming Language Should I Focus On?

Click For Summary
SUMMARY

The discussion emphasizes the importance of mastering three specific programming languages for those interested in scientific computing or mathematical finance. The recommended languages are C++ as a compiled language due to its stability and speed, Python as a fast interpreted language for its versatility, and Matlab as a full-featured interpreted language, recognized as the industry standard in mathematical finance. Additionally, Ruby is suggested as a high-level language to enhance object-oriented programming skills, reinforcing knowledge applicable to C++.

PREREQUISITES
  • Understanding of compiled languages, specifically C++.
  • Familiarity with interpreted languages, particularly Python and Matlab.
  • Knowledge of object-oriented programming principles.
  • Basic awareness of mathematical finance concepts.
NEXT STEPS
  • Learn advanced C++ features and best practices for performance optimization.
  • Explore Python libraries for scientific computing, such as NumPy and SciPy.
  • Investigate Matlab toolboxes relevant to mathematical finance.
  • Study Ruby's object-oriented features and its applications in software development.
USEFUL FOR

Programmers, data scientists, and finance professionals seeking to enhance their skills in scientific computing and mathematical finance through a structured approach to learning multiple programming languages.

Ed Aboud
Messages
200
Reaction score
0
Hi all. This question has probably been asked before but I couldn't find it so. Over the past year I have dabbled with a few programming languages such as C,C++ and perl. My question is, which one should I really focus on and why?
Thanks for any help.
 
Technology news on Phys.org
My personal opinion is that if one is interested in becoming a competent programmer for the purposes of, say, scientific computing or mathematical finance, then one should learn three languages well. Learn a good, well-documented, and fast compiled language. Learn a good, well-documented, and fast interpreted language. And learn a good, well-documented, and full-featured interpreted language. My own preference would be:

  • Compiled language: C++. There's an argument to be made that a knowledge of C or F90 is useful for really low level stuff, but I've rarely found it necessary to use any other compiled language than C++. It's stable, fast, and there are some great compilers available for it. What's more, it's portable as can be if you're not silly about your code.
  • Fast interpreted language: Python. For far too many reasons to go into here, it really is a great language to know.
  • Full-featured interpreted language: Matlab. Yes, it's expensive as hell unless you get a student copy. Yes, the JVM makes the Matlab desktop slower than it needs to be. And yes, it's proprietary software. But none of that matters. It's the industry standard in areas like mathematical finance, it's got simply wonderful graphics-handling capabilities, and it comes with some seriously powerful toolboxes. The great thing is that you can call these features from C/C++ to combine speed and sophistication.
 
I might look into Ruby as your fast, high high level language. In Ruby, everything is an object, even literals, so you can strengthen your OO principles. I've found this helps reinforce my knowledge of the OO paradigm, and thus making me more proficient in C++. Ruby seems to be the up and coming thing. Plus, in Ruby is similar to perl.
 

Similar threads

Replies
86
Views
3K
  • · Replies 25 ·
Replies
25
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
Replies
16
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 397 ·
14
Replies
397
Views
22K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 133 ·
5
Replies
133
Views
13K
  • · Replies 102 ·
4
Replies
102
Views
4K
  • · Replies 59 ·
2
Replies
59
Views
9K