Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

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

  1. Aug 8, 2009 #1
    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?
  2. jcsd
  3. Aug 8, 2009 #2


    User Avatar
    Science Advisor
    Homework Helper

    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.

    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.

    Not really

    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
  4. Aug 8, 2009 #3
    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook