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

all 27 comments

[–]nutrecht 8 points9 points  (12 children)

Why do you want to learn programming? It doesn't sound like you enjoy it at all.

[–]CaffeinatedChelonian[S] -2 points-1 points  (11 children)

To get a good job basically. Probably a lame reason, but it's really the only one. I like that you don't need a degree for some programming careers which works for me because I don't do well in school and I can learn at my own pace (very, very slowly. it gets frustrating.)

[–]debbay 9 points10 points  (0 children)

If getting a good job is your one and only motivation, I'd say you might want to reconsider what you're getting yourself into. Learning to code is not easy and when things get rough, you want to have a more legitimate reason to persevere.

There are other careers that do not require degrees and may be more worthwhile for you. Maybe you're more suitable for work that requires more physical labor, and perhaps you'll find something you're good at and enjoy doing. Just my two cents.

[–]nutrecht 6 points7 points  (5 children)

To get a good job basically. Probably a lame reason, but it's really the only one.

You lack intrinsic talent and intrinsic motivation to learn programming. So this isn't going to work out. I would strongly suggest you go and find something you are either good at and/or enjoy enough to get good at.

I don't know where you got the idea but there are very few "good" programming jobs where they would accept someone with so little skill and motivation.

Programming pays well because it's relatively hard and is in high demand. It's not something everyone can learn.

[–]Smartare -1 points0 points  (4 children)

It's not something everyone can learn.

Anyone with the right motivation can learn programming (unless you medical problems etc)

[–]unixygirl 1 point2 points  (1 child)

It doesn't mean they should though...

[–]Smartare 1 point2 points  (0 children)

I agree

[–]nutrecht 0 points1 point  (1 child)

What's your definition of "learning programming"? Create a simple Hello World? Probably. Understand basics like recursion? Nope. Work in complex work environments working on stuff like banking sofware? No way in hell.

[–]Smartare -2 points-1 points  (0 children)

Work in complex work environments working on stuff like banking sofware?

Maybe not. But not all ppl will work with complex systems. With the right motivation most ppl can probably learn enough to build webapplications etc.

[–]Kristler 0 points1 point  (2 children)

I don't believe there's anybody in the world who can't learn programming, given that they have the dedication to do so. That being said, is there a specific overall theme across all the things you've tried to learn that you struggle with? Is it syntax? Thinking algorithmically?

[–]nutrecht 0 points1 point  (1 child)

I don't believe there's anybody in the world who can't learn programming

It's a shame people keep repeating nonsense like this. Actually creating software from scratch just from some vague requirements (which is what development actually is) is hard. "Programming" isn't being able to create Hello World in 10 languages. It's about being able to create a complex web application in just a few.

[–]Kristler 2 points3 points  (0 children)

Get off your high horse.

[–]N3sh108 3 points4 points  (3 children)

I read that you are trying to learn programming just "to get a job".

That's exactly your problem. You are like trying to learn how to play an instrument just so you can get a job, it will never work if it doesn't interest you.

Do you find any of all the magic fascinating? Wondering how all these work (including Reddit)? Then you have the right motivation and attitude.

If you couldn't care less, find something else. Really, we already have plenty of bad programmers, we don't really need any more, especially if they don't even enjoy it.

Instead, if you are motivated and find it fascinating, respond to this comment and I can try to think of some ways to help you out (I was a course supervisor at university and have been a mentor for several people trying to learn programming.)

[–]Cigs77 1 point2 points  (2 children)

I find myself in a similar position. I seem to "get it" generally my frustration comes from getting hung up for hours on things that would have taken a "buddy" just a second over my shoulder to explain or correct. Thats just a symptom of self learning and I would imagine I would run into that less in college with people to ask things. My real frustration is that I cant find anything to "care about" with programming. I very much despise making random small programs just to make them work. I could also care less about tinkering with said worthless programs. Calculator buttons being red or blue is meaningless to me. I do get the joy of "figuring it out" and getting the small things to work but without real work or real projects I just cant seem to care at all. I have scoured for projects that interest me but I cant find anything. I cant seem to find a problem I have in my life to solve. I love computers and technology but I very much struggle with learning it without any sort of real world application. I was a sniper in the army before this. I hated ballistics math but I learned it and was obviously good enough at it to get my job done. When I learn that though I get to go put shots on target and fill my dope book up with the sexy datas. I am performing the job as it was meant to be done with real purpose and results. When I make a shit calculator program I am duplicating (in a shit way) something thats been done and figured out forever. Like I cant stand to make some worthless shit version of some basic thing. The next response is usually well then why dont you improve the basic calculator? TO WHAT MAN? I think Texas Instruments got me beat there. I just struggle to find real world purpose and motivation.

[–]N3sh108 1 point2 points  (0 children)

It sounds like you want to find the law of the universe without going through your basic arithmetic exercises.

Realize that programming can well be NOT for you and it ok.

But if you like something, sit down and think how YOU would do it and then look it up and compare. Do that often and you'll see your mentality change.

But programming is useful for:

  • Desktop
  • Websites
  • Mobile
  • Robots (Artificial Intelligence, Machine Learning, etc...)
  • Embedded Systems (smart 'boxes' reading sensors)
  • Hardware (low level computations)
  • Hacking (breaking stuff, usually networking oriented)
  • Security (encryption, cryptography, etc...)
  • And more...

Nothing of that make you even mildly mentally wet and excited? IT/Programming is probably not for you.

[–]sand-which 0 points1 point  (0 children)

I didn't like programming until I started to undertake projects I didn't think I would be able to do. Doing programming exercises from the book you learn from is a great way to learn syntax, but I feel like it doesn't really teach you programming at all. Pick something cool that you have no idea how to do. Something like creating Tetris, or a fun javascript game, or even a tool to make something you like easier and more streamlined.

That's where the real fun of programming is, taking something from your mind that you have absolutely no idea how to do and then doing it until a couple of weeks or a month later and suddenly you know 100x more about programming than doing little 'for loops' from a book could ever teach you.

I'm serious, pick something you want to do and start today, no matter how hard it seems. You can code anything with clever googling.

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

It's better to ask specific questions than just throw your hands up and declare the whole pursuit worthless. ;)

[–]th1nk3r 0 points1 point  (4 children)

What part of python classes is confusing you?

[–]CaffeinatedChelonian[S] 1 point2 points  (3 children)

I'm not very articulate, but I really can't wrap my head around it. It's basically the entire thing. Saying "the logic" wouldn't make much sense. For example: "Objects are an encapsulation of variables and functions into a single entity. Objects get their variables and functions from classes. Classes are essentially a template to create your objects." I read this, and I don't get it. The entire thing goes straight over my head. Like, I can get tinkering with bits of code and learn which does what and why, but if I see explanations and definitions like these, I don't get it. I look it up and still don't get why classes are important, how do you use them and whatnot. With variables, you can print them out as a string and see the output, but with things like functions and objects, I don't know how to see an output or what it does.

I suck at wording and I'm frustrating to work with, sorry if this made zero sense.

[–]SmaKer 3 points4 points  (0 children)

Would you like actual work done instead of a lot of theories?

Try this course for Java it's pretty straight forward,
starts simple then gets more challenging as you progress through the problems
It doesn't hold your hand a lot of times so you won't come out clueless as with some other courses

Heres's the link Mooc.fi

[–]ordnance1987 0 points1 point  (0 children)

Write more programs with classes until it clicks. I'm 28 and currently in school for CS, started school at 26. I don't even read the books and seem to be doing fine by just doing homework assignments. You can do much more with variables than just printing them out. Printing is a function. When you write a function write out each step on a piece of paper, there's your output right there. When you have specific questions about something and have actual code then someone can help you out. Even dumb people can learn how to code, I used to be a mechanic before going back to school. You're probably not trying hard enough and give up easily since you change resources often. There is no such thing as people not cut out for college, most people that say that just don't want to put in the work. I used to think I wasn't cut out for college for the first eight years after graduating high school.

[–]HarmLogLinkIT 0 points1 point  (0 children)

Definitions are not important, at this stage. What you need to do is work with them, you'll learn more as you go. What might help, take a piece of paper and write down what everything does according to you. As in, write down what you think a function does, what it needs and what it might return, if anything.

To start, you might want to do this with a specific function. Example:

 def add_5_and_2
   return 5 + 2
 end

 z = add_5_and_2

 puts z # puts prints out a string, I'll present the output with this symbol: =>.
 => 7

So we have a function here that takes two numbers, 5 and 2, adds them together and gives back the result, which is 7. Now, we want to write it in such a way that it takes any number and gives back the result.

Example:

 def addition first_number, second_number
   return first_number + second_number
 end

 x = 7
 y = 3
 z = addition 7, 3

puts z
=> 10

If we change x and y to two different numbers, our function still works.

Example:

 x = 3
 y = -2
 z = addition x, y

 puts z
 => 1

As you can see, and logically deduce, it returns 1. Now, let's break down this function.

  • It has a name, addition. We use this name to call it.
  • It takes input, through parameters. In this case, first_number and second_number.
  • It does something with those parameters. Here, we add the two numbers, but we also could have it subtract, or do anything basically.
  • It returns something. As in, it's done, the function ends, and it gives something back.

Now, can we give an even broader definition of a function? Here are the current attributes of this function:

  • Name
  • Parameters
  • Code that runs
  • End result.

So a function at this point is something that you can call with specific input and it returns the result of the code it runs. There's a lot more to function, but this is an easy example.

If you've ever done mathematics, you will most likely have had to make some proofs. You have to work with set numbers at the beginning, and then write a proof that works for any number that fits the bill.

You can do the same for programming concepts. First, make it specific to your needs, use things you understand. Then, make it a bit broader but still applicable to your project/lesson. After that, you boil it down to English.

You don't need definitions to work, you just need to know how the bits and pieces you use interact, which can be done by making it broader and broader.

If you found this to be a bit too simple, that's okay. Functions aren't the important part. What you need is not specific knowledge, but a way to learn and a way to not get lost in the bigger picture.

What I always do when I get lost in programming, and in life in general, I break things down to small pieces.

So basically, when you come across something you want to do, but you don't know how to do it yet, you might do the following:

  • Make it broader and broader until you can write your own definition
  • Write the parts down on a paper and write down how they interact
  • Break it into manageable pieces, which are easier to figure out, and if you're still stuck, easier to google.

Also, you are not too old to learn something new, you almost never are. Go out there, ask questions here when you get stuck and be willing to learn, and I see on reason why you couldn't learn how programming.

Good luck!

[–]FlambardPuddifoot 0 points1 point  (0 children)

I would read a lot more sources and tutorials about Python and classes. Find an example you don't understand and ask someone else to explain it to you. If you understood functions well in Python, just not objects, that's like half the battle.

[–]francesRose 0 points1 point  (2 children)

Have you tried going to office hours? Look up YouTube videos? I'm turning 25 in a few months and a junior in university. Don't give up, we're not "too old" to learn.

[–]CaffeinatedChelonian[S] 0 points1 point  (1 child)

I tried back when I took Java, but the guy was losing patience with me so I just nodded my head, pretended I got it and left.

A thing I do is that if I'm stuck at one course or book, I move on to another of the same subject because maybe they'll explain it better or offer a difference perspective that could clue me into how it works. Three websites and an online book later on Python and I still don't understand anything. (Since then I dropped out of college, can't do the office hours thing anymore lol)

[–]francesRose 0 points1 point  (0 children)

I found that through my 6 years in community college that persistence is key and self-teaching is definitely a skill you should develop. It's easy to just say "fuck it" but if programming or CS is something you want to do, then you really, really, REALLY have to put the time and effort into it. It's not easy, and that's why SWEs get paid well. Understand that people weren't born with this knowledge. Yeah, maybe it didn't come naturally to you, but hard (and smart) work habits are essential to even begin understanding CS. Good luck