Thread: Makes me mad..

  1. #1
    Registered User
    Join Date
    Mar 2007
    Posts
    23

    Makes me mad..

    Makes me mad at myself (for my slow progress) when I come on here and see people asking questions about complex code that I'm not even nearly close to knowing, when I'm only up to the seventh lesson. =/.

    Note: this thread isn't requesting anything. I just thought this statement when on these boards so I thought I might as well post it, even though it doesn't really contribute to the community.

  2. #2
    Registered User
    Join Date
    May 2006
    Posts
    903
    Just don't let yourself get discouraged. Also, don't watch what you have to learn but rather what you have learned so far and give yourself a pat on the back for learning it.

  3. #3
    Registered User Noir's Avatar
    Join Date
    Mar 2007
    Posts
    218
    Self-improvement isn't a contest. You should only move at the right pace for you and forget about how fast other people are going. There's always going to be something you don't understand.

  4. #4
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    Don't forget that some of the people on this board have been programming for years. Looking at someone with years worth of experience in almost any field will make someone starting out feel like they don't know what they're doing.

    And yet, for myself, I seem to feel that somehow I lose ground the more I learn. The more I learn, I'm able to see more of the bigger picture, and I realize how little I actually really know of what is really out there. Learning can be quite depressing sometimes.

    But overall, if you stick with this for years, you'll probably be at the level of some of the other people here. Learning how to program boils down to a few important key factors:

    • Your own personal drive to learn it.
    • Understanding the concepts, instead of doing things "just because".
    • Learning how to learning.


    Each thing I listed can be summed up in about one word or two:

    • Motvation
    • Understanding
    • Google (or MSDN, or other equivalents)



  5. #5

    Join Date
    May 2005
    Posts
    1,042
    I agree. The energy you are spending worrying about your progress is energy not being spent on programming. Just keep working at it. And yes, a skill as complex as this works on the 'years' timescale. I've personally been actively programming for like 7 years.
    I'm not immature, I'm refined in the opposite direction.

  6. #6
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by BobMcGee123 View Post
    I agree. The energy you are spending worrying about your progress is energy not being spent on programming. Just keep working at it. And yes, a skill as complex as this works on the 'years' timescale. I've personally been actively programming for like 7 years.
    I've got to agree with both you and MacGyver. I've been doing this a LONG time, and the longer I do it, the dumber I feel. My ability to envision the scope of programming as a whole practice improves, which makes me realize how much I don't know yet. But this is actually comforting to me, because I know I'm not wasting my time.

  7. #7
    Lean Mean Coding Machine KONI's Avatar
    Join Date
    Mar 2007
    Location
    Luxembourg, Europe
    Posts
    444
    I think that "the bigger picture" or all the possible application domains of programming are not part of the general knowledge required to be a programmer and should in no way influence your motivation and/or desire to become a programmer. Yes, there are probably hundreds of things you could do in coding that you never will or never can do but that isn't required.
    Just like a car driver will never drive a Formula1 car or a drag racing car, a normal programmer will never bother to write a highly specialized compiler or a powerful 3D engine such as Doom III. The thing is that it is not necessary. Programming is a way of thinking, a logical approach to a problem solving process and NOT the mindless application of different API.

  8. #8
    Math wizard
    Join Date
    Dec 2006
    Location
    USA
    Posts
    582
    One "law" that I have is something like this:

    "You gain experience the fastest and easiest if you do things at your own level and no higher or lower".

    Picture yourself when you were (are) in tenth grade. Your teacher gives you a homework assignment on the second grade level. You'll almost certainly find it very boring and unchallenging and not worth doing. Now picture yourself when you were in the second grade. The teacher decides to give you a homework assignment on the tenth grade level. You find it extremely confusing and frustrating and may refuse to do it.

    Programming is the same thing. Don't jump toward writing a commercial-level 3D racing game or whatever when you barely have a start. I've been wanting to make George Game 13 for about 2 years now, which is a do-anything 3D high-speed platform game. My programming skills are far too weak to make such games with even though the game is still fairly simple in design. Technically, I can program almost all the game mechanics without much trouble (motion, game physics, usage of the special abilities, scoring, etc.), but I don't know anything about 3D programming. In addition, 3D isn't my realm of familiarity in games - I prefer 2D much more. Recently, I just finished "The Interactive Animation" which was my first program released in January 2005 but recently in pure C. This program is extremely simple in design. Yet, I'm still having trouble (which msvcr80.dll file do I use?). My next project isn't George Game 13, it's redoing "The Supernatural Olympics". I've been working on the slopes feature lately and it can easily be a year before I finish the remake. Once I finish that, George Game 13 still wouldn't be next, but rather a more complex 2D RPG game that includes more things than "The Supernatural Olympics" and once that's done, George Game 13 would likely be next.

    I've actually been programming since late December or early January of 2005 with a language that is a cross between C and Javascript. It's the language that Gamestudio, my previous tool I used, had. During my time making The Supernatural Olympics, I occasionally lost motive for doing it causing no progress for weeks or even months, but then a massive burst would come along and I return to the project. From what I've developed with Gamestudio, I can use many of my techniques to do almost anything. My only weakness is knowing what Windows functions I need to use to do something. Whenever I attempt searching, I get 100+ completely irrelevant results and it's annoying. I was searching for "resize window" to find out what is needed to resize a window, but instead of for resizing a window, I get a lot of stuff involving images or things involving a window but nothing to do with resizing a window. I find it more convenient to just ask on the forums rather than just search. I do, occasionally, find what I'm after.

    Programming can sometimes involve a lot of math so great math skills are very useful. If I need a formula, I just use Excel and start plugging away at numbers and things to find the formula that gets the effect I want. The formula the glide ability (with pitched gliding involved) is very complicated and took me about 2 hours to figure it out. Sometimes, it's not complex (adding one to a variable for loops, how simple) and often just basic algebra is used.

  9. #9

    Join Date
    May 2005
    Posts
    1,042
    The thing is that it is not necessary. Programming is a way of thinking, a logical approach to a problem solving process and NOT the mindless application of different API.
    Well-said

    edit:
    Makes me mad at myself (for my slow progress) when I come on here and see people asking questions about complex code that I'm not even nearly close to knowing, when I'm only up to the seventh lesson. =/.
    I remember those same feelings. It's tough to feel that way, but you feel frustrated because you are interested, and that's the most important thing of all. As long as you remain interested, you'll keep working at it, and eventually you'll be very happy you didn't give up. But don't spend too much time beating yourself up over not being able to write something 'complicated' ... I assure you that one day it'll all 'click,' and your definition of what is complicated will summarily change. And you'll feel like chuck norris.
    Last edited by BobMcGee123; 04-30-2007 at 06:59 AM.
    I'm not immature, I'm refined in the opposite direction.

  10. #10
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485
    In my experience almost everyone who starts with a new craft (especially the ones that relates to computers) wants to do to much to fast. For example when people decide to learn programing its so that they can make their own game (Something simple as WoW) and get rich while having fun.

    If you have understood that you are not going to make WoW-2 this weekend you are on a good way to really start learning

  11. #11
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by h3ro View Post
    In my experience almost everyone who starts with a new craft (especially the ones that relates to computers) wants to do to much to fast.
    I can give an example from a different field. I love brewing my own beer (hence my handle). I've been doing it over three years now. My first batches were pretty good. I was using a simple method, malt extract, etc. After a few batches I jumped to a MUCH more complicated system consisting of kegs, burners, pumps, a grain mill, etc. The next 10 or so batches I made tasted like crap.

    I was complicating things too much too soon. Over time, I learned through trial and error how to make good beer using the new system. After a while, my beer was consistently good again. The point is, despite all the reading and learning I was trying to do, it was only through MAKING MISTAKES that I figured out good vs. bad technique.

    They say a smart person learns from his own mistakes. A GENIUS learns from the mistakes of others and doesn't make mistakes himself. I'm a smart guy, but no genius.

  12. #12
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Programming takes many years of practice to get decent at it. I've been coding for nearly 20 years in either C/C++, BASIC, or assembler (with other junk thrown in here and there) and still have only touched the tip of the iceberg in certain areas.

    Once you get the fundamentals down and learn the language, then you can branch off into whatever application area you want to..be it games, engineering, finance, etc, etc. You won't be good at all areas but if you have a general knowledge of the foundation of how it all works, coding an accounting app is not much different than coding a game or an engineering app.
    They both require problem solving and analytical skills which is what I feel programming is about. Any monkey can memorize functions and API calls...it takes a programmer to use all of that to produce something useful.

    And this is why the job postings for programming jobs irritate me. They always want to know if you have experience in A or B but they rarely care if you really understand what is going on. To me the best programmers are the one who understand not just the language but how and why it works. Those that can synthesize new solutions to huge problems and challenges are the best type of programmers IMHO. Just because you know A or B language does not make you a programmer nor does it make you a good choice for a job. Understanding the fundamentals will allow you to make the transitions from A language to B language because underneath it all the concepts all remain the same.
    Last edited by VirtualAce; 04-30-2007 at 11:06 PM.

  13. #13
    Fear the Reaper...
    Join Date
    Aug 2005
    Location
    Toronto, Ontario, Canada
    Posts
    625
    And this is why the job postings for programming jobs irritate me. They always want to know if you have experience in A or B but they rarely care if you really understand what is going on. To me the best programmers are the one who understand not just the language but how and why it works. Those that can synthesize new solutions to huge problems and challenges are the best type of programmers IMHO. Just because you know A or B language does not make you a programmer nor does it make you a good choice for a job. Understanding the fundamentals will allow you to make the transitions from A language to B language because underneath it all the concepts all remain the same.
    That should be a sticky on the job posting's board.
    Teacher: "You connect with Internet Explorer, but what is your browser? You know, Yahoo, Webcrawler...?" It's great to see the educational system moving in the right direction

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. What makes WoW so damn addictive?
    By cboard_member in forum A Brief History of Cprogramming.com
    Replies: 91
    Last Post: 06-28-2006, 11:38 PM
  2. Replies: 17
    Last Post: 02-13-2006, 01:19 PM
  3. What makes a Windows EXE?
    By willkoh in forum Windows Programming
    Replies: 19
    Last Post: 04-02-2005, 10:15 PM
  4. mad scrolling
    By Unregistered in forum C Programming
    Replies: 3
    Last Post: 11-20-2001, 02:38 PM
  5. Spam :mad:
    By mithrandir in forum A Brief History of Cprogramming.com
    Replies: 5
    Last Post: 09-22-2001, 10:43 PM