Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

i'm afraid i'll never get the hang of programming

Discussion in 'General Discussion' started by isanvel, Aug 2, 2019.

  1. isanvel

    isanvel

    Joined:
    Mar 21, 2019
    Posts:
    15
    i don't know why but programming is really hard for me, i often forget concepts and some logic programming that i should know by now, i watched the entire course of ben tristem 2D udemy course. and most of the programming i forgot, i tried to make my own pong video game, i did very few programming by myself
    most of it i had to look in other projects i made along with the course and some youtube tutorials. even like that my game is so bugged yet, and i don't know how to fix it. i wanted to create a more simple game, but nothing
    comes to my mind simpler than pong. i've watched some other udemy course in my own language and the instructor programming style was way different from ben tristem 2d udemy course. I am thinking to start watching some tutorials and courses from unity itsself instead of udemy, but that means i'll have to adapt for a different style of programming again, and i will forget how to do it.

    i wanted to write this, perhaps someone was in the same situation as me, and i'm looking for some tips
    if possible. thank you :)
     
    Ony likes this.
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    Just watch any video, doing simple things, like moving / rotating objects via scripts.
    Read examples on the internet as well. Keep copying examples, what others did.
    Experiment, rewrite same scripts, then modify, then try add something. Etc.
    Small steps by steps.

    It takes lot of practice and time. Is not week of few months, but years, depending on your already known background.
    Commitment and determination that only what you need. Without that, is hard to go anywhere really.
    You seams you got something working at least, so is good start.
     
  3. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    2,183
    Thing is programming like any deep+wide discipline takes a long time to master. Your not going to watch a single (or even a few) courses and then be ready to program. You need to contioously test yourself, practise ,go back and restudy etc.

    A lot of us have been doing this for 10+ years and are still learning. I do this professionally for my job, and I am still learning yet I started programming when I was a kid in the early 1990s and now its 2019 and guess what, still learning.

    So I think its less of a problem with you understanding / getting programming, and more a problem of you being far too hard on yourself. Just take it slow, if you forget something go back, relearn it and eventually itll stick.

    Learn by doing not by following. Instead of doing a course, try and make a super super simple game, and everytime you are unsure how to do something look up how to do that single thing, instead of learning how to follow an entire course but not understanding what you are doing.

    EDIT: https://learn.unity.com/course/beginning-2d-game-development << try starting with this, and then try coming up with 1 or 2 changes and trying to add them in yourself. Youll learn somthing, even if you dont remember it all.

    I started with making simple text based things like a simple banking system (add funds, withdraw funds, view funds, all text based) and then moved onto making pong, and then tried making a top down shooter, and then onto a 2d rpg. Everyone learns different and at different paces. Find what works for you :)
     
  4. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,525
    Honestly mate, don't dwell on it too much.

    Despite using unity for years, there's some things I literally have to always keep searching how to do. It happens to the best of us.

    Raycasts I know how to use them, but nearly every single time I have to go back and search the if statement for them, mainly because I do use them quite often, but not often enough to really memorize it. I remember everything else dealing with raycasts, but that darn if statement always baffles me, but I've learnt to deal with it and realize and accept that in coding there's really just too much stuff involved with coding to remember every single thing, anyone who says they literally remember every single concept in coding is either a liar or somebody who is uninformed to anything else that does exist in coding.

    So don't really let it get to you mate, there's always going to be something you have to go search and figure out, there's so many complex things in coding, the one reason it gets so bad is there's generally more often than not - more than one way to handle things, and generally searching for these things you end up getting a solution that simply 'works' but isn't efficient, and this causes you having to search and learn more and having to retain all this information can be a job.

    strings are a good example. (in the second debug) you can stick a variable in a set of brackets.
    Debug.Log("Hi my name is" + name + "and i'm" + age.ToString() + "years old");
    Debug.Log($"Hi my name is {name} and i'm {age.ToString()} years old");

    I prefer the second way, it's much cleaner for me.
     
    MaximumTre, pm007, Kiwasi and 3 others like this.
  5. Vryken

    Vryken

    Joined:
    Jan 23, 2018
    Posts:
    793
    Programming is a never-ending learning process, even to those who have been doing it for decades. There are always going to be new languages, new frameworks, new paradigms, new standards, etc. There are so many concepts to understand that it can be pretty overwhelming for new programmers, but don't think you need to rush it; go at your own pace. The important thing is that you have a will to keep learning, and as long as you keep learning, you will figure it out eventually.

    Oh, and don't feel bad about having to look things up on the internet either. Literally everyone in this field does it, because nobody is going to be able to memorize everything about x language and y framework. Documentation is very helpful for both learning and refreshing.

    The first game I ever made was in the Java Swing framework, and it was a simple game meant for mobile devices where you launched an object into the air and had to bump into certain objects to keep going higher, with the goal being to simply go as high as possible.
    This was 4 years ago, and at the time, I, the naive little guy I was, thought I had finally done it; I "figured out" how to program.
    When I look back at the code I wrote for that game today, you know what I see? Slimy, moldy, half-eaten spaghetti.

    Being able to see where you went wrong is a great thing though. It means you're improving. Once you recognize the mistakes you make, you can only get better from there, because again, the important thing is that you keep learning.
     
    GameDevCouple_I likes this.
  6. GameDevCouple_I

    GameDevCouple_I

    Joined:
    Oct 5, 2013
    Posts:
    2,183
    If there is one thing this thread shows its that we, the unity community, are a very positive bunch :D

    Definately this is the place to come if you want positive encouragement :)
     
  7. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,887
    When you say you watched it does that mean you literally just watched it? Or did you follow along step-by-step in your own copy of Unity?
     
    RecursiveFrog and Antypodish like this.
  8. aer0ace

    aer0ace

    Joined:
    May 11, 2012
    Posts:
    1,175
    I was about to unleash some tough love, @Kiwasi style, but I refrained. OP expressed his concerns well enough, and everyone's provided some great advice.
     
  9. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    Pretty much this. I've started in the middle of the eighties (as a kid) and still, I learn new things every day. This is the endless wonder of this profession.
    Just keep up the good work, you'll be getting there. But also keep in mind that it's not the watching what makes you better developer, it's the doing and the analysis (later, when you do things yourself or in a team, looking back and analyzing what you have done well, what went wrong is valuable).
     
  10. isanvel

    isanvel

    Joined:
    Mar 21, 2019
    Posts:
    15
    i did the steps by steps, some challenges i couldn't do but most of them i did,
    in this course on each video you're faced with a challenge that instructor proposes you
    to do by your own to improve yourself as a game developer.

    @everyone thanks for the help i will keep watching some tutorials and hopefully someday i will be able to make my own game :)
     
    angrypenguin and Antypodish like this.
  11. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,896
    As other people have mentioned, it takes time. Don't rush it. Enjoy the process and be happy with small victories. :) I've been programming since 1982 and I'm still no expert, but I love learning new things every day.

    Programming well is more about problem solving than it is about precisely following steps. Maybe start doing puzzles (word games, geometry puzzles, things like Rubiks Cube, etc.) to work on your problem solving skills, and I think that will help you to better conceptualize the kinds of problems you'll face as a game developer.
     
    Last edited: Aug 2, 2019
  12. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,247
    I'm just going to be honest here.

    Programming isn't for everybody.

    And this isn't a matter of capability or talent. There are some people who just don't LIKE programming. Some people find the relatively rigid logic of programming onerous. This might be you, or it might not. My sister is one such person. She's an unusually intelligent individual. Smarts are not the problem. In fact, she's taken formal classes in programming before, and passed them. But for whatever reason, she HATES programming. Can't stand it. It just doesn't agree with her, and while she's entirely capable of tackling it, it's like pulling teeth to convince her to try.

    This might not be your circumstances. But it is a good idea to take a good look at programming and ask yourself how you feel about it. If you have no natural interest in it, and it is actively annoying for you to work on it, than programming is probably not for you. If that isn't the case, then it's likely just a matter of needing more practice, and working on some fundamental programming concepts.

    In Unity in particular, object-oriented coding and component-model architecture are two fundamental hurdles that you have to grasp before you start to make real progress. Being able to grasp and utilize these two approaches to programming will drastically increase the speed and stability of projects created in Unity.
     
    Kiwasi, frosted, Vryken and 3 others like this.
  13. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    1,182
    I'm still learning more new stuff in programming these days.
    I will admit, it's kinda tough sometimes.:p
    But the good thing is, when I look back, I realise that I know alot more now, than I did, a few months ago.:)
     
    Ony likes this.
  14. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    2,476
    In addition to it might just not be something you like, motivation is a huge factor.

    I was always into computers when I was younger but programming sort of bored me, I never really stuck with it. Until in my mid 20's I stumbled into an opportunity that required programming. Someone was willing to form a company with me and fund it based on my abilities, and all the sudden I had all sorts of motivation. That launched my career in software development.

    Kind of like someone making a real game vs a hobby project. The latter there is just no strong/compelling reason to really do much of anything. You need compelling reasons to stick with something that takes effort. And that you want to make a game, that's not enough trust me. That's rooted in a rather weak desire really it won't last.
     
    Ryiah and Ony like this.
  15. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    3,725
    If you're expecting to do a short online course or a set of tutorials and be able to code, then your expectations are just off. As others mentioned here, programming is a pretty deep subject, and its normal to expect a good amount of time to learn, especially if you're learning on your own.

    But I also agree with @RichardKain - programming isn't for everyone. It isn't about 'smart' or not, its just miserable for a lot of people to think the way you need to think to bend a computer to your will.
     
  16. deliquescator

    deliquescator

    Joined:
    Apr 30, 2016
    Posts:
    53
    Don't expect to completely master programming with a few week long course or actually... EVER.
    Sure, you can get insanely good at it but it takes a lot of time and practice. It's no easy work and it often throws off many people who want to get into game development.

    Personally, I've been doing some Visual Basic at college and wrote a few basic arithmetic programs which I then adapted to C# since that's the language I wanted to get into, but trust me, these are all basic things and my knowledge is very limited, yet I can whip up some simple scripts to make things work.

    Start with something basic, think of what you want objects to do in your game and research online piece by piece, implement it in your game and you will eventually learn some of it. You will be surprised how much you will be able to remember and do after some practice.

    The thing is, if you wanna be super comfortable, you will need to learn the Unity syntax and libraries and it will take time and practice. Trust me though, you don't need to be a super competent programmer with insane knowledge to make things work in Unity. Just watch some tutorials, get a basic grasp of variables and functions and practice with making some systems and simple physics work, try things like co-routines, instantiating and making things move and rotate. There is a lot of stuff online and a lot of exemplar code to look at so Google is your best friend. And if you need something complex that you can't yet do, look for assets! I recently found a cool aspect ratio scaler that saved me hours of pulling out my hair trying to write my own code for it. You can always look at the code and learn from it for future endeavours.

    As for bugs, don't you worry. We all come across them and we all make mistakes, sometimes very silly ones. Just try to push through and solve them as that's what programming is really about, problem solving.

    Most importantly, don't give up! Keep pushing, practising and Googling and you will eventually get there!
    This is coming from someone who made some games in Construct 2 in 2016 and then decided to go all in and learn Unity.
    I made some simple games from Udemy courses but due to a lot of procrastination, I am still working on my first complete 2D mobile game due for release this year.
    Yes, I've been picking at this project for 2 years!
    This is how frustrating and demotivating it can be combined with a life full of turbulent events, so don't expect it to be easy but don't give up, because it is incredibly rewarding! :D

    There is no shame in researching techniques and ideas for your code to work, it's all part of the learning process :)
     
    Last edited: Aug 3, 2019
    Ony likes this.
  17. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    4,727
    I have only one thing to say.

    Measure your progress.

    If you are not setting goals and achieving them, your perception of your progress is like a feather in the wind - or, as they say here in australia, a s*** in a waterfall. One day you feel like you're winning, the next day you will 'never get there'.

    When you begin at something you're not good at, progress is a series of putting one foot in front of the other. If you don't know how many steps you have taken, or how far you've gotten, sooner or later you will give up, because there is nothing to look forward to.

    So decide what your next goal is. Maybe it's just to program one mechanic, with no bugs. Once you've got it, package it up and put it away somewhere, so you can always go and see it and say "that's my progress so far".

    Goals shouldn't take more than a week or two. Beyond that timeframe, time and space dilate exponentially, such that you'll be thinking "yeah I'm just a little bit over the deadline" when really it's been months or years and you're ready to collect your pension. If it takes too long, reduce it.

    And the best thing of all, when you are measuring your progress, there is no need to get reassurance from a bunch of strangers on the internet whose well-intentioned affirmations may or may not be in your best interests :)
     
  18. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    823
    Yes. You have to try the code out, then play with it. Think of a tiny change you want in the results, make that change in the program, and see if it works. Do that a few times. Then the reverse: change something in the program, guess how the result will change, then check if it does. Make some errors on purpose, guess at the error message, and see if you were correct.

    Basically, when people writing good textbooks give you 20 problems in the back of each chapter, they're really helping you out. They're saying that this stuff can be done with what you just saw, and is a good way to get the practice you know you need.

    ====

    The other thing I might suggest is skipping videos or anything to do with games or Unity. You're often seeing too much at once, barely explained, for any of it to stick. You can use Unity with a single script and just Start() and print() to test out any basic C# program, using a regular C# textbook. The basics are maybe 20 concepts, total. Then when you go back to a Unity video, it will be "boring, boring, boring ... unity trick I didn't know ... boring".

    But it's tough. The microsoft site is pretty bad for learning. Many books people say are good because the jokes were funny and they had a good time not actually learning anything. A good book is one where you're not memorizing stuff. After some confusion at a first, an idea makes sense to you. Then the next thing isn't just more stuff to memorize - it's that first idea with a small addition that's totality obvious now that you see it.
     
    Ony and Ryiah like this.
  19. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,559
    Not sure how I feel about being the forum poster child for negativity, tough love, and giving up. But I guess the shoe fits. Here is my tough love. Feel free to take it or leave it. Remember I'm just one random dude on the internet.

    Programming isn't for everyone. It requires a particular way of thinking. It requires stone cold logic, obsessive precision and attention to detail. At at same time it requires a high level of creativity and the ability to look at problems in new and different ways. Not everyone can achieve it. Not everyone that can achieve it enjoys it.

    If you aren't the type that's going to make it or enjoy life as a programmer, ditch out early. You can still be involved in making games. You can be an artist. You can be a writer. You can be a designer or a producer or a marketer or a thousand other roles. Surround yourself with people that can shore up your weaknesses.

    If you still want to be a programmer, have a look at this:

    What the hell is that dude? Programmers need to be painfully exact. Sentences start with capital letter. Proper names are capitalized. Break your thoughts up into sentences. English isn't a particularly precise language, and you are butchering it. Programming uses incredibly precise languages. A single misplaced semi colon will destroy a whole program. Not seeing the difference between OnCollisionEnter and OncollisionEnter can cost you hours of time in debugging. Programmers will argue for hours over the proper placement of a bracket, and yet you can't be bothered to write out in full sentences.

    Its time to pony up and start thinking like a programmer. Practice being precise and exact in every single thing you write. Every sentence should say exactly what you mean. Every capital letter should be placed with care. Every concept should be carefully articulated.

    In the mean time you need to start exercising your logic 'muscles'. Do puzzles. Learn as much math as you can. Play complex board game simulations. Do Sudoku. Debate can also help, if other people are your thing. Do physics or engineering. Learn how to tackle a complex problem.

    You can study programming in the meantime. But your primary focus should be learning to think like a programmer.
     
    Tzan, Martin_H, aer0ace and 3 others like this.
  20. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    823
    A lot of people just capitalize the first letter of the first word, but Kiwasi is correct: painfully exact english is to pick a single letter and stick with it.

    I'm also a huge fun of:

    So true. If you want to write computer programs, learning to program is pretty much the last thing you should be doing. We're not peasants. First learn to order a cobb salad like a programmer.
     
  21. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    Also, you are not a real programmer until you read all of the volumes and solved all of the exercises in Donald E. Knuth's "The Art of Computer Programming".

    (Maybe it is not true, but if you did, you're surely have an idea about programming)
     
    Billy4184 likes this.
  22. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    4,727
    I couldn't disagree more. If you want to learn how to do something, the best way is to simply start doing it. You cannot learn how to program by doing anything other than programming.

    The fastest way to get motivated to learn something, is by doing it in a small way and succeeding in it. The fastest way to destroy that motivation is to do pseudo-activities such as reading a manual from beginning to end, or playing didactic games with oneself.
     
  23. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    That not English thing. Same rules applies, most likely to any language that is using latin based alfabet/grammar. Including Russian.
     
  24. DominoM

    DominoM

    Joined:
    Nov 24, 2016
    Posts:
    460
    When you copy paste from other projects, take the time to read the code you use. Look up anything you don't understand and make sure you know why it was done that way. You will forget things and look them up multiple times, but each time you'll have more context from the previous times you used it. The things you use regularly you'll start to remember and you'll get better at speed reading documentation to grasp the bits you don't.

    If someone designed the perfect job for a control freak, it'd look a lot like programming. Programming languages give a precise way to give instructions to do a task. Programmers imagine the steps needed to accomplish a task (problem solving) and figure out how to write those instructions in the computers language.

    Bugs are a disagreement between the programmer and the computer about how those instructions should be followed. The programmer has to adapt their code to the computer (who is stubborn about following instructions precisely) to solve the issue. That's hard to do if you don't understand each instruction in the code you are using.
     
    Last edited: Aug 3, 2019
  25. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    3,952
    Maybe try playing Zachtronic games? And don't worry if you get stuck, they're basically harder than what you'll face programming your average indie game, imho.
     
    Ony likes this.
  26. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    4,257
    Summoning senior expert to give advice on how to become senior expert level...

    ༼ つ ◕_◕ ༽つ

     
    deliquescator, iamthwee and ikazrima like this.
  27. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    Seriously... ?
     
  28. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,406
    Over the years I've grown to understand you either have it or you don't.
     
    Antypodish likes this.
  29. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,048
    We're like two peas in a pod buddy.
     
    BrandyStarbrite and Ryiah like this.
  30. DreReid

    DreReid

    Joined:
    Dec 13, 2015
    Posts:
    342
    I too am not a 100% good at it, but I do try my best at it. And whatever I don't understand I google or Youtube the answer. And if the google or Youtube answer has errors......am cooked lol.
     
  31. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,559
    I mostly agree with you. However in this case the OP has tried the direct approach and failed. Given the direct approach didn't work, it might be time to approach the problem sideways.
     
    Martin_H and Ony like this.
  32. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    4,727
    Well, the way I see it, the OP does not have a methodical approach. They are trying to absorb tons of random information from all over the internet, and the results are not successful or satisfying. The solution is to do a small programming task, and do it thoroughly and well, and enjoy success.

    For example they say they have watched all of Ben Tristem's 2D course on udemy, which if it's the one that came up in google, is a whopping 35 hours of video. Watching 35 hours of blurb about something while not being competent in basic skills in it is enough to obliterate even the most earnest interest and motivation.

    At this point, I think the OP should go back to the beginning and practice small things. There are a lot of very basic tutorials, such as Unity's Learn section, that have a small scope and plenty of opportunity to grasp what is going on and why.

    For example, the first thing I did after downloading Unity was the 2D space shooter tutorial, which is a few short videos. I wrote down all this stuff about rigidbodies and transforms and so on I didn't even understand, but I wrote every letter of the code and in the end it worked. That was fun! Pretty soon I started changing values here and there, reading the manual about specific items I was interested in, and I was away.
     
  33. deliquescator

    deliquescator

    Joined:
    Apr 30, 2016
    Posts:
    53
    Someone can watch 35 hours of lessons but if the course is trash and they don't practice as they go along, they won't learn much, even if it was a 100 hours worth of video.
    You need to find a decent course which explains things in simple terms but is challenging, while not being unnecessarily dragged out.

    For example, I started with Jonathan Weinberger's Ultimate Guide to Unity Game Dev, which is 21 hours long and quite nicely structured. I didn't finish it all, I must have gone through 10ish hours of content. But it taught me a lot!

    And do you know why?
    Because I was MAKING the game as I watched the lessons.
    1 watch to absorb the knowledge, then replay it, pause, develop, resume.
    Not only that, the course actually had some challenges for me to figure out, which teaches you how to think like a programmer.
    THAT, is very useful stuff and way more beneficial than rewriting someone's lines of code for hours with no real understanding of what you're doing :)
     
    Billy4184 and Martin_H like this.
  34. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    823
    More than that, no one serious should try to learn programming from videos (which includes Unity Learn). Videos are fantastic for physical processes, like changing your car battery. Things where you need to see how it looks for real so you can copy it exactly. But you hardly need to see someone type code. In fact, the thought process is more important -- better educational videos would show a blackboard.

    But even then, videos fool us -- they feel like having a teacher, but are nothing like it. The video can't take your questions midway, or adjust the example, or notice you have a puzzled look on your face, or help you lean over and ask another student if they're getting it.

    We make games, so should know better. Bad games trick people with a lots of flashy messages about how much progress you're making. The good ones have so-so graphics but really well-designed puzzles, or mechanics that make every character class useful. Seeing video vs. text, game designers should know videos are only there to appeal to people who want to get a general feel-good sense of learning. Which is cool. For every one thing you need to learn, there are 10 more you don't need to know, or have the time for, but a little edutainment on them is just great.
     
    frosted, Martin_H and aer0ace like this.
  35. mountainstream

    mountainstream

    Joined:
    Apr 15, 2019
    Posts:
    139
    Yes, programming is hard. That's why Notch and Elon Musk are billionaires. If it was easy we'd all be billionaires.
     
  36. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,887
    None of their money had to do with their programming skill.
     
    elmar1028, Goat-Boy, frosted and 4 others like this.
  37. technicat

    technicat

    Joined:
    Nov 22, 2006
    Posts:
    1,278
    Plenty of good advice here, I'll just add that anyone can learn programming, it just takes time and practice and perseverance, like learning a new language, or playing an instrument. Of course it helps if you find it interesting and not a chore, and in that vein whenever something doesn't work instead of getting frustrated and giving up you should think of that as an educational puzzle to solve where you learn more about what your code is doing and should be doing and research the language and API you're using. That's basically what most of professional programming is, continuously writing/debugging/revising code and googling for more info, so it's that patience and process what you really need to learn. And don't look for just one way to learn. People are different, and these days there's a wealth of avenues to learn programming (books, tutorials, bootcamps, online courses...) so take advantage of that, try various approaches to see what you like. That said, I'll suggest one resource:

    https://gamkedo.com
     
  38. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,406
    Everyone can learn to play a instrument, but not evyone can become Beethoven. Same with programming, someone said 50 procent is environment and 50 procent is DNA. That environment factor you can affect, but those DNAs are what they are.
     
    Antypodish and deliquescator like this.
  39. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    Wow, we came a long way to compare a thing which we humans do 80? 100? 200 years tops if we're generous what we're calling programming exactly to a thing which we humans are doing for a lot of thousands of years.
     
  40. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    @Owen-Reynolds I don't agree. There is plenty good use cases for video based learning. Everyone learns different way. Some.love reads a lot. Others prefer images. In the end Unity along programing is highly visual tool. And single image can tell more, than thousands words you know. So for someone who don't know anything, is good starting point.

    However, as other stated already, practice is only really way to learn. Knowing how to read and apply docs and examples in own project, gives massive advantage and source of knowledge.
     
    Lurking-Ninja and technicat like this.
  41. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    Because we didn't had tools before, doesn't mean we didn't, or had predispositions to utilize tools. Weird, when some very clever people in the world, struggle with doing very simple task. And vice versa. Yet we need everyone to progress.

    So here is programming. Just another tool:)
     
  42. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,887
    That said you don't need to be Beethoven if you manage to go viral. :p

    https://en.wikipedia.org/wiki/William_Hung
     
    MaximumTre and AndersMalmgren like this.
  43. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    823
    That's the "Learning Styles" myth. Turns out there' s no such thing as a visual learner. The whole thing is junk. In fact, there was never a study or any good reason to think it in the first place. Search "Learning Styles Discredited". But I'm sure it's another reason people think video tutorials are good.

    Books or webpages can have pictures. They don't need many, but are nice for showing indexes in an array, or sometimes a flow-chart demonstrating how if-else clauses are co-equal. What you don't need is a video or hearing someone talk.
     
    AndersMalmgren likes this.
  44. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    Well, for one, I can tell you that I learn more easily if someone explains to me where, what and why.
    It is light-years easier. But maybe I don't exist at all and I'm just a myth. And all of my school-years were a myth, because I learned more easily listening to the teachers and other people who talked about the subject rather than reading about it (and I'm an avid reader, BTW).

    I prefer videos over written tutorials because of the audio (mostly). And I prefer written manuals to look up if I'm looking for something I know about but I need to know how to use it.
     
    Martin_H, Billy4184 and Antypodish like this.
  45. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,559
    Learning styles was a very specific theory about how people learn. It suggested that people have a dominant learning style, and that identifying that learning style and teaching to it was key for educational outcomes. That idea has been debunked. Anyone can learn just as well through any medium.

    That doesn't say anything about learning preferences though. Just because I can learn equally well through books, lectures, videos or hands on work, doesn't mean I want to. Some people just like reading. Others like watching videos. Others like jumping headfirst into practical stuff.

    Doing something you like increases your odds of staying with it. Which is often more important then any other aspect of learning.
     
  46. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,559
    So what?

    Humans have been learning new skills for hundreds of thousands of years. The principles of learning a new skill don't change much based on what the skill is.
     
    Martin_H likes this.
  47. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    I have no problem with learning, but it wasn't the subject here. It was DNA... We didn't have enough time to adapt to programming even if such thing exists.
     
  48. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,411
    If that would be true, we wouldn't have tons wide range of software as we got now.
    We just don't have time to learn all parts of software. Therefore, people focus only on chunks of program dev.
    Some stay mostly on low level CPU optimization, with register management etc., so we can have fancy processors. Other will improve existing APIs of software. And others will love to use existing API blocks and don't care about low level programming and build end user experience.

    So I would ask, which part of our evolution, didn't catch up with our programming capabilities, or needs in your opinion?
    What we can not do yet and what yet tech does allows us already? Or we don't know that answer, because we are not evolutionary capable?

    People can reason and analyse anything they get contact with. We can abstract. We can create and be creative.
    We did that for millennia with things: Complex calendars, Complex massive structures, Massive wars, Domination Agriculture, Science, Society, Religion, Politics, and more. None of these are trivial sticks and stone child play :)
     
  49. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,559
    One could actually argue the same thing for music. Evolution is a long slow process. Its unlikely that we have had any real selection pressures for musical talent. And yet musical talent still exists.

    Either way, you seem to have a fundamental misunderstanding of how evolution works. Organisms don't adapt DNA when they need it. The DNA that's already there just happens to be useful to the task at hand. In the case of programming, its likely whatever genes will be useful to it already exist in the population. Even if no computers existed, some people will be better at programming then others.

    Evolution only happens when genes provide a survival and reproduction advantage. As yet its hard to tell if programmers will have more kids on average then non programmers.
     
    deliquescator and bobisgod234 like this.
  50. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,634
    Look, obviously I'm not an expert on genetics and stuff, so I have very limited knowledge about these things, including the Theory of Evolution. But I know the basics. I know that natural selection works on the long run, and it's not a conscious decision to pick the "better" for the "job", but it's statistics (the better for the job survives more likely than the less suited). No question there.

    But, musical talent is not really a genetic thing, the underlying skills are (AFAIK): sound processing (hearing), pitch recognition, rhythmical capabilities, etc. I know, I'm one of the anti-talents. :D

    Also, programming has nothing to do with any sensory input or output, no physical skills involved, no fine motor skills needed, no relations with anything like that.
    As far as I know (and I may be wrong here, but I have never heard of it) there is no gene for logical thinking, no gene for to be organized. Since up until the XXI. century we mostly used programming languages as primary input for programming, genes for languages may have some effect here. And anything I have left out.

    So yes, strictly speaking anything we do is affected by genes, but I still stand by my statements that comparing these two is not really right.
    My statement about adaptation was rather amateur and misguided, I humbly admit.