Want to get into coding but need an answer first to my mind boggling question

Associate
Joined
26 Mar 2010
Posts
1,931
Location
London
I've been wanting to do programming for years and unfortunately I've let year after year slip by and nothing happen. Then time and time again I get this whopper of motivation to get into it but then always the same question spirals in my mind and I feel if I can't get answers to it I'll never be able to initiate.

So my biggest confusion is that when I'm wanting to code a program how do I know what commands the computer accepts? Isn't there a specific format in which you should write it? Is there a full list of commands or something where I can browse and just basically take what I need and add it into my code?

I'm sure someone will come and mention the learning a language analogy but it doesn't sink in.

It may seem very basic to someone reading this but it's causing me a whole lot of annoyance.

Thanks in advance
 
Integrated Development Environment.

E.g. Visual Studio.

Good luck with the motivation. Programming needs constant practice so if you're not 100% motivated, you're not going to achieve much.

Maybe start simple with some vb macros for office before trying to write a program.
 
So my biggest confusion is that when I'm wanting to code a program how do I know what commands the computer accepts? Isn't there a specific format in which you should write it?
Yes. Different languages have different formats for coding and such.
I'm sure someone will come and mention the learning a language analogy but it doesn't sink in.
It's like learning a lan...

Oh. But really, it is. Learning an actual language is similar to programming language. English has certain phrases and ways to say things as does French.

I'd say pick a language you want to learn and just go for it. I wouldn't expect to get anywhere fast though.

I may or may not have confused you even more tbh.
 
Integrated Development Environment.

E.g. Visual Studio.

Good luck with the motivation. Programming needs constant practice so if you're not 100% motivated, you're not going to achieve much.

Maybe start simple with some vb macros for office before trying to write a program.

Not sure I agree with an IDE as a start point. It can be hugely intimidating with all the options, windows and menus that mean nothing - like giving someone an F1 car will 600 buttons on the steering wheel when they should really begin with a dodgem. It does need someone to show you just the basics of typing stuff in (the commands) and then running the program to see what it does (or doesn't do) - and ignore a huge pile of what's available until you are ready for it.

As D3K said, you need to just try and start somewhere. Have you tried youtube videos or free courses on the internet ? What about macros in Word or Excel ? Its very difficult to advise when we don't know what you know.
 
Not sure I agree with an IDE as a start point.
It wasn't a recommendation, but an answer to his question about where to find lists of the commands.

Not that it matters, the more I think about the more I can't see the op getting anywhere. Coding needs a massive amount of self-teaching and to ask such a fundamental question does not bode well.
I've been at it on and off for a few years now as a side task to my job. I've been dabbling in VB, javascript, C# and I am still bewildered with any environment outside of application APIs.
Even inside of APIs I'm a complete dunce compared to real programmers.

coding_is_hard_confidence_competence.png

I think I've come out of the desert of despair a few times into the upswing of awesome, but a lack of focus has me rolling backwards constantly.

The majority of people never return after the cliff of confusion. OP still needs to find a hand to hold before getting close to that.
 
I've been wanting to do programming for years and unfortunately I've let year after year slip by and nothing happen. Then time and time again I get this whopper of motivation to get into it but then always the same question spirals in my mind and I feel if I can't get answers to it I'll never be able to initiate.

So my biggest confusion is that when I'm wanting to code a program how do I know what commands the computer accepts? Isn't there a specific format in which you should write it? Is there a full list of commands or something where I can browse and just basically take what I need and add it into my code?

I'm sure someone will come and mention the learning a language analogy but it doesn't sink in.

It may seem very basic to someone reading this but it's causing me a whole lot of annoyance.

Thanks in advance


Look at the syntax and the language commands in the help pages.

Then look at the documentation for the language and further drill it down by the platform your using.

Use online help pages and API calls etc. Or if your old school use a book.
 
So my biggest confusion is that when I'm wanting to code a program how do I know what commands the computer accepts?
Well, you learn them. That's what learning to code means.
Is there a full list of commands or something where I can browse and just basically take what I need and add it into my code?
There will be reference lists of commands for all languages. However, if you don't know the basic concepts of programming, or the syntax rules of the language you're using, you'll never be able to make sense of them.

Pick a language, any language (e.g. Python), find a book or a course (plenty of free/cheap courses available online) and follow it.
 
Well, you learn them. That's what learning to code means.

There will be reference lists of commands for all languages. However, if you don't know the basic concepts of programming, or the syntax rules of the language you're using, you'll never be able to make sense of them.

Pick a language, any language (e.g. Python), find a book or a course (plenty of free/cheap courses available online) and follow it.

I'm glad I never had to learn to program - I mean sure there are some advanced techniques that I'm not familiar with, etc. and some oddities like the use of the snail @_ in Perl, etc. but from the first time I can remember I've only had to glance at the command list reference and I'm good to go :) everything else like data types, etc. has always been intuitive to me.

It is both a blessing and a curse though as people can talk about concepts or things like lambdas and I'm quite conversant with using them but not drilled on the theory.
 
I'm glad I never had to learn to program - I mean sure there are some advanced techniques that I'm not familiar with, etc. and some oddities like the use of the snail @_ in Perl, etc. but from the first time I can remember I've only had to glance at the command list reference and I'm good to go :) everything else like data types, etc. has always been intuitive to me.

It is both a blessing and a curse though as people can talk about concepts or things like lambdas and I'm quite conversant with using them but not drilled on the theory.

I find it hard to believe that someone with *no* learning in programming could glance at a command list reference and immediately understand everything they need. Like the difference between a scalar and an array, and a for loop vs a while loop, etc. Literally from the first time you ever sat down in front of a computer and decided to write some code.

Just because you didn't study coding at college/uni, doesn't mean you didn't learn it.
 
I find it hard to believe that someone with *no* learning in programming could glance at a command list reference and immediately understand everything they need. Like the difference between a scalar and an array, and a for loop vs a while loop, etc. Literally from the first time you ever sat down in front of a computer and decided to write some code.

Just because you didn't study coding at college/uni, doesn't mean you didn't learn it.

Obviously you get better and learn as you improve and gain more experience - but things like a for loop and while loop have always been intuitive to me - my dad bought back a 286 from work with quickbasic on it when I was pretty young - no BS 2 days later I was able to code at a higher level than the advanced example programs from just looking at them and the command reference.

There is a lot about programming that I don't know the theory for - but can do it intuitively.

EDIT: Or you could just say I've never had to get my head around most concepts when learning to program *shrugs* sure there are some advanced maths, etc. theories that are another matter. Its like I learnt programming in another life or something sometimes I find I'm familiar with aspects of it I've had no exposure to before, etc.
 
Last edited:
What you're asking is like someone who's trying to learn how to write a story in English asking for a dictionary. It won't help you. You need to understand the rules in order to create useful structure that can actually do something. It's hard work, yes. If it was easy then it wouldn't be the viable career option you're aspiring towards.
 
You can download a reference card like this one for c++.

http://web.pa.msu.edu/~duxbury/courses/phy480/Cpp_refcard.pdf

It may not seem like much but that's pretty much the whole language just like in English you learn words and phrases first. Actually applying those words and phrases to a short story or novel is a different matter.

Bar a few people there is no easy way with programming, a lot of hard painful work is needed you have to be very committed. Think of an athlete training everyday.

I would imagine some people have a flare/talent also as people seem to do with art.

Work hard for the first two years, don't be intimidated and remember your always learning. I recommend reading Masters of Doom to get an idea how hard they worked back in the 80's/90's before PC's and compilers got faster and all the frameworks/engines available nowadays.
 
In your mind, separate the specifics of a language - which are the syntax and keywords, from the programming concepts which all languages share - such as loops.

For example - https://www.tutorialspoint.com/csharp/index.htm
This guide is a collection of pages, each one dealing with a programming concept. Then showing you the implementation in the C# language.

You learn buy building something simple, followed by something slightly harder, and so on. Through practice, most programs become trivial for you to memorise. Most tutorials with a "hello world", which is just getting a program which works at all, and all it does is print text on the screen. These are very simple things that every program you write will have to do.
 
In your mind, separate the specifics of a language - which are the syntax and keywords, from the programming concepts which all languages share - such as loops.

I agree with this.

When I first started, most of the 'programs' I wrote were first handwritten in pseudocode (basically plain english). It's then easy to translate that into whichever programming language you want.
The hard part of programming is the logic of how to solve a specific problem. Once you've done that, telling the computer how to follow the instructions to solve the problem is easy.
 
I'm the same as the OP. About 10 years ago I did an OU course in JavaScript, which was immense fun until it got the near the end and started dealing with some concept which I can't remember now but it totally threw me and I never coded again.

But this year, instead of getting a gaming PC (I'm going off gaming at the minute) I'm going to plump for a Mac in an effort to learn Swift. Apple seems to have a rich curriculum to teach you building apps from total novice level. I hope it reignites that feeling you get when you solve a programming problem. Almost better than sex. :D
 
When I was learning I often found the biggest hurdle to be finding something to write, or actually having a problem to solve. If you get stuck for ideas on what to code I found that writing for something like https://projecteuler.net/archives and working your way through the problems gave a constant stream of smaller apps to write in order to build up a code base. The apps are generally geared so that the concepts start easy and get very mathematical and more difficult as you progress. This was always my biggest hurdle and project euler helped massively in that respect.

In terms of understanding what commands are accepted in a given language, all languages tend to be heavily documented, for example I wrote probably 50 or more Project Euler apps all in VB.net with nothing more than the framework api documentation which can be found here: https://docs.microsoft.com/en-us/dotnet/api/?view=netframework-4.7.1

These documents tend to give you all the namespaces available to call in your code as well as all the classes available under those name spaces. For example if you want to make a call for IO, say for example you want to create a file using a stream writer and your then writing that file to the disk you will need to include calls to system.io so you would include this namespace at the top of your code. I am sure there is loads more to say on this but having a problem to solve is half the battle.
 
First hurdle you'll need to get past is that "learning a language analogy" is wrong, because it isn't an analogy at all. It literally is learning a new language. I don't even mean the syntax either, you have to learn how to "speak" machine, and then on top of that, learn how "machine" is spoken via whichever syntax you've chosen to complete the task.

Machines are dumb. They are only capable of understanding simple statements. Things like "remember this" and "forget that". "add this to that" or "take away that from this" and so on.

Now you need to know how to "say" that in a programming language. You'll also develop ways to repeat what you've said without literally repeating yourself (we call this an abstraction) and learn the language for that. Then you'll need to learn how to communicate these ideas with other developers so you can find help and so on. Finally you'll need to learn how to translate that to and from people who have no understanding of how machines work at all.

Really, you will learn many new languages.
 
Back
Top Bottom