1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Programming n00b

Discussion in 'Entertainment and Technology' started by An Gentleman, Sep 23, 2013.

  1. An Gentleman

    Full Member

    Joined:
    Aug 20, 2013
    Messages:
    1,673
    Likes Received:
    0
    Location:
    Cali
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Bisexual
    Out Status:
    A few people
    I have basic knowledge of Python 2.6, but that's it.
    Any advice on what language I should start programming with, and where I can get some tutorials?
     
  2. toushirojaylee

    Full Member

    Joined:
    Sep 21, 2013
    Messages:
    747
    Likes Received:
    0
    w3schools is a good source of online tutorials. I'm a freshmen taking up BS Information Technology, dont know how to program yet, still on the basics :grin:
     
  3. Randy

    Full Member

    Joined:
    Aug 23, 2012
    Messages:
    3,784
    Likes Received:
    2
    Location:
    Texas
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Gay
    Out Status:
    Some people
    c++, BASIC, Perl, SQL, Java, C
     
  4. SilverGirl

    Full Member

    Joined:
    Apr 12, 2013
    Messages:
    0
    Likes Received:
    0
    Location:
    Brasil
    java is pretty fun, there are good tutorials here:

    The Java™ Tutorials

    as you learn, there are great tutorials for java swing (java graphical interface) in the link above, the rest is only limited by your imagination :grin:
     
  5. toushirojaylee

    Full Member

    Joined:
    Sep 21, 2013
    Messages:
    747
    Likes Received:
    0
    I love sql!but not the flowcharts and algorithms on cprog :eusa_doh:
     
  6. Pret Allez

    Full Member

    Joined:
    Apr 19, 2012
    Messages:
    6,785
    Likes Received:
    67
    Location:
    Seattle, WA
    Gender:
    Female (trans*)
    Gender Pronoun:
    She
    Sexual Orientation:
    Bisexual
    Out Status:
    Some people
    No, I don't recommend starting on C or C++. Python is a great starting language--so good in fact, that our CS department at UVic, after a year of piloting CSC 105 with it, decided that Python, not Java, would be the starting language.

    After that, Java is good.

    Pointers and references are really hard concepts for beginning programmers, and I recommend starting with languages where understanding that particular concept is not a central part of doing things in the language (unlike, say, C, where you basically can't do much of anything at all without pointers.)

    Syster Adrian
     
  7. aznboy

    Regular Member

    Joined:
    Aug 19, 2013
    Messages:
    43
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Bisexual
    @An Gentleman: What are you trying to accomplish?

    Different departments have different philosophies as to which languages are better to start with beginners.

    Basically, C++ and Java are lower level languages and less abstracted compared to Python or Ruby, which read more like natural languages (i.e English). You can also, generally, write less code in Ruby and Python than C++ and Java and get the same results...but you sacrifice runtime speed.

    So, for things like most websites/webapps, where enormous gains in speed are not vital, a lot of stuff (esp backend) can be done in Ruby and Python. On the other hand, most video games, esp heavy duty 3d games or complex animations use C++. On the other hand, if you want to do front end website development, you almost inevitably have to learn JavaScript, which is a weird language to say the least...It just depends on what your end goal is. But it's all worth learning at some point if you're serious about programming.

    Feel free to PM me if you want to talk about this stuff. I'm a total geek about it.
     
  8. stephenstills

    Joined:
    Jan 1, 2013
    Messages:
    83
    Likes Received:
    0
    Location:
    ON
    Gender:
    Male
    Sexual Orientation:
    Gay
    I wouldn't know what programming language to recommend because I don't know what exactly you want to do with it. This is a good article on the subject though. For tutorials, have you had a look at all courses being offered online by Coursera, mate?
     
  9. ptacub

    ptacub Guest

    The thing you have to realize about programming languages is that it depends on what you want to do, so there isn't a correct answer, but I'm going under the assumption that you just want to use a general purpose language.

    In terms of beginner friendliness C++ (C as well, but C++ is a superset of C anyway) isn't a good language to start with. It's always best to start with an easier language, like Python, to get an understanding of the logic behind programming. Once you have that, then you can move onto C++ focusing on just learning the language itself. I would not recommend Java either because to fully understand Java you need to understand object-orienated programming, which Java focuses heavily on.

    I will go against the crowd a bit and suggest Free Pascal. There is an open-source IDE known as Lazarus for Free Pascal (believe it or not Skype was initially programmed in Pascal) that is very easy to use. There aren't many tutorials but you could just use Delphi tutorials, considering Lazarus is an alternative to Delphi. I have noticed very little difference between the two.

    Otherwise you could just continue with Python: there is a free textbook on Wikibooks.
     
    #9 ptacub, Sep 24, 2013
    Last edited by a moderator: Sep 24, 2013
  10. aznboy

    Regular Member

    Joined:
    Aug 19, 2013
    Messages:
    43
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Bisexual
    Actually, maybe think about Processing (Processing.org) if you're visually inclined, or Scratch? They are great ways to start learning coding. Processing is essentially a streamlined library of Java for more visual projects.

    I agree with ptacub...C/C++ is a terrible place to start. Python and Ruby are def good places to start, though I don't think Java is that difficult to learn.
     
  11. Just Jess

    Full Member

    Joined:
    Jan 19, 2013
    Messages:
    1,237
    Likes Received:
    0
    Location:
    Denver
    A better thing to focus on than a language, is problems. Programming and cooking are very closely related skills. You can read cookbooks and look at pictures all day, but the only way to really know how to cook is to get in the kitchen and get your hands dirty. And recipes always come out better if you've made them a few times and know what to expect. But your language is just your ingredients. You really shouldn't learn ingredients, you should learn how to cook!

    If you look around the net googling "programming problems <the language you like>" you can come up with some good ones. I can start you off with a few.

    #1, (easy) if I give you a number of seconds since January 1st, can you tell me what month, day, and day of the week that is? Hint: there's 86,400 seconds in a day.

    #2, (medium) I can put any combination of nickels, dimes, quarters, and dollars into a machine, until I have $0.50. So this is two problems. Problem 1, find a way to let me type in the letters n, d, q, or D, and print out the word "Nickel", "Dime", "Quarter", and "Dollar". Problem 2, let me keep typing those in until I have enough money to buy a coke, and then tell me how much change I have. Bonus problem: tell me how much change I have in nickels, dimes, and quarters, not just the amount.

    #3 (hard), write a program that uses |, -, and + characters, and spaces, and turns them into a maze. The maze must only have two places attached to the outside world. And it must have a solution. Hint: this is three problems. Problem 1 is figuring out how to take a data structure called a "2D array" and print it out in maze form. Problem 2, is figuring out if you have any legal moves from a place in the maze. And problem 3 is going to involve a powerful programming technique called "recursion". More specifically, "recursive look-ahead". The idea is to try every possible solution. Also, you will want to make a few mazes by hand and solve them with a piece of paper before you try to randomize them.

    You can do all of those in python. If you get stuck on any of them PM me and I'd be happy to help :slight_smile:

    When you can do those, you will know how to program in any language. But just like with cooking, there's always something you have to learn about every new ingredient. So there's a special programming problem we programmers use just so we can pick up new languages. It's called "hello world". If you can get a "hello world" program working in any computer language, once you know how to program, then you can use that language.
     
  12. iHateThinking

    Regular Member

    Joined:
    Jul 19, 2013
    Messages:
    422
    Likes Received:
    0
    Location:
    U.S.A.
    Glad I'm not the only programming "noob" in these parts... At most I've done some basic HTML. Started my first computer programming class, we're using TrueBASIC. Our first assignment is making an American flag with the PRINT command... So odd. :lol:

    I'm also planning on learning Python in my spare time; downloaded the command line and used it as a calculator and assigned some variables. I found a huuuge tutorial on it, so I'm following it. Gonna follow the advice you guys have provided here.

    The universal answer from what I've seen is Python, then once you've grasped it/got a mastery of it, move onto more complicated languages like C, C++, etc.
     
  13. An Gentleman

    Full Member

    Joined:
    Aug 20, 2013
    Messages:
    1,673
    Likes Received:
    0
    Location:
    Cali
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Bisexual
    Out Status:
    A few people
    Oh, right. I want a language good for game programming...
    I have too many plot ideas and not enough skills to do anything.
     
  14. aznboy

    Regular Member

    Joined:
    Aug 19, 2013
    Messages:
    43
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Bisexual
    Hey,

    So, yeah. All lots of great advice on the thread, but if you want to do game programming...

    Processing.org
    Books \ Processing.org
    Check out the books by Dan Shiffman; they're a great way to start learning about how programming works. When you learn Processing, you're essentially learning a subset of Java. It's also great because Processing is very visual. All your initial projects will be animations so on.

    Then, once you master that, or become more comfortable, I'd recommend going in one of two (or both) directions. C++ and/or Python. C++ is more 'low level', and has a bunch of really tricky stuff to learn, but it's more 'powerful' from a speed perspective which is why it's the standard for a lot of heavy-duty 3-d game programming. A lot of 'game engines'/physics simulations are build using C++. Python is 'faster' in development, because it's more like regular language, and it takes care of a lot of the dirty-work you'd have to do to make something happen in say (Java or C++) so a lot of developers like it for projects where 'runtime' speed is not critical. Like, where it doesn't matter if something takes a 1/10th of a second vs. 1/1000th of a second (or whatever). But in 3d rendering, that DOES matter, so C++ is more 'powerful' but it also takes a lot more time to write the code than python.

    But start with Processing. Once you learn the basic concepts and some of the tech lingo, then you can more on to things like pygame (a python game library which allows you--or makes it easier--to write games in python).

    Anyway, let me know if you want any more help/resources! I do development during the day, and though game programming is not my thing, I can ask friends if I don't know something and get back to you!

    Have fun!

    :icon_bigg
     
  15. ScatteredEarth

    Full Member

    Joined:
    Jun 7, 2013
    Messages:
    1,486
    Likes Received:
    0
    Location:
    Bethlehem, Pennsylvania
    Shit, better than I am.. The best I can do is basic HTML coding (and I mean BASIC) and I can make basic flash games in a program called 'game maker' :stuck_out_tongue_closed_eyes:
     
  16. geode

    Regular Member

    Joined:
    Jun 30, 2013
    Messages:
    25
    Likes Received:
    0
    Location:
    Oregon
    Gender:
    Female
    Sexual Orientation:
    Questioning
    Out Status:
    A few people
    Just to echo what a couple of other people have said--you might look at Coursera (there is a beginning game programming class that just started a week ago), and Scratch. I've also used Alice a little bit with my nephew who is new to programming; it's similar to Scratch (ie, an environment for beginning programmers), has a number of tutorials to help you learn to use it, and has a number of shared programs to get an idea of how other people have used it.
     
  17. Jessica79

    Full Member

    Joined:
    Aug 29, 2013
    Messages:
    183
    Likes Received:
    1
    Start with a scripting language like pawn then move on to c++ (best language ever) then advance to perl and stuff
     
  18. aznboy

    Regular Member

    Joined:
    Aug 19, 2013
    Messages:
    43
    Likes Received:
    0
    Gender:
    Male
    Sexual Orientation:
    Bisexual
    Dude (and dudettes). Programming is awesome.
     
  19. method

    Full Member

    Joined:
    Sep 6, 2013
    Messages:
    307
    Likes Received:
    1
    Location:
    Germany
    I've been an on and off programmer, but my first language ever was BASIC. Time warp!

    C:\DOS
    C:\DOS\RUN
    RUN\DOS\RUN
     
  20. prism

    Full Member

    Joined:
    Jun 17, 2012
    Messages:
    749
    Likes Received:
    0
    Location:
    NYC
    Python is a really fun language to start with (fool around with Turtle Graphics!). The logic across programming languages is more or less the same (each having its own unique characteristics and applications) but differ in syntax, so I would recommend becoming very familiar with a single programming language and then moving on to learn new ones.

    Code Academy is a great place to start. The fastest way to learn is to assign yourself small projects, like simulating an equation or building a library. You'll spend hours trying to figure out what is wrong with your code, but there's nothing like the feeling of having your program compile correctly.

    It's a very rewarding hobby. Hope you stick with it! You'll be glad you did when you're out job hunting. :slight_smile:
     
    #20 prism, Sep 26, 2013
    Last edited: Sep 26, 2013