Programming, or “Coding” is the way humans are able to communicate instructions to computers. They use special programming languages which take words, and translate them to a format that can be understood by computers. The instructions can be just a few lines, or millions of lines of code to complete a specific task.
Once code is written, it must be compiled. Compilation is the process that converts the program code into the language computers can understand, which is called binary. Binary code is only made of 1 ‘s and 0’s. Binary used to be compiled by hand, which was very time consuming and limiting. The process is now fully automated using special software that translates an instruction into efficient binary code. For example, we may have an algorithm that requires sorting numbers. The first step might be to set a variable to 0. In code this might look like “$x=0”. However, a computer cannot understand it the way we can read it. That simple action might take a dozen or more actual computer steps, such as finding and clearing an area in memory that holds the variable. The compiler looks at each step and assigns binary code to it. Clearing an area of memory might look like “00101101”.
When the program is fully compiled, it will run in fractions of a second. All computers use a clock the runs very fast. Modern computers create signals that pulse at billions of times a second. Each pulse loads another set of binary code, so in one second the computer might execute over a billion instructions! This all happens faster than you can blink your eyes. Computers can only do a few very simple basic tasks that include shifting binary numbers left or right, moving them to others areas of memory, and adding them. However, we can use these very simple operations to create all the amazing things computers do today, like allowing you to play a video game. It is all very amazing.
The term “coding” refers to the act of actually writing code, like when we said “$x=0”. Programming, or software engineering is a much wider term which is associated with all aspects of an application, such as design and testing. You may see movies where programmers are typing furiously on a keyboard at a fast past to write an application. However, in reality, the coding part is usually just a relatively small part of the software creation process.
If you want to be a computer programmer, you must have good problem solving skills. You will then need to learn one or more programming languages, such as Java, PHP, or C. Languages and technology are always changing, so you should also enjoy learning new things, since that is very important to programmers. Math is also important, but you just need basic skills. Being good at solving problems with software takes lots of experience and dedication.