Codemonkeys, CompScis unite!
I am a senior undergrad (3rd year, last year in Europe) studying theoretical physics and I'd like to get into programming. So far, I didn't have much need for it, but I'd like to be prepared when I eventually have to juggle big data or need to utilize some numerical procedures. I'd like to begin with.
If there are some physicists who alredy have good experience in programming I'd like to hear your opinions, advices and tips too.
So far, I've learned basic syntax of C++, Pascal, JS and currently learning Python. I'll probably stick with python. What are the next steps for me in basic computational physics (basic kinematics, lattice visualization, celestial dynamics)? What libraries do I need and where do I start learning how to use all this stuff?
Thanks a bunch for any tips, mates.
I suggest you continue learning C++ for it is more performant than python. This is not important if time isn't a problem (typically it is!). There are various books on computational physics which you could look up.
In general physicists write shitty code and you'd stick out of the crowd if you know about various principles in software design, so looking into some blogs on "expressive code" could be a good idea.
If you don't know about datastructure I strongly suggest you take a course in it. Without knowledge of proper data structures your simulations won't terminate in your lifetime :)))
GLHF
>>9103022
Thanks, mate. desu I'll probably stick to Python until I start getting into more difficult simulations. I really don't know anything about data desu. Do you have any recommendations for 3D visualization, plotting, graphing and stuff in Python?
>>9103029
I've used PyQtGraph for plotting simulations realtime. It got the job done. I haven't used other visualization libraries for python so unfortunately I can't compare it to other libraries. I know that matplotlib is popular too but I chose against it since other people said matplotlib wasn't really good for updating plots in realtime.
Python is a good choice too, it will serve you well. Many physicists use python, I'm sure you know this, so there is usually plenty of help to get if you need it :).
Datastructures speed up your computation by a lot if used properly. They are especially useful for simulations which takes place in [math] \mathbb{R}^n [/math], like a billiard simulation with 10k particles. I feel like I'm babbling so I'll just end it there.