What is coding ?





 Everyone has heard the word coding. So what exactly is coding? writing code is writing a precise set of instructions a computer or a device can understand it's explaining exactly what you want your computer to do at any given movement. Computers need to know exactly how to react to things like clicking of a mouse or pushing a button and whatever happens ultimately is happening because of lines of code written by human programer just about anything with a plug of battery uses code,  it's keeping our airplanes in the air, it's allowing you to swipe a credit card and the computer doesn't know what to do in any given situation it has to teach everything. So you can think of a compute programmer explaining to a computer what we want it to do as trying to give someone directions for how to drive somewhere when they don't know what even a car is. So you can see what kind of complication you'd run into you'd have to not only tell them how to get where they're going but you'd also have to give them contingency plans for things like what if there is a traffic jam or what if a truck breaks down in the turn lane and you'd even need to explain precisely how the string wheel or gas pedals work.

So that's kind of like a computer programmer writing code for the computer they have to basically teach everything every time to understand that communication and how this process even started you have to go back to the industrial revolution where the first computer program was invented in 1801 by a guy named Joseph Jacquard. 

Joseph Jacquard
image source:wikimedia.org

 He developed a system of weaving instructions or code for his sewing looms that could be stored on cards with holes and there is a mechanism that would go along the card and try to push a pin through and so either the pin would go through or would it's binary its either dose or it doesn't it's one or it's zero and so if the ping goes through the hole it would alow a rod attached it to lift. Which lifts the string and lifts the associated thread and if the pin does not go through the hole the pin doesn't move and the thread doesn't move. So essentially the card would hold a preset pattern that is read by the loom and serves as a guide giving direction to the threads one at a time and with this contraption, you could create very fancy pieces of weaving and this idea being recorded information read by machine was quickly borrowed to be applied mathematical computation.

Charles Babbage invented the analytical engine in 1837  and it was basically the calculating machine. Eventually, transistors are invented to replace punch cards as a way of transferring data, and nowadays we are using the computer with billions and billions of transistors but still carrying the same idea of on and off to carry data, as a way of harnessing these various combinations of transistors we use code. Computer programmers use different languages whether it was python for gaming java for desktop applications or objective C for iPhone apps . 

A computer program is only a text file following those rules and it eventually translated into something that a computer can understand just like the pins on Jacquard's loom a computer can understand only two things, think of one and zero as the alphabet of the computer. If you look at the alphabet of the English language there are only 26 letters and by themselves they are meaningless but when you combine them into different ways you get the greatest gatsby or romeo and juliet  in the same way billions on combinations of ones and zero have the potential to give us MS word or iTunes and the process goes like this in the top level you have a human writing code for a specific computer language and after this the code is translated or compiled into a low level language by the tool called compiler and finally the code is translated into binary or machine language by an assembler. So because we have a way of translating human orders in the form of code into ones and zeros that a computer can under can understand after that it's really just a matter of what you want the computer to do and its like being a chef writing a recipe because both chef writing recipes and computer programmers writing a code both have the ability to create some thing awsome using resources and tools available.