Physics and Programming language

AI Thread Summary
The discussion centers on using programming to apply physics knowledge through simulations and applications. The user, who has limited programming experience, is considering learning C, C++, or Python, with a preference for C++. Key points include the feasibility of a 14-year-old learning programming for physics applications, the recommendation of Java for its easier graphical output and strict programming practices, and the suggestion to start with Python due to its simplicity and modern design. Python's libraries, such as VPython, NumPy, and SciPy, are highlighted for their usefulness in physics simulations. The importance of acquiring a good programming book for foundational learning is also emphasized. Additionally, Mathematica is recommended for those with access, as it is beneficial for scientific computation. Overall, Python emerges as a favored option for beginners interested in programming for physics.
physicsnoob93
Messages
169
Reaction score
0
Ok well, i was just looking around for someone to give me a few tips or give me a "guide".

I really wanted to use programming with physics, to simulate or just to get to know how to apply what i know in physics and see how much i understand it to make applications.
I am not a very good programmer, i just learned a bit of visual basic before.

I want to know what you would recommend because i have a very rough course load in school.

I was thinking of C or C++ or Python out of which C++ appeals to me the most.

1. Is this possible?
2. Can it be done by a 14 year old?
3. If so, what should i do first, I'm completely lost.
 
Technology news on Phys.org
If you think to learn C++ specifically with physics applications in mind (visualisations, etc) perhaps it is better to learn Java. Several advantages are:
  • It is easier to produce graphical output (C++ is text-only, getting graphics is "advanced" while in Java it is "basic" ==> even after a short learning time you have visually appealing results instead of text in a terminal, which is very stimulating)
  • The syntax of Java and C(++) is quite alike
  • Java is very strict (strict type-checking, safe memory management) while in C++ it is very easy to cause access violations, memory overflows, invalid address reads, and so on. This enforces good (as in: careful) programming. C++ allows you to be very sloppy and still have it compile, possibly teaching you bad habits.
  • Java is strongly object oriented, which is good to learn from the start
  • Java is cross-platform (you can even run it in an applet in your browser)

You can find some tutorials on the Internet and start playing around a bit. However, from own experience I can tell you, you will want to buy a good book. I can't recommend any for Java as I've never properly learned it, but after fooling around a long time with C++ I finally got my hands on a book which introduced general programming alongside the C++ syntax and features. Even nouw, though I hardly use C++ anymore, I still apply the programming techniques in there (specifically the object oriented approach).
 
I would suggest using Python and, in particular, using the http://vpython.org" would be a good start, once you start to get the hang of Python as a programming language.
 
Last edited by a moderator:
Python also has the numpy and scipy packages - excellent free maths libraries.
It's very easy to learn and is a more modern design, it's closer to what languages of the future will look like.
 
Thanks for the replies guys.

I liked python so far. Vpython is quite amazing.
And i also think python should be easier to learn.
Correct me if i am wrong.

Any other recommendations?

Thanks

Utkarsh
 
If you have the money or if you are at a school that gives access I would highly recommend Mathematica for scientific computation.
 
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 had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top