1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What Coding Language Should I learn?

  1. Feb 28, 2013 #1

    Jow

    User Avatar

    Unlike some of my friends my knowledge of computing is very limited. I want to become a physicist, but I think it would be beneficial for me to learn how to code. However, after some research I am not sure what coding language to learn. What is the most useful / practical code that physicists use?

    (I don't know if this will make a difference in what type of code I should learn but the computer I use is a mac.)
     
  2. jcsd
  3. Feb 28, 2013 #2

    cepheid

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

  4. Mar 1, 2013 #3

    Jow

    User Avatar

    thank you
     
  5. Mar 2, 2013 #4
    C#, FORTRAN, Python, C++, Matlab, Java seem like good choices
     
  6. Mar 3, 2013 #5
    Whatever you have easy access to... whatever seems like most fun... if your college is running a Java course, do that. If your favourite prof wants you to hack away at his Basic code, learn that...
     
  7. Mar 3, 2013 #6
    I don't mean to hijack this thread but I am wondering how does knowing how to program help you in physics apart from knowing how to use pre-made simulation programs? What can I do with my C++ CodeBlocks in physics?
     
  8. Mar 3, 2013 #7
    There are a lot of problems that require numerical techniques to solve. Programming such problems can give insights to how the system behaves; "how does the result change if I change this variable?" You probably won't be able to find code that helps you with a current one, so you may need to make your own. Also, you may need to modify existing code.
     
  9. Mar 3, 2013 #8

    cepheid

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Anybody who has data from any experiment, ever, has to write a data analysis pipeline to turn that raw data into "scientific results"

    EDIT: And most theorists who do simulations write their own simulation code to model the physical system of interest to them. They don't just use other people's code. Or if they do (because it is a generic code for radiative transfer or fluid dynamics or something), they have to modify it to suit their specific application.

    I don't know what to do with your question, because almost everyone in the physical sciences needs to be competent at programming for the core aspects of their work.
     
  10. Mar 3, 2013 #9
    just get a physics leaning computer simulation book and work out the examples.
    This one has a bunch of problems and examples.

    An Introduction to Computer Simulation Methods: Applications to Physical Systems
     
  11. Mar 4, 2013 #10
    Simulation programs may not simulate every situation, and if they do they might be too slow. I think the OP should let his particular physics environment drive his career. It maybe he can do experimental physics or theory that doesn't need any programming at all. If you do research under a professor who doesn't require any coding, then you don't need to do any coding (hey tautologies can be useful!) If the research post you get actually appears to need some coding then you can learn on the job.

    Then again if you fancy doing some coding, why not... but only if you fancy it... it might be more relaxing to do modern dance between physics classes...
     
  12. Mar 4, 2013 #11
    These days its hard to do anything in physics without doing some programming/scripting. Many programs that take or analyze data have some programming/scripting component.
     
  13. Mar 4, 2013 #12
    That's just sensitivity analysis. That's not specific to programming.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: What Coding Language Should I learn?
  1. What should i learn? (Replies: 9)

  2. What should I learn? (Replies: 1)

Loading...