Physics and Programming language

Click For Summary

Discussion Overview

The discussion revolves around the integration of programming with physics, focusing on how to apply physics concepts through programming languages. Participants explore various programming languages suitable for a beginner interested in physics applications, including C++, Java, and Python.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant expresses a desire to use programming to simulate physics concepts and seeks guidance on suitable languages, mentioning a preference for C++.
  • Another participant suggests that Java might be a better choice for physics applications due to its easier graphical output and strict programming practices compared to C++.
  • A different participant recommends Python, specifically mentioning the use of VPython as a good starting point for beginners.
  • Additional support for Python is provided, highlighting its ease of learning and modern design, along with the availability of useful libraries like numpy and scipy.
  • One participant mentions Mathematica as a valuable tool for scientific computation, contingent on access or funding.

Areas of Agreement / Disagreement

Participants express differing opinions on the best programming language for physics applications, with some advocating for Python, others for Java, and one for C++. There is no consensus on a single preferred language, and the discussion remains open to various perspectives.

Contextual Notes

Participants' recommendations depend on individual experiences and preferences, and the discussion reflects a range of programming backgrounds and familiarity with physics applications.

Who May Find This Useful

This discussion may be useful for beginners interested in combining programming with physics, educators looking for language recommendations, and students exploring computational tools for scientific applications.

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.
 

Similar threads

Replies
86
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
65
Views
5K
Replies
10
Views
5K
  • · Replies 25 ·
Replies
25
Views
2K
Replies
22
Views
3K
  • · Replies 54 ·
2
Replies
54
Views
5K
  • · Replies 397 ·
14
Replies
397
Views
22K
  • · Replies 15 ·
Replies
15
Views
4K
Replies
16
Views
3K