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

Best Computer Language for Employment

  1. Mar 21, 2012 #1
    Hi All

    I am very new here and therefore apologise if there is a thread on this but -

    I am researching my PhD in Astrophysics and Planetary Science (2nd year) and am starting to think about future employment. I am a little undecided whether to remain in academia (which I am slightly leaning towards) or go into industry. I get e-mail alerts from jobs.ac.uk and have seen that many of the positions like physicists to be able to use a computer language but they do differ, so I am going to ask;

    Which computer would be the best choice for a future in astrophysics/physics etc.

    I am learning hydrocoding at the moment as part of my modelling for my research but I really suck badly at learning computer languages! I have tried C++, C# and Latex and not got anywhere very quickly!

    Anyways any help would be very much appreciated.
  2. jcsd
  3. Mar 21, 2012 #2


    User Avatar
    Science Advisor
    Gold Member

    C seems to be the language of choice these days. It is also probably easier to learn than object oriented languages like C+.
  4. Mar 26, 2012 #3
    This got me curious, is there any other major reasons for choosing C, besides the language not being object oriented?
  5. Mar 26, 2012 #4


    User Avatar
    Science Advisor
    Gold Member

    Object oriented languages are not a bad thing, it's more the case that C tends to be
    more intuitive to most people.
  6. Mar 26, 2012 #5

    I was a programmer for 20 years, about evenly divided between C and C++.

    In my view C++ is far superior. It allows modular programs to be built. C has no support for modularity: it exists only in the mind of the programmer.

    Unfortunately most programmers don't seem to be able to use C++ effectively and the result is worse than if they had used C.
    Think of it this way: C is like an old-fashioned TV or radio where everything is wired together by hand. C++ is like printed circuit boards plugging into a bus. If one board breaks you can replace it with another.

    In the real world a C++ program often ends up like printed circuit boards that have had numerous random wires connected between the boards. Ugh! The worst of both worlds.

    As to which is the best for employment, I have no idea.
  7. Mar 27, 2012 #6

    although you if you want to learn object oriented programming, you'd probably be better off starting with python and using the numpy/scipy libraries.

    Most physics code in C++ looks like it was written in fortran, which is a good thing since you can write decent C++ that looks like decent fortran.
  8. Mar 27, 2012 #7
    Yup. One thing about C++ that makes it a powerful language is that you can forget about all of the object oriented stuff and write programs that look like C or Fortran.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook