When learning a programming language for the first time...

When learning a programming language for the first time, is it normal to forget a bunch of syntax aside from the main stuff?

No. The stuff you remember is trivial, i.e. it "goes without saying" that you know it, while the stuff you tend to forget is important. Try harder or fail.

Fuck. I have a shitty memory

Maybe the first time, but this is only because you aren't reinforcing that knowledge through practice.

Timed recall methods like the pomodoro method will let you memorize arbitrary information even if you never practice it again.

Practice more. Reading isn't enough.

I'm using codecademy, so I'm not only reading the course.
>pomodoro method
Thanks, I'll try that out.

codecademy only works if you already know how to program, because it only teaches you syntax.

What's a better way to learn to program?

What are you trying to learn?

Ruby.

Ruby is deprecated.

>is it normal to forget a bunch of syntax
only if you program brainfuck or malbolge

Yes. Syntax is arbitrary nonsense that is different in every language, often for no reason. Every pro codes with documentation open.

How so?
I heard it was a good first language. It's not like I can't learn anything else afterwards.

Learn algorithm theory, software design, compiler theory, digital systems design, and then play with code until it makes sense.

>Every pro
If by "pro" you mean codemonkey or webdev, then yes. Real programmers learn how to write code.

I see. Is K&R a good start?
What separates real programmers from code monkeys?

K&R assumes you already know how to program.

Take any beginner book in any language and just learn to program first.
I highly recommend Programming in C by Kochan.
Syntax and language-specific paradigms can be learned later.

Yes its normal. Don't listen to people here, they're either fucking around, elitists, or autistic.

You end up memorizing a ton of stuff just through practice but while learning you're gonna forget plenty of syntax. Luckily its easy to look up. This happens less and less as time goes on.

I would say the reason a lot of people don't get into programming is because when reading about it they feel overwhelmed and incapable of remembering what they're reading through. This is not an issue though. Just code. No matter how you do it just code and learn. No need to overthink it.

Ok, thank you. I had also been pondering whether to participate in one of those intensive programming courses (for free), are they useless?

>just code and learn
Some would say that this creates bad habits/a lack of deeper understanding, though, right?

Sure but expecting someone to start learning a new skill without doing that some is just delusional.

I'm not saying he shouldn't get to the point you guys are talking about but starting off like that is just setting yourself up to fail.

You truly learn a new skill by acquiring a solid and deep understanding of its underlying components.

>he forgets 8 commands
t.brainlet

But that only comes years after doing it. You don't start with the finer points of any skill, you start out rough and refine later.

Some would but they're wrong. Watch uncle bob on youtube and work on small problems and side projects in your language of choice. Ruby is a good first language.

>Real programmers learn how to write code.
Yes, and they still do it with the docs open.

Are you saying C isn't a good first language?

No, because it is.

X86-64 assembly

Honestly though there's no bad first programming language, among those that are still widely used today at least. Just learn whichever one you want/need.

except for BASIC

A lot of great programmers started with basic

Syntax is shit, learn how to write effective programs that are understandable for everyone

Not OP but what are the pros/cons of Ruby vs. Python as a first language?
I see lots of people recommending Python but not many recommending Ruby or Perl even though they're scripting languages and OO too.

>aside from the main stuff
Yes. If you have a language with more 50 keywords/operators and some are used once in your life that happens.

bump

Go away slob. You have wana fight!!

The "First Language" thing is dumb. You can learn anything the first time. And even the more advanced features of these "beginner languages" are going to be scary and difficult for newbies.

Python is recommended because a solid case was built for it on wrong principles on discussion forums where people ask the question "What language should I start with?" To worry about habits you might pick up is dumb because every beginner has really bad habits and style until he's been doing it for many years.

The pros of both are that you'll be programming in either Python or Ruby. The cons are that you won't be programming in C, C++, Java, Perl, etc. But don't worry, you can fix that soon.