Which Programming Language Should I Focus On?

AI Thread Summary
When choosing a programming language to focus on for scientific computing or mathematical finance, it's recommended to learn three types: a compiled language, a fast interpreted language, and a full-featured interpreted language. C++ is suggested as the primary compiled language due to its stability, speed, and portability, making it suitable for low-level programming. Python is highlighted as an excellent fast interpreted language, valued for its versatility and ease of use. Matlab is noted as the industry standard for mathematical finance, despite its cost and proprietary nature, due to its powerful graphics and toolboxes. Additionally, Ruby is mentioned as a promising high-level language that reinforces object-oriented programming principles, making it a valuable complement to C++.
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.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top