Computer Programming

Discussion in 'General Off-Topic Chat' started by Minnow, Feb 27, 2016.

  1. Minnow
    OP

    Minnow GBAtemp Fan

    Member
    462
    709
    Oct 5, 2015
    Canada
    Hey. I'm slowly learning C at a steady pace, but was wondering: am I learning it properly?
    What I currently do -- day to day -- is:
    • Go on tutorialspoint and learn there
    • Do exercises, try to make my own console applications based off what I know
    • Try to manage my code efficiently (use for loops and if statements at the right time; use header files)
    I know I use if statements properly most of the time, but not for loops. I have been programming for about 5 months. I know HTML and CSS enough to make a shit website, and JS to make a small application.

    So am I learning properly? I've been told the best way to learn anything is to just do it for yourself.
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,370
    9,172
    Nov 21, 2005
    We would have to see a code example to say more. Likewise I will have to see what tutorials you are following (you could be diligently following a bad guide or something) to say there. How much are you doing as well? 5 months and only fiddling with the sorts of things you mention seems a bit long, however if you are only putting in a couple of hours a day (or a couple of hours a few times a week) then that would be different to 5 months of almost full time school equivalents, though at the same time I am not sure I have seen schools spend 5 months of C these days and instead python and java which do get you started far quicker.
    Nothing you said has set off any red flags, give or take "use header files" which is fine but I occasionally meet those which do it because the guide said rather than fully grasping why.

    "I've been told the best way to learn anything is to just do it for yourself."
    I have learned loads just off my own back and know many to do have done similar things, however there comes a point where being thrust into the real world helps more. I am not sure I would suggest it straight away (no need to copy someone's bad habits and all that) but grab some open source projects for something you might know and see if you can do something with them. For web stuff I usually throw people that reckon they know divs and css into a nice wordpress install and seeing how they set about it, it will still amount to divs and CSS but where to look and how to set about it stumps some people.
     
    TeamScriptKiddies and Minnow like this.
  3. DesuIsSparta

    DesuIsSparta GBAtemp Advanced Fan

    Member
    541
    174
    Oct 13, 2015
    United States
    Weaboo land
    It took me a year to understand what I was actually doing in Java when I started programming. Prior I used Visualbasic and had no ide. I improved by asking for help from skilled users on various forums, as well as working on group projects.
     
    TeamScriptKiddies likes this.
  4. Minnow
    OP

    Minnow GBAtemp Fan

    Member
    462
    709
    Oct 5, 2015
    Canada
    Yeah. When I was first introduced to functions, I was very confused.

    Some days I code more than others, but on average it is about 1 hour on schooldays and 3 hours over the weekend. I'll correct myself though: I got into programming 5 months ago, yes. But that was JavaScript, I only started learning C about 2 month(?)'s ago. I think I'm learning malloc's and pointers now (to be honest I really don't get them completely).

    As for projects, I can't say I've done much. I made a rock paper scissors game in JS, and am working on a unit conversion program in C atm (stuck on whether to use int's or char's for user-input).

    But yeah, thanks for the input :)
     
  5. TeamScriptKiddies

    TeamScriptKiddies Licensed Nintendo (indie) Game Developer

    Member
    1,900
    1,317
    Apr 3, 2014
    United States
    Planet Earth :P
    If you're learning Java and JS, I imagine you're more interested in application and/or game development. C is also useful for game development (much faster execution times than C#), every second counts with modern gaming. If you're looking to get into hardware development, I strongly suggest focusing on C, C++ and MATLAB. That's my 2 cents. It probably wouldn't hurt to learn some ASM as well for hardware, you won't use it much unless you need to flip some bits or do other really low level stuff, but it will help you understand how computers "think" better.

    I'm actually a Supplemental Instructor in an Introductory Course for MATLAB and engineering concepts at my college, so if you decide you want to learn that language, you can always shoot me some questions about it. I also have (very limited) experience with PPC ASM, but more experience with PIC16/PIC18 microcontrollers ASM. In case you haven't noticed, my studies are primarily hardware based, although I'm slowly learning C as I'm now a licensed Wii U developer. Eventually I'll have to take the C and C++ courses for my program but haven't yet.

    Also whenever you get stuck, www.stackoverflow.com is an excellent resource regardless of the language you're learning. Think of it as "cliff notes" for programming, except you have to use them responsibly or you're just cheating yourself out of learning. Use it only when you get stuck and use it for inspiration, don't just copy and paste other people's code every time you get stuck or you'll never figure it out. Also don't just rely solely on it as you also won't learn anything :P. Happy coding!
     
    Minnow and Touko White like this.
  6. Minnow
    OP

    Minnow GBAtemp Fan

    Member
    462
    709
    Oct 5, 2015
    Canada
    Thank you so much! I'll be sure to look into it.
     
    TeamScriptKiddies likes this.