It can be unclear when we hear people say these words interchangeably without necessarily knowing if they are really used in their proper context.
To summarise the expectation from this article, you do not need any technical skills to read along; the vocabularies used are things we relate to every day.
Unfortunately for me, I used to think that Coding and Programming were the same. Not until recently when I had to do a little more research on the two terms, and I discovered some distinctions, which will be what I will be sharing with you in this article.
Why is this information important?
Knowing the disparity between Coding and Programming will keep you out of trouble, especially with using the wrong words.
Often, people can easily be offended when you call them a coder, even though nothing is wrong with the term. First, however, you must know what you are saying to people.
If you agree or disagree with me, let me know your thoughts in the comment section.
Alright, let us dive into it!
What is programming
In a straightforward term, programming is instructions that define behaviour. In other words, programming is the manifestation of logic.
Think about it this way; programming is an act of writing logic.
In programming, we refer to the word logic as the proper or reasonable way of thinking about something: sound reasoning.
For example, science deals with the rules and processes used in sound thinking and reasoning.
The word I want you to pay attention to is "processes".
Programming is the act of focusing on processing that will lead to the result and coming up with a description to get to the final destination (which we call logic).
In many cases, programming is often referred to as a close cousin of maths. That's why those who major in it equally sort after for most complex engineering jobs.
In colleges, you will find a class called discrete math. This math is often designed for programming.
Don't let this term scare you away, and you do not need a formal background to become a programmer. However, you need to be aware of this information and see how you can fit in as you progress in your career.
Majorly these are some of the reasons why people call programming applied math.
Math: think of math as the theoretical branch and consider programming as the practical.
Let us say we want to build an interest calculator to get a better context.
The theoretical will be; Interest Rate = (Simple Interest × 100)/(Principal × Time)
Programming: is the practical branch.
Even though they look like code, often, you will hear people say CSS and HTML are not real programming languages. Not because they are the most basic for building applications, but based on my explanation so far, the most reason will be that they are not structured for writing business logic.
Anyways, programming focuses more on the process. What you will see biggest tech companies test for and let you take your interview mostly on whiteboards (something we call pseudocode) irrespective of the programming language they are trying you for.
The pseudocode in programming is writing out steps in plain English instead of coding steps in specific programming syntax.
If you are interested in diving into the concept of programming (logic), check out the Harvard University CS50 course, which covers some exciting concepts in computer science.
By taking this course, you will be surprised in the first few weeks that some of the things that will be taught are not programming languages. Instead, you will have to learn some kids' stuff called scratch.
After which, the course will transition from language to language. From Javascript to C# (C Sharp) and Python.
The idea is not to focus on several languages; the central concept focuses on the logical elements and patterns instead of specific code samples.
What is coding?
You can refer to coding as the implementation or details of the logical programming solution.
This might not necessarily be the case because it is possible to code in HTML and CSS, making it difficult to pin down the definition for coding.
One thing to put in mind is that to be a good coder; you have to learn the syntax of different coding languages.
In several ways, the logical problem solving of programming is in a higher level of abstraction than coding, which is more focused on the technical details.
Details like breaking things into functions and different files, checking for code quality, and leveraging on libraries all come into play in coding.
Swapping code solutions for the exact programming outcome makes things even more flexible.
When you are learning to code the first time, the first thing you will write is "hello world".
In Javascript
console.log("Hello World")
In Python
Print("Hello World")
In Java
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
In programming terms, all these declarations are the same. However, they are different in every language coding term.
Unfortunately, coding is boring to the ear, especially when explaining concepts to non-technical people. Often you will find them falling asleep. This is where there is a long time conflict between technical and non-technical people on the various teams.
When a developer seeks to refactor the codebase to be more efficient, the project manager asks what values it brings and what benefits the end-user.
You often see courses like:
- Introduction to Javascript Basics
- Python 101
- Advanced Python Programming Langauge.
These are very focused on pure coding concepts. In other words, they focused more on the syntax and patterns of the specific programming language.
Now that you have many ideas about programming and coding be careful about calling someone a coder. It is a bit slanderous in the developer world (most people find it offensive).
It implies that you are a cog or machine, and all you are going for is writing code and also that you are easily replaceable by other coders (even though, for me, in a real sense, no one is irreplaceable).
Wrapping things up
With all these explanations, it is easy to say that coding is easy once you know to program. That is why experienced programmers can learn new languages so fast.
Learning to program helps you build mental models, and it is no coincidence that the world is now run by programmers like Bill Gates, Jeff Bezos, Elon Musk, Mark Zuckerberg, and the list goes on and on.
You will hear many people say, focus on programming when you are starting, don't worry about coding language.
This is not permission to learn five different languages and not focus on one. On the contrary, concentrating on one language gives you the speed to master it. The faster you can master one programming language, the sooner you can get beyond just the coding steps.
Focusing on a single language will also give you room to experiment with programming methodologies.
Bonus tips:
You will often hear the term "development"; this is more focused on the solution outcome or business need. However, development can involve much more than programming and coding.
Coding jobs daily are automated more and more. Code generator, better tooling, machine learning algorithms...
While we will continue to see a decline in jobs requiring pure coding, the concept of programming remains unchanged.
I hope this article helps to shift your focus between coding and programming. Leave a comment and signup for our courses for free.
Source: Aaton Jack (2021). Programming vs Coding - What's the difference?
A tech career with instinctHub
Ready to kickstart your tech career or enhance your existing knowledge? Contact us today for a dedicated instructor experience that will accelerate your learning and empower you to excel in the world of technology.
Our expert instructors are here to guide you every step of the way and help you achieve your goals. Don't miss out on this opportunity to unlock your full potential. Get in touch with us now and embark on an exciting journey towards a successful tech career.