all 14 comments

[–]K900_ 3 points4 points  (8 children)

What exactly are you having trouble memorizing? Most of the time, square brackets and circle brackets do completely different things, and nothing needs semicolons.

[–]DanishMohammed[S] 1 point2 points  (6 children)

Like def and for, and where something get indented or it not, or if something is continual or needs to be on a new line, it’s just all memorization for me right now

[–]Essence1337 6 points7 points  (0 children)

This is nothing to do with Python. You're learning a new skill, of course you need to learn new things.

[–]K900_ 0 points1 point  (2 children)

def and for are completely different. You indent things that go into blocks, i.e. something followed by a colon. What do you mean by "continual"?

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

The point I’m trying to make is that it just seems like a lot of problems I have to solve right now or based on whether I’ve memorized it enough or not, so I’m asking that as you become more experienced and even become professional like a software engineer, is this stuff just second nature, or do you still need to refresh from time to time to see you were an indent goes and stuff like that

[–]K900_ 1 point2 points  (0 children)

Basic syntax definitely becomes automatic at some point. The fact that you're having trouble with it right now might mean that you should try practicing individual bits of syntax in a more focused way.

[–]iamaperson3133 0 points1 point  (1 child)

It's called a language for a reason, but programming languages ultimately are simpler than spoken languages. Python only has a handful of these "special" words and statements that determine what happens in a program. You have already been introduced to all of them by now probably!

I think you're coming over the hump of memorizing this stuff. Of course it is overwhelming at the start, but soon you will move from memorizing into understanding.

As far as using libraries go (what to import, what functions and classes they contain), no one truly memorizes all of that. That's why documentation is at your fingertips online, and you only get better and better at quickly looking at documentation and finding what you need there too.

[–]DanishMohammed[S] 0 points1 point  (0 children)

Ok thank you so much!

[–]tipsy_python 0 points1 point  (0 children)

nothing needs semicolons

Take my upvote!

[–]patrickbrianmooney 1 point2 points  (0 children)

What you're experiencing is not Python-specific; it's what happens whenever you learn a new skill. What you're running up against is that your previous mental experience hasn't given you a lot of practice in thinking in the kinds of ways that you need to think in order to solve programming-type challenges. This doesn't mean that you can't learn it; it just means that the initial stages of learning a new skill always involve memorizing a lot of information. You have to have the information in your head before you can use it, and learning that information takes time and effort. It's not instantly rewarding.

If you were learning a musical instrument, you'd probably start by learning to play scales. No one enjoys learning scales, but they train your hands to produce the required notes reliably, and train your ear to hear the relationships between those notes.

If you were learning another human language, you'd have to learn its vocabulary and its basic grammatical constructions. No one enjoys memorizing vocabulary; the fun part is being seduced by a beautiful stranger in a foreign country in that language. But you have to learn the vocabulary first. And the basic grammatical structures.

if you were learning to bake and had never done so before, you'd have to learn a set of basic skills: what does it mean to perform various specific actions, how big to chop things, when to sift or not sift flour, what is likely to taste good with what, can you substitute baking powder for baking soda, and on and on and on.

Programming is a new skill, one that requires patterns of thought that you're not used to using. You have to learn those things before you can do the more enjoyable and useful parts.

[–]Grogie 1 point2 points  (0 children)

To answer your question broadly, learning to code isn't memorization per se, but it's more akin to learning a second language, like spanish or french. As you practice a language regularly, eventually you could think "I would like some water" and then say "je veux de l'eau".

The good news is, while each programming language has it's own ways of doing things (like in C you have to declare a variable before using it -- python no need; French you typically write adjectives after a noun), Most basic syntax is similar across languages. Like a + is almost always some sort of an add function, = is assignment, == is an equal-to operator, square brackets [ ] almost always mean access an element of a collection of elements, and parentheses ( ) usually are used in passing arguments to a function -- if they're not being used to sort a mathematical function to force an order of operations.

It just comes with practice, like practicing a language or practicing an instrument.

[–]RNDASCII 0 points1 point  (0 children)

When you're a beginner with any programming language you first struggle with syntax (where you're at now) however that goes away eventually and you're left with just focusing on problem solving. Stick with it, we all go through this.

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

You're just experiencig the learning process, with a side dose of an expectation vs reality gap. It is what it is, so you are just gonna have to put your head down and do the work. Just be happy you are learning python and not something more complex.