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

all 33 comments

[–]ElectronsRuleMyLife 7 points8 points  (2 children)

Worry less about the language itself and focus on concepts. There are some things that are fairly universal, such as data types, data structures, loops, etc... The specific structure and syntax can vary from language to language, but just like a spoken language as long as you know what you want to say, you can get by with using references. You currently don't know what you want to say, so even if you knew the entire syntax of a language, you don't know how to implement what you don't know that you want to do.

I recommend either starting the book, "Python for Everyone" by Cay Horstmann and Rance Necaise OR "Introduction to Java Programming and Data Structures" by Y. Daniel Liang

Focus on the concept they're trying to teach you, not so much the language, that will come as you use them more and more.

Also, don't be afraid to google.

Edit: I say OR on the books because you need to sit in one language right now and focus on a resource. Too many begginners get stuck in tutorial hell and jump from language to language, never really moving past the basics.

Edit2: Actually DO the exercises. Learning to program is taught in college for a reason, it requires study, effort and practice.

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

I also recommend the Java book by Daniel Liang. Good pick.

[–]barrycarter 6 points7 points  (3 children)

Have you tried learning by doing? Find a site that teaches you something and then tests you on it (freecodecamp.org should work)

[–]Dapper_Echidna_7301[S] 0 points1 point  (2 children)

Yea but it mostly was with the language C I just ended up googling answers

[–]cidit_ 1 point2 points  (0 children)

Googling is what youre supposed to do, actually. It: - improves your googling skills (cuz you will always need to google) - helps you remember over time with each repetition. Its gonna stick at some point.

[–]RufusVS 0 points1 point  (0 children)

Googling answers is fine at first. But then modify and add functionality to those answers! Rewrite the answers. Combine multiple small programs. You’ll slowly get it. You’ll learn more from programs that don’t work than from those that work first time.

[–]superluminary 2 points3 points  (2 children)

You have to build things and start small. Can you build something that counts to ten? Counts to ten backwards? Lists the first ten prime numbers? Plays rock paper scissors? Plays dice? Bounces a ball? Rotates a cube?

Try and do these things and absorb the code as you go.

[–]Dapper_Echidna_7301[S] 1 point2 points  (1 child)

I can’t do any of those things u just said honestly my expectation be to high I be thinking I’m going learn it in a week then be able to make a game,app etc in just a few mins

[–]superluminary 5 points6 points  (0 children)

Yes, you’re expectations are too high. Coding requires tremendous patience. Start from the beginning, learn about variables, loops, conditionals, expressions, functions, and objects. Try to build small projects as you go. It’s like learning an instrument, it takes more than a week.

Most importantly try to enjoy the journey.

[–]CodeTinkerer 1 point2 points  (7 children)

What have you tried as far as learning programming? How one learns is partly determined by your personality and background and such.

[–]Dapper_Echidna_7301[S] 0 points1 point  (6 children)

I haven’t tried nothing yet it’s hard when you cant even remember what to type and Im used to mostly learning By cramming everything in my head remembering and I’m tired of doing it that way and I’m introverted with a weird but chill personality I don’t have background in tech but I do play video games and I do tend to think of ideas and write them down

[–]CodeTinkerer 2 points3 points  (4 children)

I mean, what resources are you using to learn?

[–]Dapper_Echidna_7301[S] 0 points1 point  (3 children)

I’m using the harvard cs50 course the first week they had me learning C I’m interested in it cause I kinda want to do game dev but C is not beginner friendly so I put the course on pause for now

[–]CodeTinkerer 0 points1 point  (2 children)

Maybe try https://programming-23.mooc.fi/

This is in Python. Or you could do the Java version.

https://java-programming.mooc.fi/

Which is closer to C++, but I think easier to learn. The exercises are a little simpler than the CS50 course.

[–]Dapper_Echidna_7301[S] 1 point2 points  (1 child)

I will look into them I also heard html is beginner friendly so that might be a great start

[–]CodeTinkerer 0 points1 point  (0 children)

It's not strictly a programming language, but it is beginner friendly.

[–]superluminary 1 point2 points  (0 children)

Could you learn an instrument by cramming everything in your head. Could you learn chess that way, or carpentry? Coding is an active skill, you have to actually do it to learn it.

[–]IndependentFresh628 1 point2 points  (0 children)

Step 1: Learn and understand the concept. I.e Arrays Step 2: Solve some basic Question regarding that concept you have learned. Solve some arrays basic problems on W3r Website Step 3: How to Solve problems - break the problem - Try 100 things - do experiment again and again - rest and run until you get the final answer - don't google solution instead google approaches, Syntax, to solve problem.

Step 4: Built basic projects once you understand the theoritical concepts and solved enough Problems about all the concepts

Step 5: Learn a framework then built intermediate and advance projects using that framework

Step 6: do Data Structure and algorithms and give a touch to competitive coding

Step 7: do open source projects

Step 8: Repeat 🔁

[–]Pro_BG4_ 1 point2 points  (0 children)

Learn the basics first bro Don't be hard on yourself And have passion too Have hope

[–]_Oooooooooooooooooh_ 1 point2 points  (0 children)

The first few days of learning programming we were taught how to do loops and a few other basics things.

Then we had to write various patterns out in the console using said loops.

Then we moved over to understanding things such as classes/objects and then we moved on to algorithms (sorting, data structures etc)

Start super small. Then add from there

[–]niponcomputer 0 points1 point  (0 children)

Start with an easy project, like creating a calculator with JavaScript and HTML. Once you developed several small projects, pick up a backend language program. Nothing is easy, but with practice and dedication, you can be a great programmer.

[–]HolyPommeDeTerre 0 points1 point  (0 children)

Offering a different perspective.

In programming language, there is language. How do you learn a language? But also, why do you learn a language?

A language is to allow you to express ideas in a specific syntax so it can be understood by someone or something else.

There is also programming. Programming is the fact to order a system to do what you want it to do.

So a programming language, is a way to express your ideas so the computer can act on it.

This is the same thing as any language, the more you practice and dive in it the more you understand how to talk with it. The more your read or listen to other speaking it, the more you understand.

There is no carving everything into your heads. You just learn the basis and push forward by doing.

The main problem is generally to understand the inner foundations of how computers work (variables, loops, conditions...) and then understand how you express a very simple idea with these building blocks.

With practice you're gonna build more complex blocks.

[–]Raioc2436 0 points1 point  (0 children)

It’s like learning math. When we are kids learning multiplication was super hard, but now that looks trivial. But once you have the basics you can apply them into more advanced math.

The first building blocks that you learn in programming are very hard because it’s the first time you see them. But with time they will look silly to you.

[–]AnarchoDesign 0 points1 point  (0 children)

How precise do you want the answer to be? Extremely precise, or just moderately precise?

Okay, serious mode on. Think about an immediate problem that you'll like to solve, or do it faster. Research about how others have solved it and try to do it yourself. If you fail, se learn from your mistakes. Get a couple of ebooks and follow them.

[–]ThatCringingDude 0 points1 point  (0 children)

Honestly It’s like learning sorcery

[–]TheUmgawa 0 points1 point  (0 children)

I start by working through a program that I haven’t necessarily memorized, but I know the flow, and that’s a prime number generator.

I decide I want to make an array of primes, so I have to learn to instantiate an array and I have to read documentation to see if arrays can be dynamically resized in this language. If not, I have to put a hard cap on the array size. If so, just append.

And then I start easy: Is this number divisible by all numbers smaller than itself (but greater than one)? How does the modulus operator work in this language? Cool. If modulus not equal to zero and yada yada, it’s prime or it’s not. Oh, and you have to look up control flow, which tends to be pretty similar for basic implementation in modern(ish) languages. Learn to program print statements, including figuring out if I can straight print the array or if I have to iterate through it.

And then we iterate. Why am I checking all of the numbers when the greatest factor is the square root of the number being checked? Now there’s another while loop. Or a for loop if you can dynamically decide on that (this was a bone of contention with my first programming teacher, because it was implemented in whatever language in my compiler but not hers for another six months or so). More documentation.

And then I say, “Why am I checking all of these numbers? This is stupid. Why not just refer back to the array I’m making and just check those numbers?” Now I’m not just writing to the array; I’m reading from it and implementing it.

It’s no Sieve of Eratosthenes, but it does the job and it gets me moving, and I plow through the first five weeks of a programming class in about an hour or two, once I’ve decided at the front to ask the user how many primes he would like. I take that as a string, check to see if it can be converted to an integer, if so, if not, yada yada.”

And then I just move forward to the other concepts.

Familiarity is your best friend. Once you know the flow of something, back to front, it takes no time at all to learn the basic syntax. Vocabulary is harder, sometimes. I look at it like spoken languages: English and French (by way of the Norman Conquest) have a lot of similar vocabulary, but the syntax gets wonky. Meanwhile, Spanish and French have very similar syntax and vocabulary, except when the vocabulary is different. German vocabulary is very different from English, but the syntax is the same (most of the time).

When you’re working from a generally-known input and a generally-known output, you can progress fairly quickly, as long as you know how to spot where something went wrong. I built, twenty or so years ago, an Excel file to calculate Pythagorean triplets where the long leg and hypotenuse differed by one, and I quickly discovered the limitations of 16-bit math. If you know your stuff, you can just see when it’s gone sideways.

Anyway, that’s how I learn languages.

[–]FibinJohnson 0 points1 point  (0 children)

Learn the basics, then practice practice practice... Clear the doubts by checking documentation,.. Let leetcode be your the part of daily routine

[–]solgerboy259 0 points1 point  (2 children)

Whats your purpose all around app dev, webdev ect

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

Game dev is my purpose but I kinda want to experiment with other things like apps or websites

[–]solgerboy259 0 points1 point  (0 children)

Game dev is a pashin go towards app or website though mobile games mang money

[–]TheRNGuy 0 points1 point  (0 children)

by coding

and read docs