PROGRAMMING IS EVERYWHERE
Programming is, quite literally, all around us. From the take-out we order, to the movies we stream, code is ever present in our lives. Tech companies are no longer recognizable as just software companies — instead, they bring food to our door, help us get a taxi, or act as a personal trainer.
When you’re walking down the street, where can you find technology in your environment?
…AND PROGRAMMING IS FOR EVERYONE
For many years, only a few people have known how to code. However, that’s starting to change. The number of people learning to code is increasing year by year, with estimates around 22.3 million software developers worldwide, which doesn’t even account for the many OTHER careers that relate to programming.
Here at Codecademy, our mission is to get people the skills they need to improve their careers. We’ve always known that technology plays a crucial role in our economy — but no longer is programming only the purview of web developers and data scientists. Any person and any career can benefit from learning to program — whether it’s learning HTML to improve your marketing emails or taking a SQL course to add a dose of analysis to your recruiting role. Even outside of the tech industry, learning to program is essential to participating in the world around you: it affects the products you buy, the legal policies you vote for, and the data you share online.
So, let’s dig into what programming is.
WHAT IS PROGRAMMING?
Many people come to Codecademy because they’ve decided that they want to learn programming, but they don’t know what programming is or why programming is important.
Programming is giving a set of instructions to a computer to execute. If you’ve ever cooked using a recipe before, you can think of yourself as the computer and the recipe’s author as a programmer. The recipe author provides you with a set of instructions which you read and then follow.
How good are you at giving instructions? Try and get Codey to draw a square!
“So, you’re basically telling me that I’m just ordering a computer around? I thought computers were supposed to be smart?”
Well, you’re correct! Computers are very good at certain things, but until the singularity actually occurs, computers can’t think for themselves. So, they rely on us humans to tell them what to do. Like a very obedient corgi.
PROGRAMMING AS COMMUNICATION, or CODING
“Ok, so now I know what programming is, but what’s coding? I’m here to learn how to code. Are they the same thing?”
While sometimes used interchangeably, programming and coding actually have different definitions. Programming is the mental process of creatively coming up with a way of giving instructions to any machine, not necessarily a computer. Coding is the process of transforming those ideas into a written language that a computer can understand.
Humans have been trying to figure out over the past century how to best communicate with computers through different programming languages. Programming has evolved from punch cards with rows of numbers to drag-and-drop interfaces, and everything in between. Code is the most familiar form of a programming language.
To this day, people are still developing programming languages, trying to improve our programming efficiency. Others are building new languages that improve accessibility to learning to code, like developing an Arabic programming language or improving access for the blind and visually impaired.
PROGRAMMING AS COLLABORATION
“The problem with programming is not that the computer isn’t logical—the computer is terribly logical, relentlessly literal-minded. Computers are supposed to be like brains, but in fact they are idiots, because they take everything you say at face value.”
Ellen Ullman, Life in Code
When we give instructions to a computer through code, we are, in our own way, communicating with the computer. But since computers are built differently than we are, we have to translate our instructions in a way that computers will understand.
Computers interpret instructions in a very literal manner, so we have to be very specific in how we program them. Think about instructing someone to walk. If you start by telling them, “Put your foot in front of yourself,” do they know what a foot is? Or what front means? (and now we understand why it’s taken so long to develop bipedal robots…). In coding, that could mean making sure that small things like punctuation and spelling are correct. Many tears have been shed over a missing semicolon (
But rather than think of this as a boss-employee relationship, it’s more helpful to think about our relationship with computers as a collaboration.
The computer is just one (particularly powerful) tool in a long list of tools that humans have used to extend and augment their ability.
As mentioned before, computers are very good at certain things and well, not so good at others. But here’s the good news: the things that computers are good at, humans suck at, and the things that computers suck at, humans are good at! Take a look at this handy table:
Just imagine what we can accomplish when we work together! We can make movies with incredible special effects, have continuous 24/7 factory production, and improve our cities and health.
The best computer programs are the ones that enable us to make things that we couldn’t do on our own, but leverage our creative capacities. We may be good at drawing, but a computer is great at doing the same task repeatedly — and quickly!
As programming becomes a larger part of our lives, it’s vital that everyone has an understanding of what programming is and how it can be used. Programming is important to our careers, but it also plays a key role in how we participate in politics, how we buy things, and how we stay in touch with one another.
Learning to code is an exciting journey. Whether your goal is to build a mobile app, search a database, or program a robot, coding is a skill that will take you far in life. Just remember — computers are your collaborators. While learning to program may initially be frustrating, if you choose to stick with it, together you’ll be able to make some brilliant things.