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

Best Beginner Programming Language?

  1. Nov 6, 2009 #1
    I am looking to start learning programming more or less on my own. I can make some advanced programs on the TI-83+ calculator and have been for the past year. I learned just from reading the manual and messing with the different logic operators and commands. What are some good beginner programming languages and/or any other good software, websites, and books for beginners. I have NOT taken any Comp Sci. courses although I do plan to do so in college next year.
  2. jcsd
  3. Nov 6, 2009 #2
  4. Nov 6, 2009 #3
    Umm... Do I need to go out and buy anything or what...?
  5. Nov 6, 2009 #4
    Could be a good idea to start with a modern scripting language such as Ruby. Syntax is relatively simple, interpreters are freely available, code is compact and readable. Python is good too, but familiarity with object-oriented features of Ruby would make it easier in the future to move to OO languages such as Java.

    Start here


    BASIC is okay, but, if you're serious about programming, you'll soon outgrow it. Ruby and Python are serious languages used in the real world.
    Last edited: Nov 6, 2009
  6. Nov 6, 2009 #5


    User Avatar
    Gold Member

    When I bought my PS-2 Model 50, it came with BASIC installed, and I demanded that the vendor provide full documentation. She squealed like a pig, but eventually relented. That was a great decision. Later, I bought Ashton-Tate dBase and started developing executables to run under that program. I hated CUPL and FORTRAN in college, but once I had my own computer, BASIC and dBase were a blast. Not long after, FoxBase came out with a compiler and a run-time module (FoxRun) so that the programs would scream on small machines. Then MS bought FoxBase and totally screwed it. It was cool to be able to deliver entire custom accounting packages on floppies and have them run (fast!) on 286's.

    Those days are gone, sadly.
  7. Nov 6, 2009 #6
    Yeah Ruby is great because you can write code that almost reads like english. But if you want the best bang for your buck it's hard to beat C or C#.
  8. Nov 6, 2009 #7
    C to Ruby is a steeper learning curve than vice versa, in my opinion.
  9. Nov 6, 2009 #8
    This is more or less just a hobby. I'm not looking for anything too serious. I guess that I should have mentioned that... >_<
  10. Nov 6, 2009 #9
    Then definitely look into Ruby as it's a lot of fun to use. Which you'll find out when you are crammed with frustrating C++ classes in college :D
  11. Nov 6, 2009 #10


    User Avatar
    Science Advisor
    Homework Helper

    Python is nice, like Ruby it's interpreted and you can do simple, procedural, object orientated and functional programming
  12. Nov 6, 2009 #11
    I started out with Basic and I still use it. Well, vb.net that is. The free options are:


    Note: I have not tried the first two, so I don't know how good they are. Also, Microsoft has a beginners version of Basic called "Small Basic". I have not tried it either.

    Once you learn one language it's much easier to learn another. My next choice for beginning would be C#. The express version of C# is also free.
    Last edited by a moderator: Apr 24, 2017
  13. Nov 6, 2009 #12
    Alright cool guys. Thanks!
    I think I'll start with that 3rd link, TurtleMeister.
  14. Nov 6, 2009 #13


    User Avatar
    Homework Helper
    Education Advisor
    Gold Member

    Using BASIC on a graphing calculator seems like it would be inconvenient and limiting.

    A relatively easy kind of BASIC for Windows is the mentioned-in-post#11, Just BASIC. If you like that one, you might also like Liberty BASIC, which gives much more features. Some experienced programmers who use more than one kind of BASIC believe that the syntax of Just BASIC (and Liberty BASIC) is strange; yet many people find Liberty and Just BASIC's easy to learn. They both can allow you to produce great programs. Neither of these are object oriented. They are procedural and event type languages.
  15. Nov 7, 2009 #14
    Oh, I wasn't saying that I was going to use this on my calculator.
    I was just trying to give some sort of example to the level of experience that have with programming.
  16. Nov 7, 2009 #15


    User Avatar
    Homework Helper

    If you can program on your calculator, you have some idea about programming.

    I'd recommend C (not C++) as a starting language. It's not that complicated as long as you don't try to do anything complicated with it.

    Microsoft Visual Studio Express is free, and there's a C/C++ version of it you can download. The debuggers that are included with these languages are nice in that you can step through your progams and see how the variables change.
  17. Nov 9, 2009 #16
    I would certainly give Ruby a look, it is very powerful. The only problem is that it can be a bit 'bitty' to get in to. I would certainly look at other scripting languages like Python or maybe LISP. They are fun and powerful languages.
  18. Nov 10, 2009 #17
    I notice that many universities use Java as an introduction to programming and CS.

    Stanford has a free online Java class, but I would not recommend it as they use custom libraries. This makes it harder to get help at various discussion forums.

    MIT uses Python and they have an entire class online for free (with video lectures):
  19. Nov 12, 2009 #18
  20. Nov 12, 2009 #19


    User Avatar
    Science Advisor
    Homework Helper

    That and the fact they advertise on the Cable TV listings channel is generally an indication of the quality of the course
  21. Nov 13, 2009 #20
    I've heard people saying that Java is not good as a first programming language.
    I fail to see why though, care to explain?
  22. Nov 22, 2009 #21
    My humble suggestion If you want to learn coding ... learn c++... its awesome!!! yeah it will be hard in the beginning but slowly you will get adapted.. search for programming competition sites in www.google.com ( there are many topcoder, google code jam, acm icpc, spoj etc ) topcoder best because you can see how others have coded the algorithmic problems. C++ is the source of all languages, so if you master it you can learn any other language very easily.
    [ i used to code in c# but now turning to c++ because its awesome fast in execution time and its library huge] search for "stanford programming abstractions" in www.youtube.com
  23. Nov 27, 2009 #22
    If you're going to start with a C-style language, I don't really see why you'd go with C over C++. C++ gets more complex to be sure, but for the beginner there are so many things that are overly complex and/or have to be hand written in C that are utterly trivial with C++. The problem of course is that too many people don't really learn C++, they learn a bastardized "C with cin/cout and classes".

    But to be honest, most of the time I wouldn't recommend starting with a C style language anyway.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook