The Most Active and Friendliest
Affiliate Marketing Community Online!

“AdsEmpire”/  Direct Affiliate

Ask Me Anything A note about learning to program

Glen Elkins

Affiliate Manager
Affiliate Manager
XZist
So I've been mulling over this forum for a while and I've noticed quite a few posts asking where and how to learn programming, or asking specifically to learn languages like php.

So I wanted to point out what I find to be a mistake that all beginner programmers make; or most of them: you need to learn to program and understand a program, you need to learn to visualise the program in your mind, the second part is learning to language.

So I'm basically saying that if yout don't learn and understand the fundamental concepts then learning to type out a language syntax is meaningless.

You wouldn't build a house without first understanding why it has to be build in certain ways with certain materials and it's the same with programming; different languages are better for different things.

So my suggestion is to learn more about software engineering before you learn the programming so that you have a background and knowledge of good practice behind you. Becoming good at it will come with time and being able to solve problems because you understand what the program is doing and not just what the code says.

It's a long road, I have coded for 18 years , I started with modular 2 , then c and c++ and moved on to web coding mostly in php and I still don't know half of what is out there! But the key is I understand it so looking at any high level language I'm able to follow the program even if I've never seen the language before.

Good luck , it can be a lot of fun and very rewarding to learn to be a programmer, but it can also drive you potty.

Sorry about the spelling errors it's a nightmare typing on a phone :|

G
 
Completely agree Glen, have been coding for over 30 years started with Machine Code on punched cards and now use C#. Have seen computers go from taking up entire rooms to fitting into the palm of your hand.

Learning to program is like learning any language (French, German, English, etc), semantic, syntactic and pragmatic knowledge come into play.

Rather than focusing on syntactic knowledge (anyone can learn syntax) you need to focus on the other two as they will apply to any programming language you learn later.

One thing people new to programming need to keep in mind is the three basic structures of all programming languages:

1. Sequence;
2. Selection; and
3. Iteration.

Sequence is about this action following that action in the correct order.
Selection is about IF this condition holds true THEN do something ELSE do this instead.
Iteration is about doing a group of statements WHILE a condition holds true over and over again.

Hope this helps someone on their programming journey.

Cheers,

Grant
 
I get it why you are mentioning this, but you now have a totally different perspective. You are experienced, you master programming language(s) and you are able to see the big picture now on how programming works. Now you see that it is important to understand the fundamentals of programming and only now you fully understand them.

But I do not agree on this from a beginners perspective. Programming and coding is very abstract. You can read as many books on programming and programmatic thinking, but still you won't be able to program or solve anything. Also reading on the basics of programming won't make sense like it would when you are experienced in solving problems with programming language(s).

Once you start writing your first lines of code, you'll start to master programming.
A language forces you to think programmatic and you'll start to think more abstract in a problem solving way because the language forces you along the way.

I strongly encourage people to just start writing code for micro apps. It's the problems and assignments that challenge AND motivate newbies in the first place. I agree that is a LONG way to eventually master programming. When you have reached this stage it will be easy to learn any other language. And only in this stage you'll fully understand the fundamentals on software engineering and programming.
 
I get it why you are mentioning this, but you now have a totally different perspective. You are experienced, you master programming language(s) and you are able to see the big picture now on how programming works. Now you see that it is important to understand the fundamentals of programming and only now you fully understand them.

But I do not agree on this from a beginners perspective. Programming and coding is very abstract. You can read as many books on programming and programmatic thinking, but still you won't be able to program or solve anything. Also reading on the basics of programming won't make sense like it would when you are experienced in solving problems with programming language(s).

Once you start writing your first lines of code, you'll start to master programming.
A language forces you to think programmatic and you'll start to think more abstract in a problem solving way because the language forces you along the way.

I strongly encourage people to just start writing code for micro apps. It's the problems and assignments that challenge AND motivate newbies in the first place. I agree that is a LONG way to eventually master programming. When you have reached this stage it will be easy to learn any other language. And only in this stage you'll fully understand the fundamentals on software engineering and programming.
I totally understand your perspective here and yes I suppose I am looking at it from an experienced point of view after making the 'mistake' of learning it the long way myself over the years.

I just think that a new programmer really needs to grasp the flow and architecture of a program before they will really understand what code is being written and why it works while a slightly altered bit of code doesn't work.

Your point is just as valid and a great different perspective. Of course my post was just my opinion from making many mistakes over the years and from many very poorly trained ciders I have worked with - I am still learning now but I obviously work in a completely different way than I used to and my code is a lot tighter.

Thanks for the input!
 
As a total beginner I agree that the basics of programming are very important when trying to master programming.
It is the vast amount of code one has to know which make the process pretty tedious.
 
As a total beginner I agree that the basics of programming are very important when trying to master programming.
It is the vast amount of code one has to know which make the process pretty tedious.

It's just like anything when you first start out, I have been playing the guitar learning blues for almost 3 years, and up until recently it's also been a tedious process; you will get better as time goes on, just keep at it. There are plenty of resources and forums online to help you when you need it.

My advice, would be to pick something you want to code, and code it, learn as you go, make mistakes, make it better, ask questions, make it better again. This way you will start to develop a "mind map" of sort as to how a program functions and figure out better methods (there are always better approaches to every piece of code).
 
MI
Back