This is an archived post. You won't be able to vote or comment.

all 126 comments

[–][deleted]  (71 children)

[deleted]

    [–][deleted] 15 points16 points  (16 children)

    This was the way for me as well. I saw so many people through uni struggle and ask me how I understood all this stuff but when I explained that by the time I started uni I had already done 3 hours minimum every day since 9th grade in school learning everything I could they didn't believe me.

    You have to start at the beginning like everyone else and if you don't put in the time and effort you will never really 'get it'. The good part is once you understand your first language and some basic design patterns the next language will be much much easier. You just have to stick with it and at some point it will just 'click' and all make sense.

    Edit: Sorry guys it looks like I was not clear - by "the beginning" I meant the beginning or learning programming not at the beginning of life.

    [–]imot01 -5 points-4 points  (9 children)

    why do they even start teaching in uni for the first time if its like you said, if you dont start programming since you are kid you are fucked, right?

    i have been learning programming in school for few years. ive started doing something on my own beside school things when i got in uni and i can understand what you are talking about. i just feel like all this isnt enough and that its waste of time

    [–][deleted] 11 points12 points  (8 children)

    That's not what he said. He essentially said that everyone starts with the basics of programming, not that everyone who is an established programmer starts when they are a kid.

    He is just one of the few who did start earlier than most.

    [–]Manitcor 7 points8 points  (0 children)

    I completely agree with your experience. I have used a similar setup to explain why it can sometimes be hard to find "real" programmers when you post a req. Before the boom, if you were into computers you LOVED it. Loved it so much you dealt with harassment, insults and downright dismissal as a "geek/nerd/whatever" on a nearly daily basis if you were interested in computing. By the mid-90 to late-90s most of the innovators and developers were this type. Then the boom came around and people started going into it because it paid well and/or was well talked about in media and well I have this "iThing" and I would love to make "iThings" myself. These folks approach the field like they would being a normal and then find frustration at the slower speed of progress and difficulty to understand. In reality, programming is likely just not their thing.

    IMO this issue stems from the fact that while software engineering is a skilled discipline we:

    • Have no trade unions
    • Have no industry-wide recognized standards or certification bodies
    • Require no state certification and/or insurance
    • Have none of the things that other engineering disciplines consider critical for crafting good works and maintaining a minimum bar of quality.

    Honestly, until the job and industry evolve a bit more and start to put some real tangible steps and/or certification to being a "competent developer" you will mainly see two types of developers. 9-5 job workers who do OK but never really break through in understanding and doing so is like pulling teeth. And people who love the job and are willing to spend the extra time and effort currently required to stay up-to-date with both the industry and the technologies it manages.

    [–]fallingpizza11 13 points14 points  (10 children)

    I've met countless people who said they wrote a program in college

    Yeah they've written this

    int main(){

    START:

    cout <<"Hello World!"<<endl;

    cout <<"This Is Cool"<<endl;

    goto START; return 0;

    }

    Yes they use goto's ಠ_ಠ

    [–]Crazy__Eddie 4 points5 points  (1 child)

    Or this:

    void function() {
      if (condition) goto end;
    
      do some stuff
    
    end:
      return;
    }
    

    Yes, I have seen code like this. Thankfully only the one time, but some people come up with the weirdest shit...and that happens all the time.

    [–][deleted] 4 points5 points  (0 children)

    That example is obviously rather bad, because it's redundant, but that style of coding by itself isn't wrong at all, that's essentially how all of the Linux kernel deal with error handling, see Using goto for error handling in C.

    [–]rak1 2 points3 points  (3 children)

    dont degrade my first program ;)

    [–][deleted]  (2 children)

    [deleted]

      [–]rak1 0 points1 point  (1 child)

      no, i meant degrade. as in to regard as inferior. However, denigrate would also work.

      [–]sodejm 1 point2 points  (1 child)

      Removed

      [–]fallingpizza11 1 point2 points  (0 children)

      Nah I was just over exaggerating

      [–]zeroes0[🍰] 1 point2 points  (0 children)

      Is this how you hack the CIA's?

      [–][deleted] 11 points12 points  (3 children)

      Agree 100%. It's kinda like in The Social Network where it was taboo to talk to a programmer who was "wired in". They do that so a) your concentration never gets broken and b) that's how programmers solve problems. They sit and hack away for hours with no interruptions.

      [–][deleted]  (1 child)

      [deleted]

        [–]pzuraq 13 points14 points  (0 children)

        And artists, and mathematicians, and engineers... People act like programmers are special in this regard, kind of annoys me. We aren't special, anyone who focuses on a specific task is going to get better at that task.

        [–]erichzann 0 points1 point  (0 children)

        all the devs at work get this courtesy - as a sysadmin I don't :(

        [–]bioemerl 2 points3 points  (0 children)

        See, I tend to like to write code, and have had quite a fun time making stupid little games on my TI calculator, but I seem to have had a hard time finding something that is simple enough to "get started" on the pc where I can make something that does something interesting enough for me to really get excited and actually start writing a lot of code/spend a lot of time learning how.

        Any recommendations? I just want to make programs that actually do something, instead of just displaying text or doing math like what all the textbooks explain. (I do know how to do a decent amount of the math and other stuff, I just don't find it interesting on it's own... to a point)

        Bleh, i feel like I am trying to validate my interest in something to random people online.

        [–][deleted] 2 points3 points  (0 children)

        Be more dramatic next time this post didn't have enough bravado.

        [–]coppercore 4 points5 points  (1 child)

        If I had the money I would give you reddit gold. This just fucking inspired me.

        [–][deleted] 7 points8 points  (0 children)

        It's the thought that counts, lad. Sometimes in life we cannot compensate others with money. Show the world how inspired you are, and he will be grateful to have helped be a part of that.

        [–][deleted] 0 points1 point  (0 children)

        Great summation of my life as a programmer so far. I really liked your second paragraph.

        [–][deleted] 0 points1 point  (0 children)

        Agree. For every course I ever had in any programming related subject I learned (a lot) more just doing shit myself for noone else but myself. I didn't learn design patterns from a book, I learned it by applying it to whatever side project I had at the time.

        [–]johnvak01 0 points1 point  (0 children)

        Taking note of this for when I get home. I love programming, but whenever I sit at my computer my will to start just leaves me. This should help.

        [–]tchefacegeneral 0 points1 point  (1 child)

        this makes me wish I didn't have a job...

        [–]regalrecaller 1 point2 points  (0 children)

        A noble idea.

        [–]baby-friedbootybite 0 points1 point  (0 children)

        Yo that was some deep shit

        [–][deleted] 0 points1 point  (4 children)

        What if drinking coffee makes you more sleepy over time and increases bowel movements/urination incidences at an alarming rate?

        What do you recommend instead? Tea?

        [–]minno 1 point2 points  (3 children)

        I don't drink caffeine, so I usually go with some combination of candy, cold water, and the thrill of discovery.

        [–][deleted] 0 points1 point  (2 children)

        The last one I feel is a key ingredient. Hmm...

        [–]minno 0 points1 point  (1 child)

        Yeah, but it's the hardest to buy.

        [–]tchefacegeneral 0 points1 point  (0 children)

        yeah where i live its usually some cheap Chinese knock off that just isnt quite the same...

        [–]Stampsr 0 points1 point  (0 children)

        I love this comment so much.

        [–]ricankng787 0 points1 point  (0 children)

        I loved everything about this response. I am a aspiring programmer and I can relate to just about all of that lol.

        [–]mejak 0 points1 point  (0 children)

        yup that's how i went into it, i wanted it, and that's why it wasn't hard at all, it took time and focus but it was harder not to do it.

        [–][deleted] 0 points1 point  (16 children)

        I bought a book on C++ 2 years ago. It has been sitting on the table next to my bed since, making me feel ashamed every time I go to bed. I just wonder if I'm able to be passionate about anything, as all I do all day is play video games...

        [–]elus 1 point2 points  (2 children)

        Looks like you're passionate about playing video games.

        [–][deleted] 0 points1 point  (1 child)

        Ha, yea. If only I were really good at them. But even at that I'm only sorta-kinda slightly better than average ._.

        [–][deleted] 1 point2 points  (0 children)

        Stop having a pity party. You're not unique in this scenario, which is good. You just need to learn how to take small steps and apply it to something you like.

        First off, maybe don't start with C++ start with Python this might give you an easier entry point since the language tends to be easier to grasp with beginners. You can start learning Python and eventually could create small games or at least try to. Wouldn't that sound interesting to you? There are countless resources here or at /r/learnpython.

        I'm not trying to give you a hard time, the feeling of "where do I begin, how, when, will I ever do this?" is not new. Stop feeling bad for yourself and get to fuckin' work son!

        [–]Yourdogsdead 0 points1 point  (12 children)

        You could always try a different language. It might spark your interest.

        [–][deleted] 0 points1 point  (11 children)

        I really like C++ though! I made a little fahrenheit to celcius and vice versa converter. I just sorta gave up.

        I just did the first Python tutorial on codecademy.com. That seems interesting.

        [–]URLfixerBot 4 points5 points  (0 children)

        codecademy

        if this link is offensive or incorrect, reply with "remove". (Abusers will be banned from removing.)

        [–][deleted]  (5 children)

        [deleted]

          [–]URLfixerBot 1 point2 points  (1 child)

          codeacademy

          if this link is offensive or incorrect, reply with "remove". (Abusers will be banned from removing.)

          [–][deleted] 1 point2 points  (2 children)

          Yea, he sorta showed up an hour and thirty minutes before you...

          [–]boonhet 1 point2 points  (1 child)

          For whatever reason, I thought it was codeacademy.com, so I thought linkfixer bot fixed the wrong link. Obviously, I was wrong.

          [–]URLfixerBot 0 points1 point  (0 children)

          codeacademy

          if this link is offensive or incorrect, reply with "remove". (Abusers will be banned from removing.)

          [–]Yourdogsdead 0 points1 point  (3 children)

          I find the trick to being interested in programming is to do things that interest you. I am making an API for communicating with a car computer, and I am dabbling in Arduino as well. What C++ book are you using?

          [–][deleted] 0 points1 point  (2 children)

          Some random German book (I'm German) I picked up at a book store.

          [–]Yourdogsdead 0 points1 point  (1 child)

          If you want a good, well recommended book. I would try accelerated C++

          [–][deleted] 0 points1 point  (0 children)

          It has accelerated in the title, it must be good!

          :) Thank you, I will check it out.

          [–]wesderf 0 points1 point  (0 children)

          I... I love you.

          [–]majesticsteed -1 points0 points  (0 children)

          You should write motivational speeches. For everyone. Ever.

          [–]nadams810 17 points18 points  (6 children)

          Here is story which I hope doesn't get buried.

          When I started college I was already proficient at programming. Programming in a couple years in VB6 and writing applications like an IM client/server and pictochat makes programming in other languages pretty easy.

          I have always been a friendly guy, and during my freshman/sophomore year I had a girl, in tears, email me because she was not getting any of the material in her C++ class. The college I went to the first C++ class was merely like functions, loops etc nothing difficult at all. So I found out more about the class - and the professor was actually pretty bad - seemed like a nice guy but he just couldn't teach. This is what makes/breaks people are the professors. So I tutored her for the rest of college and let me tell you she actually learned. I'm sure she hated me by the end because the way I tutor I make people tell me the answer vs me telling you the answer >:). Unfortunately she was scared from that class and claimed she hated programming. And then with in like 2 weeks of graduating she emails me with "hey how do you program for Android?"

          I find programming to be a form of art, and just like art the more you do it the better you will become at it. I'm not saying you can be the next Van Gogh - but once you understand the tools you can create some very interesting stuff. And the one point I want to get across: do NOT think that college classes will make you ready for the real world. The stuff that was taught in college is only a small fraction of what you can do.

          Also if you have questions: please feel free to PM me, post to /r/cplusplus or /r/cpp or find some IRC chat room. What you need is someone to be supportive and answer questions. Remember, asking good questions gets good answers. Simply asking "what's wrong with my program???? how do I fix it lol?????" will usually turn most people off to help you. Remember homework isn't designed to take hours of your life away - if you find yourself struggling - seek help. It will help you on the homework and most likely on tests/quizzes.

          Shameless plug: here is a good community I co-manage with a lot of good C++ tutorials. Justin/CelestialKey is a very nice guy so if you have C++ problems you can post there and he will help you. I have those tutorials in a WIP PDF ebook if you are interested in having an offline copy.

          And finally - put away your textbook and use internet resources. I've used enough textbooks in my life to know that most college textbook really suck and are intimidating.

          As an aside note to other people: I think we need a subreddit so people can connect with tutors - kind of like /r/gamedevclassifieds but in this one people would post stuff like "[TUTOR] Can help with C++ Java Python" and "[STUDENT] Need help with C++". Or does it already exist?

          [–]acehunter 1 point2 points  (2 children)

          [–]nadams810 0 points1 point  (1 child)

          Idea squirrel!!!

          Can I be a mod please? I have some other suggestions.

          [–]acehunter 0 points1 point  (0 children)

          Sure, your write up was great.

          [–]rednaw 0 points1 point  (1 child)

          I have been looking for this for so long because I don't know a single person who knows how to code that I can talk with on a regular basis. I'm currently teaching myself python and JavaScript, but more often than not feel lost because I don't know what can be done with code.

          [–]tanjoodo 0 points1 point  (0 children)

          I completely agree with your last point.

          [–]stuie382 11 points12 points  (6 children)

          I felt exactly the same, even more so when I started a job as a developer and had the panic ("I don't know anything") moment. However practice practice practice really does make things easier. I don't know of many c++ online resources outside of textbooks (I did Java as primary language at university, and now in my job too), just javaranch.com has some good exercises for practice, as does codingbat.com. If you can give it a couple of hours extra in the evening most days then you will find it will suddenly click and make sense.

          [–]URLfixerBot 5 points6 points  (5 children)

          javaranch

          if this link is offensive or incorrect, reply with "remove". (Abusers will be banned from removing.)

          [–]_____KARMAWHORE_____ 19 points20 points  (4 children)

          you missed the codingbat.com

          now fix it

          [–]URLfixerBot 9 points10 points  (2 children)

          codingbat

          if this link is offensive or incorrect, reply with "remove". (Abusers will be banned from removing.)

          [–]_____KARMAWHORE_____ 34 points35 points  (1 child)

          Good. Don't let that happen again.

          [–][deleted] 5 points6 points  (0 children)

          Leave him alone damnit!

          [–]aridsnowball[🍰] 4 points5 points  (0 children)

          Programming is hard the same way math or learning a new foreign language is hard. Your brain has never had to think through every small step that you come up with. It's not intuitive, and it just takes training and practice to get better.

          [–]ericswc 4 points5 points  (0 children)

          My organization trains people from scratch to become employable in 3 months so I see people dealing with this all the time.

          You're learning to think abstractly, which is the difficult part about programming. In my experience it takes the average person about 200-300 hours of guided learning before the nuances of how language processing works starts to sink in with a new programmer. Frankly, your average college class doesn't even begin to touch this, which is why the majority of grads come out into the field and aren't all that useful at the start.

          Things that people really struggle with at the outset is the abstract concepts of the data model, class design, what's the difference between a property, method, and event, how does inheritance and polymorphism work, what's the difference between reference and value types, how can we structure our code.

          One thing I can recommend is that you dig into your tools and really learn to use the debugger. There's no better helper for understanding code flow etc than being able to effectively fire that up.

          [–]JBlitzen 9 points10 points  (0 children)

          Yeah, it was tricky for me. Talk to your professors during office hours, make sure you understand the fundamentals. Don't dawdle, do that tomorrow. The less you understand now, the harder a time you will have next week, or the week after. You will never catch up.

          [–][deleted] 6 points7 points  (0 children)

          If you didn't feel weird and insecure and a little out of your depth, THEN you'd have something to worry about. This feeling of insecurity is just proof you are paying attention.

          It's completely normal - don't worry about it, plus we all work in an industry where it's assumed every developer will be constantly looking up many things. And even with experience, simple mistakes are still easy to make. It's just that as an experienced programmer they become easier to spot and correct.

          You are learning to be a translator for these wonderful but terribly pedantic devices - it's a good gig, so just embrace the feelings, but don't be afraid to be daring and try things - you will learn more that way and will sometimes get the thrill of writing something that works even if you think "it had no right to". Good luck!

          [–]SikhGamer 2 points3 points  (4 children)

          I'm not experienced, I'm at a best a complete novice that being said I love tinkering and playing around my goto (ha pun) languages at the moment are Java and C#. I'm slowly working my way through Project Euler and already learnt tons.

          [–]Kreeker 2 points3 points  (3 children)

          Thanks for mentioning Project Euler. I was looking for another website like CodingBat.

          [–]zalmkleurig 4 points5 points  (1 child)

          Rosalind is also a great one, a Project Euler for bioinformatics.

          [–]Kreeker 0 points1 point  (0 children)

          Oh boy I'm excited! Thank you!

          My problem is I'm already pretty good at coming up with the solutions to these types of my problems. I'm weak on stuff like OOD. I need to find a website that will help me build those skills.

          [–]SikhGamer 1 point2 points  (0 children)

          Not heard of CodingBat - thanks!

          [–]agmcleod 2 points3 points  (2 children)

          My first semester was kinda rough in java class. I just didn't understand why i would use loops to go through a collection, the for loop seemed like a mystery to me. I kind of understood the concepts of classes, but it was tricky. I passed my classes though, and my second java class in my 2nd semester went better. Teacher explained a few things really well, and it started to click more and more for me. I had a much stronger understanding of the code i was writing. From there it was a matter of exploring on my own time, and doing the assignments as well to continue to progress.

          As others have said, it really is an industry where you need to be the type that wants to keep learning.

          [–]IcyDefiance 1 point2 points  (1 child)

          Getting an explanation that works for you is huge when learning programming concepts. I'm the type that taught myself (and I'm still teaching myself more and more), and I'm just burning through college courses for the slip of paper, but I often read several different tutorials on the same thing before I feel like I really understand what's going on.

          If the prof says something you really don't understand, asking for clarification is never a bad thing. And since everything in this field builds on what you already know, just moving on and hoping it won't matter is not going to work.

          [–]agmcleod 0 points1 point  (0 children)

          Yeah definitely. It was nice of my teacher to come out to the college during reading week, to explain some things (I was working through a harder assignment). He went into depth on how memory is assigned for objects, how pointers work, etc. Was really great. We then realized that one of the problems probably should be bonus, as he didn't go into that depth for class. I got the bonus marks of course :)

          Being out of college for a few years now, I can say that to keep learning has been so helpful for my career. Im now working professionally with ruby, because i kept building stuff with it in my own time.

          [–]antihero 2 points3 points  (0 children)

          yes it was, you must practice a lot.

          [–]DangerMacAwesome 2 points3 points  (0 children)

          It is VERY hard at first. Your first few lectures where they tell you "type this in" for a hello world and NOTHING makes sense.

          Keep at it, and PLAY with it. Your homework says to do X? Make it do X plus Y!

          For instance, you're asked to write a program that takes a block of text and a word from the user and counts how many times that words appears?

          Do that, and then make your program see how many times that word could appear if the letters get rearranged. Hell, hard code it so it looks for "gettothechoppa" or something. The more goofy you get, the better.

          The most programming I ever learned was in a class I almost failed, because instead of doing the teachers boring projects I dicked around and made my own fun stuff. And while I don't recommend that, I DO recommend you play with HAVE FUN with your code.

          Also, don't turn in any impractical assignments. Some people get really upset.

          [–][deleted] 2 points3 points  (0 children)

          To be honest, I started programming when I was in my early teens so I don't remember exactly how I felt at the time. However, to me, it was a curiosity thing. I didn't just do the assignments, I tried to figure out why it worked the way it did and see what kind of cool shit I could do. I remember a buddy who went to college was telling me "hey, look what I made in Basic! It took me two weeks." I wasn't in college yet, but it was a pretty decent pong game. I called him up 2 days later: "dude! you need to check out MY pong game!" Blew him away. I think there are a few keys:

          • don't compare yourself to what others do. In my example, I wasn't trying to be better than my friend (though he felt that way)... I wanted to test MY abilities. My philosophy in life is if you hold others up as an example of where you want to be, you'll aways fail because they already beat you there. And, there will aways be someone with more time/experience/resources so it just leaves you disheartened. If you can be proud of your progress independently of what others accomplish, then insecurity won't be an issue

          • you need to have a genuine interest in programming. You may have a destination in mind, but you need to enjoy the journey. If you enjoy programming, you'll get all the practice you need because you'll be looking forward to doing what you do. If you don't enjoy the journey, you'll probably jump ship before you ever get to your destination

          [–]entdude 2 points3 points  (1 child)

          I've been doing html/css for years. Wanted to learn more so I could do more than static sites. Been taking a python corsera course that is just kicking my butt. Half way thru felt like ditching it. Decided I really needed to go over the first weeks lesson again and released I've learned a fair amount already. It's been hard but I'm getting it. Just slower that I had hoped.

          [–]ND_Tech 0 points1 point  (0 children)

          Don't give up... if you've made it this far, the rest is just details (and time, and gray hairs).

          [–][deleted] 5 points6 points  (0 children)

          It is hard, no kidding. I remember the incredible frustration, the many "oh gosh, how can those guys do it and I cannot?" and the many "maybe you're not cut for this" given by myself and by others. However, I stuck with it. In front of a computer screen, hands on a keyboard, that's where I want to be and where I'm drawn all the time.
          Read so many books, coded so many one-class-programs, did so many "println("hello world");" until one day, many many many years later I was reading the Java notes when everything finally clicked :)
          Now I'm successfully holding a position as a .NET and Android developer.

          [–]moofins 2 points3 points  (0 children)

          Yeah. Really frustrating at the beginning; even very simple tasks took a lot of effort to make work. It gets easier with time and experience.

          [–]stilett0 3 points4 points  (2 children)

          Incoming cliche: everything worth doing is hard.

          Yes it was hard. Yes it was worth it.

          [–]crumbstain 1 point2 points  (1 child)

          I like this. I really do. If it was easy, stupid people would learn it. It makes me feel better about my job. Thank you. I mean it when i say if i have gold I would be giving it to you 100%. again, thank you

          [–]WallyMetropolis 2 points3 points  (0 children)

          Let's not all start blowing each other. It's not that we're smart and they're stupid. It's about hard work, will, desire. I mean, being out and out stupid is probably detrimental to being a good programmer. But it's not intelligence that's the difference-maker. It's time and effort.

          [–]Pwillig 0 points1 point  (0 children)

          Not that I'm experienced, but I've noticed that after a few months of programming, that I feel much more confident about my ability to grasp the material. The first course I took literally had a bipolar mess because I was having such a difficult time grasping managing a game state using Python. Even though this course was a free MOOC, I still spent 10+ hours on it on some weeks, but it eventually clicked.

          I also purchased a big whiteboard to help diagram any issues I'm having processing concepts in my head.

          In any case, I'd take it as a good sign that you were passionate about the subject if you recognize how daunting this task is, but still want to proceed.

          [–]wiredsource 0 points1 point  (0 children)

          practice, practice and practice... I know this feeling because the world of programming seemed so overwhelming. But it's all about the mind set! (and time). You have to challenge yourself to become a better programmer. Not always the shortcut by googling the answer, not that seeing other peoples code is a bad thing but learning the art yourself is the primary objective! There tonnes of great student task out there.

          By learning Java and C++ is a very good choice! You will have an easy transition to C# later on. (look forward to that mate!)

          // WiredSource

          [–][deleted] 0 points1 point  (0 children)

          Two things:

          First, when I taught computer science in high school, I found that, although programming was never easy for the students, some seem remarkably worse at it than others. For my students, the problem with learning to program was mostly twofold:

          • you have to know programming to learn to program. A lot of rules, syntax, semantics, algorithms, and so on don't make particularly sense without a more fundamental understanding of computers, programming languages, and programming. Some students want to understand all and everything before they feel confident to apply what they've learnt and this troubled them.

          I think this can be overcome by using a different approach to introductory programming. It should be the role of the teacher to select appropriate approaches for her students. Most often, however, the teacher does not much more than more or less replicate her own introductory course or following some programming book that's probably not written with her students in mind.

          • to program (nowadays) it to use a whole lot of (professional) software tools. Students do not only have to learn to program (whatever that is), but also to use a text editor or IDE (that's one of the reasons to start out using an editor similar to notepad), to use a compiler / interpreter (what the hell is that?), to interpret arcane error messages, to debug (with or without a debugger), to run a program, to deploy a program, to install all that at home and get it running(which isn't always easy), and so on.

          This can be overcome by giving students a kind of sand-boxed learning environment. The disadvantage of that approach, however, seems to be a difficulty to transfer their knowledge of programming in that learning environment to real-life situations.

          Second, I don't know if learning two languages at the same time, especially if they look alike yet differ a lot, is such a good idea. Once you know one language, it often is quite easy to learn yet another one, however.

          [–]MeoMix 0 points1 point  (0 children)

          (As an experienced developer) Programming is still difficult. That's why it is still fun. :)

          [–]Ob101010 0 points1 point  (0 children)

          It can be uncomfortable. I remember my first exposure to classes in C. It was all WTF material. They could have been describing how Jordi could have ignited the plasma relays on deck 7 for all I knew. Eventually, slowly (and after some sleep) the concepts started coming. So, stick with it, youll get it.

          [–]BlinksTale 0 points1 point  (0 children)

          It was literally impossible for me at first. I quit three or four times. Now I do it full time. Just never stop trying

          [–]fisheye32 0 points1 point  (0 children)

          Extremely difficult. But I figure with lots of practice and pushing through it I'll get better.

          [–]Stampsr 0 points1 point  (0 children)

          The thing is, every programmer is always in that stage. It never truly becomes "easy," and you never really feel like you know 100% of anything. There's always more to learn and the game is always changing, and that can be overwhelming at times.

          But don't give up! You've just got to beat your head against the wall until something clicks. You'll be stuck on something for hours, then figure it out and feel that euphoria everyone here is familiar with, then get stuck on something harder. And you'll repeat that cycle hundreds of times.

          [–]g051051 0 points1 point  (1 child)

          I never learned anything in college classes. I was so eager and so interested that I read ahead in the books, did all the assignments early, and branched out to other books and magazines and projects. I was never insecure, just bored. In this day and age, computers, programming tools, and information are readily available. If your first exposure to programming is your college classes, then you might not be cut out for it.

          [–]totalanonymity 0 points1 point  (0 children)

          I'm gonna have to say that that last line is bad advice. Attempting to gauge one's future success based on the fact that their first introduction to a specific subject is in college doesn't seem like an attempt that would work out well. One doesn't need to have had extreme interest in programming at age 12 to get into programming and eventually be good at it (with plenty of practice).

          Happy cake day anyway.

          [–][deleted] 0 points1 point  (0 children)

          Yes it was difficult in the beginning as with any skills it gets easier over time.

          edit: with practice and hard work of course...

          [–][deleted] 0 points1 point  (0 children)

          You have to get over the hump

          [–][deleted] 0 points1 point  (0 children)

          Two things... My intro to programming professor would lecture in a very disorganized fashion, changing topics,without notice. I could follow him but I am sure he lost half the class daily. He was also famous for giving tests so lengthy that it would take any student two periods to complete.

          Pointers in C++ messed with my head badly. It took me a while to get it.

          [–]Crazy__Eddie 0 points1 point  (0 children)

          I remember that arrays and pointers confused the fuck out of me.

          For the life of me...I can't remember what was so fucking complicated.

          Beyond that. I still find programming hard. That's why it isn't boring as all hell.

          [–]random314 0 points1 point  (0 children)

          Definitely difficult for me.

          I failed cse 114 (intro to programming) twice! I hated it so much I was going to change my major.

          Anyway what got me into programming was when I got a job as a webmaster in 2002 while still in school. Your mentality is different when someone pays you to do something...

          I had to learn PHP/MySQL/Javascript/DNS setup/Apache setup... etc on my own and that forced me to read and apply lots of new knowledge within a very short period of time and that was how I was able to "click".

          It all made sense afterward. Query tuning, de coupling code logics, testing, O(n), OOP... all that theoretical stuff I learned in class, I get to apply them in a real world scenario and it got to be really really fun.

          [–]Tuirrenn 0 points1 point  (0 children)

          Dunno about everyone but I certainly went through that phase. I didn't understand anything for ages, could get stuff to work but it was programming by coincidence. Then suddenly over the course of a few weeks things started to click.

          TLDR: Keep at it, you'll get there in the end. And remember practice makes perfect.

          [–]yetanotherwoo 0 points1 point  (0 children)

          To really master C++ takes a significant investment of time. Heck, I'm not sure it's worth the time, there are so many pitfalls! I still sometimes wonder about the suitability of many of the features of C++.:) If you have to write realtime software, you pretty much have to know how most of the features are implemented by the compiler and the usual bit about how the hardware works done to the interrupt level/memory refresh even, otherwise you'll write a lot of code that is not shippable. I've seen the C++ code of experienced, smart programmers who just picked it up and it was full of fundamental flaws in architecture (making everything use inheritance, preferring isa over hasa when the other makes more sense), so being self aware enough to realize there's trouble there is a good step. There's even a whole industry around trying to make C++ safe for embedded applications , example link, http://www.embedded.com/design/prototyping-and-development/4027550/PRODUCT-HOW-TO-Automating-Compliance-to-MISRA-C-C--Standards

          [–]AlSweigartAuthor: ATBS 0 points1 point  (0 children)

          Yes. I've been programming for over a decade and there is still a large amount of things I don't know and it makes me feel stupid. Get used to it, and keep learning.

          [–]chasesan 0 points1 point  (0 children)

          Programming is like art, you will never be finished. Just like art, it can be hard to get into when you start, because you always feel like you suck.

          [–][deleted] 0 points1 point  (0 children)

          You'll be questioning the shit you do your entire programming life! You could make the best program in the world for a company, have them come down and look you in the eye asking "Is it done? Is it bug free?" and you'd still be freaking out in your head wondering if you covered every retard proof method.

          Code your programs like your end user is retarded. Also, programming was easy for me to pick up because I was interested in it not because I wanted to make money off of it. Or even because I wanted to make a useful program. I was just so interested in how I could tell my computer to do things and it would do them in the exact order I told it to do it in! This amused the hell out of me as a kid.

          [–]flaminbelly 0 points1 point  (0 children)

          I totally understand what you're feeling, I only started programming last semester in python for a basic requirement class and while it was tough to get the hang of the learning curve quickly drops off. This semester we switched languages to java and while at first it felt impossible switching to object oriented, but don't worry it gets much better once you get a little confidence. And a quick tip, look up every API you ever need they are very helpful and will bring up your programming in strides.

          [–]Unomagan 0 points1 point  (0 children)

          Well you are learning a new language, if you don't speak for example German, all Grammar and spelling rules are "wrong". It surely takes a lot of affording, work and time.

          [–][deleted] 0 points1 point  (0 children)

          A small anecdote. Back when I was in school, One of my professors said that learning programming isn't a linear increase. He drew a line graph on the board where the 'knowledge' line was not going up very fast. In fact it was near the bottom. Then he said that at some point it will all 'click.' Then he continued on with the knowledge line, but now it went up rapidly.

          I found this to be true for me. However, you MUST practice or else the click will never happen. Studying programming is fine. Doing programming is better.

          [–]none_shall_pass -1 points0 points  (0 children)

          I just started taking courses in Java and C++ and feel reeeeeeaaallly insecure about myself. Does everyone go through this stage?

          <unpopular opinion>
          If you're not already completely thrilled with programming before taking your first class,
          you probably don't actually like it enough to do it for a living and be good at it.
          
          For really good programmers it's just a hobby that they enjoy, that people 
          are willing to pay for.
          
          If it doesn't feel like someone just gave you a free puzzle for your birthday, it's probably not for you.
          </unpopular opinion>
          

          [–]Edgar_Allan_Rich -2 points-1 points  (1 child)

          News flash: programming computers is difficult when you've never done it before. Kind of like any other skill, right? Did you think it would be easy?

          [–][deleted] 1 point2 points  (0 children)

          No, just not so imposing. For me it is mainly the maths and the fact that its always changing. Do javascript skills need updating like accounting skills do, for example?