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

New to Comp. Programming

  1. Aug 11, 2009 #1
    Hello everyone.

    I want to start learning some sort of computer programming.

    ...Where do I start?...

    Yes. That is all I have. I don't know what kind, cause I don't know what kind does what.

    I don't even know what kinds there are, or if there are kinds.

    I am blissfully ignorant of what my magic box does when I type and click.

    ...Anyway, any advice? Thanks!
  2. jcsd
  3. Aug 11, 2009 #2
    Hello BustedBreaks.

    I need more information to go on before giving you any good suggestions.

    1) How old are you?

    2) What level of knowledge do you currently have about computers?

    3) Why do you want to program?

    4) What types of programs would you like to be able to write? eg, web based games, GUI based software, cross platform stuff, graphical computer games, mathematical / physics simulations, ...?

    5) How much do you care about efficiency?
  4. Aug 11, 2009 #3
    In high energy physics we use ROOT. Personally I hate it (mostly because I hate working with computers in general), but if all you want to do is learn some C and use an object oriented language to display data, it seems like a fairly easy place to start.
  5. Aug 11, 2009 #4
    I'm 20 years old.

    I have a basic working knowledge of how a computer works, yet could barely tell you the fundamental differences between components... What I wrote in the op was a bit of an exaggeration, yet I don't really know the structure of software/ operating systems/ web based stuff.

    What originally made me want to learn how to program was emulation. I wanted to be able to build something to plug in my own N64 games and then.. blah blah.. play them on my computer. I also had a project in school where we built an autonomous hovercraft and there was some computer programming that could either be done on your own, or in LEGO Mindstorms, and I thought it would be cool to learn how to program things to control electronic equipment. in That's a long way off mind you...

    I'm thinking now that I would eventually like to learn how to write my own mathematical/ physical/ "sciencey" software, as I eventually would like to be some sort of scientist. (I am majoring in math right now). Some knowledge that would allow me to master something like matlab and have a decent understanding of how it works and not just know what command to type.

    Web programming interests me as well. I would like to be able to create some nice webpages for the club I started.

    The two I'm interested most in are for electronics equipment and math/ physics/ science

    What do you mean by efficiency?
  6. Aug 11, 2009 #5
    Matlab has its own programming language, but it is only for experimental / testing purposes, not actually writing real stuff that will be used.

    If you want to write programs for computer hardware (ie, embedded design) then you'll probably want to program in C or FORTRAN.

    For general purpose mathematical / physics / simulation / graphics / games, C++ is your best option. It is easy to learn (you can treat it like C), but is also the most difficult language in existence to truly master.

    For web programming, you will want to use something else...and most likely need to use a whole bunch of languages all interacting together, such as PHP, javascript, flash and html.

    But remember, knowing the language does not make you a good programmer. A language is just a way to specify instructions to the computer. To be a good programmer, you also need to intimately understand how the computer works...and which ways of doing things are going to be efficient (ie, can be done quickly). You should start by picking up a book in Data Structures & Algorithms and reading it from front to back cover. This will get you started with a basic knowledge of the theory necessary to write in any language.
    Last edited: Aug 11, 2009
  7. Aug 11, 2009 #6
    I always suggest BASIC for someone with your level of understanding.
  8. Aug 11, 2009 #7
    I actually agree with this. It's the quickest and easiest way to find out if programming is your thing. If you find you like programming then you can move on to other languages. Learning any language makes it easier to learn another. I recently found out that Microsoft has a new beginner version of BASIC called Small Basic. I haven't tried it so I cannot make any further comments about it. But it's suppose to be for first time programmers and it's free.
  9. Aug 12, 2009 #8
    What about Python?
  10. Aug 12, 2009 #9


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Python is by far the best general-purpose language in existence right now. Well-written Python can involve a large number of concepts, though, so BASIC could actually be a better place for a total newbie to begin. BASIC is essentially nothing but FOR loops and IF statements.

    - Warren
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook