Coding. Software engineering. Programming. Call it what you will, but thereâs no doubt that in todayâs world, this skill is big business. So what exactly is it?
Computer programming is skill of creating computer software. It is common to see the phrase âwriting a programâ, and this is because that is exactly what is involved: as human beings, we are most comfortable communicating in natural language â those are the languages we read, write and speak, like English â but machines are fundamentally different. They operate not on natural language, but by performing calculations in binary (0s and 1s). It is very difficult for human beings to give the computer these instructions in binary directly: even the simplest of tasks would involve a great deal of tedious and repetitive instructions. Imagine, then, how difficult it would be to create something like an iPhone app by writing the instructions the processor inside operates on directly: impossible!
To solve this problem, computer scientists have worked over the decades to create a number of âlanguagesâ, which let programmers write instructions in words. These instructions are then translated, by another computer program, into instructions that the computer can process. This saves an awful lot of work, and makes spotting mistakes easier: itâs much easier to see that youâve given the computer a âdodgyâ instruction when the words are in English than if you had to look at machine code directly!
My main aim in this blog post, now that you know what a programming language is, is to make clear that programming languages can be classified as one of two types: interpreted or compiled.
As I am sure that some of you have heard the names of some popular programming languages, Iâll start by saying that Python, Ruby, and Perl are all examples of interpreted programming languages. Whereas languages like C and C++ are compiled.
So, whatâs the difference? Well, compiled languages are probably the easier of the two to understand. You write an application using the compiled language of your choice, and then a computer program called a compiler translates your code directly into machine code, and creates a new file (usually an .EXE file!) that contains these machine instructions. You can then transfer this file to another computer, without needing the compiler on that computer, and your program will run just fine.
Interpreted languages, on the other hand, rely on the use of an interpreter program. This âreadsâ your source code â a software engineering term for the lines of programming language youâve written â and executes instructions as it reads. So instead of creating a new executable file, the âinterpreterâ goes through the source code line by line, reading whatâs there and telling the computer what to do. The disadvantage most beginner coders notice pretty quickly, is that you canât transfer your program to another machine without first installing the interpreter software on it.
Itâs important to have an understanding of the basic distinction between the two. But knowing this wonât make you an excellent software developer: you need to write some code.
On that front, Iâd like to offer four pieces of advice for the beginner coder that I wish Iâd had someone to tell me when I started.
1. Depth over breadth. Donât make the mistake of thinking that the path to success is to try to master every language there is! What youâll really end up doing, is having a low-mid tier knowledge of lots of languages. The truth is that lots of concepts in programming are the same between many languages, they are just implemented a little differently between each. So itâs much better to focus on mastery in one or two languages. What you learn there will assist you when you choose to pick up another language in future.
2. Make sure you fail a lot. Donât worry about getting it right all of the time! The only way to learn is to tinker and experiment with the language. If you get it wrong, the worst that will happen is you get a helpful (or sometimes not so helpful) message from the compiler/interpreter telling you that youâve done something a bit wrong. And thatâs how you learn. So just go for it.
3. Start small. If youâve never coded before, donât dedicate yourself to having your very first attempts make you a Silicon Valley millionaire. Youâll just get disheartened. The learning curve can be very steep, especially if you want to write very efficient code. So set goals that are challenging but attainable. In time, youâll get to the skill level you want.
4. Code every day! Practice makes perfect is just as true in programming as it is everywhere else. As you become more skilled, you can work on projects with friends or on the internet. There are lots of ways to get coding experience each and every day.
Learn About Computer
Science
Touch
Screen Science
Mind Mapping: Have Fun as
You Learn