What is Programming or Coding? A guide for beginners
In the modern world we are all dependent of computers in our everyday lives. Software is the set of instructions that tell these computers what to do and powers everything including Computer Games, Watches, SmartPhones, Websites and Business Applications. These are all created with the help of Coding.
Computers are great at performing lots of calculations and need a set of instructions to follow. Programming of Coding is the art of crafting these sets of instructions and is an in-demand skill to hold.
The Language of Computers
Computers understand a limited set of instructions, typically only a few hundred. Each of these instructions performs a basic calculation such as moving a number from one place to another or adding two numbers together.
Each of these instructions is coded as a number Instructions such as 00000011 11000011 (03 C3) which tells the chip to add the contents of two numbers together.
The power of a computer comes from being able to execute these instructions really quickly typically measured in Million Instructions Per Second (MIPS). A modern processor can run around 250,000-1,000,000 MIPS.
Generations of Language
The instructions that a computer understands are called machine code and is considered a 1^st^ Generation language as this is something that computers can understand without any translation. Understanding and working with this code as a Human is not easy, so Assembly language was created to allow instructions to be written in a human readable form and then a program called a compiler could convert the Assembly Language into the machine code that a computer can then process.
These first two levels of programming language are known as Low Level and it is rare to need to be able to code in these languages.
Although writing in Assembly language was much easier for us humans, new languages were created that would allow us to write instructions and these tend to be where you would start with learning programming. These languages fit into the category of Third Generation Languages or 3GLs and examples of such languages are C, C++, Java, Python, PHP, BASIC and C#. The structure of the language is closer to English.
Why do people want to learn Computer Programming?
Salary Computer Programmers tend to be paid good salaries. There always seems to be a shortage of good staff for the roles available and with good software developers in high demand if you know your stuff you can command a great post.
Enjoyment There are many people who code for fun and a lot of people get great reward from creating programs themselves, hunting down bugs in others software or working together to create something. The process of coding can be considered an artistic form.
How long will it take me to learn a language and become a ready to employ programmer. This will depend on your experience with other areas of Computing and your own ability to take in new ideas. If you budget around 600hours of effort that is around a year at 14 hours per week.
A Software Developer is more than just a Coder
If you are not Programming for fun and look forward to this being a career, bear in mind that programming is just one aspect of being a software developer and depending on your experience, position and size of organisation the amount of time spent programming will vary. Other activities that make up a software engineering role are
Working with the client to understand the need
Designing the interface
Debugging the code
Planning Test scripts
Testing the Code
Working with the users to test the output
Supporting users with use (Training)
If you are keen to get started learning to write your first Computer Program, then take the next step by working out Which is the best Programming Language to get started with?