Is Learning C++/Python for Computational Physics Worth It Over Mathematica?

Click For Summary

Discussion Overview

The discussion revolves around the value of learning programming languages like C++ and Python for computational physics compared to using software such as Mathematica. Participants explore the merits of various tools for solving numerical problems, particularly in the context of partial differential equations and other physical applications.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Exploratory

Main Points Raised

  • One participant questions whether it is worthwhile to learn complex numerical methods with C++ or Python when Mathematica can perform similar tasks.
  • Another participant argues that if a specialized language is available for the application, it may be easier to use, suggesting Mathematica if cost is not an issue.
  • Several participants support the use of Mathematica, highlighting its versatility and recommending resources such as the book "Computational Methods for Physics" by Joel Franklin.
  • One participant mentions their long-term use of Mathematica since 1995 for exploring physics.
  • Another participant proposes Python as a less expensive alternative to Mathematica, noting its capabilities in both computer algebra and numerical methods.
  • Octave is mentioned as a fun, free alternative to Matlab.
  • A participant shares their use of Maple, emphasizing its availability through a site license at their workplace, which allows them to use it both professionally and recreationally.

Areas of Agreement / Disagreement

Participants express differing opinions on the value of learning programming languages versus using established software like Mathematica. There is no consensus on which approach is superior, as various tools are highlighted with their respective advantages.

Contextual Notes

Participants have not fully explored the limitations or specific contexts in which each tool may be more or less effective, and assumptions about cost and accessibility of software are present but not explicitly detailed.

zoltrix
Messages
85
Reaction score
7
hello

I am interested in computational physics at an amateur level
is it worth while learning complex numerical methods with C++ /Python to solve partial differential equations as well as for other physical applications while a software such as mathematica can do the job for you ?
 
Technology news on Phys.org
IMO, if there is a well-established, specialized language targeted at your application, it is easier to use. If cost is not a problem, use Mathematica.
 
FactChecker said:
If cost is not a problem, use Mathematica.
I second this. Mathematica is very versatile and you will be able to get much more out of it.

If you chose to go with Mathematica, I recommend the book Computational Methods for Physics by Joel Franklin.
 
  • Like
Likes   Reactions: aaroman, vanhees71 and FactChecker
I got Mathematica in 1995 and I continue to use it today for exploring physics.
 
  • Like
Likes   Reactions: DrClaude, vanhees71 and FactChecker
A less expensive alternative is Python. As Mathematica it provides both computer algebra and numerics.
 
  • Like
Likes   Reactions: aaroman and Dale
Octave is fun too, it is basically a free version of Matlab
 
  • Like
Likes   Reactions: aaroman, CalcNerd, FactChecker and 1 other person
For a very pragmatic reason, I use Maple. My employer has a site license, so I get for free the full version on my office desktop, and on my laptop. I have made extensive use of this both professionally and recreationally.
 
  • Like
Likes   Reactions: vanhees71

Similar threads

  • · Replies 102 ·
4
Replies
102
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 17 ·
Replies
17
Views
4K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K