Non Student Teaching Self Physics: Question about Science Programming Languages.

Click For Summary
SUMMARY

The discussion centers on self-learning physics and the programming languages relevant to the field. The participant has studied calculus and physics using texts by Halliday, Tipler, Giancoli, and Young and Freedman, and is exploring programming options. Fortran is mentioned as a traditional choice, but alternatives like C, C++, Python, and Octave (a free MATLAB alternative) are recommended for their practicality in physics applications. The consensus is that while C# is not particularly relevant, Python is favored for its ease of use and rapid development capabilities.

PREREQUISITES
  • Basic understanding of calculus and physics concepts
  • Familiarity with programming fundamentals
  • Knowledge of software tools like MATLAB and Octave
  • Awareness of computer algebra systems such as Mathematica
NEXT STEPS
  • Learn Python for efficient programming in physics simulations
  • Explore Octave as a free alternative to MATLAB for numerical analysis
  • Investigate the use of Mathematica or free alternatives for computer algebra
  • Study C and C++ for a deeper understanding of low-level programming and embedded systems
USEFUL FOR

Self-learners in physics, aspiring physicists, and programmers interested in applying software to scientific problems will benefit from this discussion.

deltapapazulu
Messages
84
Reaction score
13
My situation is that I taught myself Calculus 1, 2 and some 3 over the last year, and the better part of Freshman physics for majors, mechanics and EM. I bought 4 texts to learn from: Halliday, Tipler, Giancoli, and Young and Freedman. And I just started learning Diff. Eq. & Linear Algebra.

The next logical step I thought (aside from buying some Sophomore physics texts) was to learn some physics software. Fortran was a word I kept seeing in that regard. That is the only reason I started with that. But I keep hearing that it is outdated. Here are some questions:

1. Are there any advantages to learning C? If not then I won't waste my time with it.
2. What is the next most Physics oriented programming software other than Fortran? Matlab is of course something I desire to learn but don't have the money to purchase a legal copy at this point.
3. (along a different vein) I love the hell out of physics and want to continue teaching myself till it stops being interesting. I have plenty of time. I am a night security guard without a family. But I am 40 years old and really don't have the option to go back to school in physics right now, and I don't have access to laboratories. Is there a since in which you can't really learn physics without lab? What really attracts me is the software side of things. Is there a legitimate way to be into physics with only books and a computer at your disposal?
CFDFEAGURU said:
Here is a link that you can download C# from.
4. Is C#(C-sharp) relevant to science programming?
5. Is it possible to learn C (original) in Visual C++. Can it be an environment strictly for C programming? Of course I am going to learn C++ as well but am just wondering whether C is worth my time.
 
Technology news on Phys.org
deltapapazulu said:
1. Are there any advantages to learning C? If not then I won't waste my time with it.
If you are interested in how computers work it is vital. It's main practical use is if you ever have to o low level controllers or embedded micro stuff.

2. What is the next most Physics oriented programming software other than Fortran? Matlab is of course something I desire to learn but don't have the money to purchase a legal copy at this point.
Octave is a free version of MATLAB - I thinkit's pretty much 100% compatible except for graphics
There isn't really a single favorite anymore C++/Python/matlab are all widely used.

4. Is C#(C-sharp) relevant to science programming?
Not really

5. Is it possible to learn C (original) in Visual C++. Can it be an environment strictly for C programming? Of course I am going to learn C++ as well but am just wondering whether C is worth my time.
If you call the file .c it will be compiled as c. C++ (except for a few details) is a superset of C - a C program will still be a valid C++ program
 
Just use python. There are hardly any languages that let you write code faster. And that is what you want: something where you can throw together a program of colliding circles and watch their speeds thermalize in a few lines without worrying about data types or memory. On the other hand I recommend some type of computer algebra system. Mathematica is the gold standard, but maybe you can find a free alternative.
 

Similar threads

Replies
16
Views
3K
  • · Replies 43 ·
2
Replies
43
Views
7K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 54 ·
2
Replies
54
Views
5K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 17 ·
Replies
17
Views
5K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
Replies
10
Views
5K