Last Updated: February 4, 2023
What is programming?
What is programming, anyway?
There are a lot of ways to describe programming. I'm sure if you asked 100 programmers you would get about 100 different answers. The best description I can come up with is:
"programming is the process of telling the computer to do something for you.”
That something could be math:
...or show me my bank account:
...or asking Alexa to turn the lights off:
The problem is that we can't tell computers to do anything in English (even though you do with Alexa, but I'll explain that later). Computers don't understand English. So in order for us to talk to them we need to speak their language. This is where programming languages come from. Here are some of them:
.NET, ActionScript, APL, AppleScript, Assembly language, Bash, BASIC, C, C++, C# – ISO/IEC 23270, C Shell (csh), Clojure, COBOL, CobolScript, CoffeeScript, ColdFusion, Common Lisp (also known as CL), COMPASS, Curl, Curry, Cyclone, Dart, Darwin, ECMAScript, Elixir, Elm, Euphoria, F#, Fjölnir, Flex, F-Script, Go, Go!, Google Apps Script, Groovy, Haxe, High Level Assembly, IBM Basic assembly language, JADE, Java, JavaScript, JScript .NET, Jython, Lava, Legoscript, Lingo, LISA, Lisp, Mathematica, MATLAB, MaxScript internal language 3D Studio Max, Maya (MEL) MDL, Objective-C, OpenCL, Pascal, Perl, PHP, Pig (programming tool), Pizza, Plankalkül, PostScript, Python, Ruby, Rust, Scala, Script.NET, Singularity, Snap!, Snowball, SQL, Squeak, Squirrel, Swift (Apple programming language), Swift, TypeScript, Unicon, UnrealScript, Visual Basic .NET, WebQL, Whiley, and sooooo many more...
These are all languages computers understand so if you learn one (hopefully a good one, and I'll help you pick) you would be able to teach your computer new things and ask it to do things for you that your friends probably would not.
For example: say you need to wake you up in the morning at exactly 8 o'clock. You can write a program to do that for you like The Alarm Clock App or you can ask your friend, Joe.
There are two big differences between programming your computer and asking Joe.
Human error
First, the computer will always do exactly what you say without any mistakes. Joe might fall asleep, or forget, or he could be mad and you and decide to make you miss your meeting. Chances of Joe messing up is infinitely higher than the computer.
Explicitness
Second, the computer will do exactly what you say, meaning you're going to have to tell it exactly what you want. Tt can't think for itself. You can say to Joe "Hey, wake me up at 8". He’ll just assume you mean 8 in the morning. But to a computer you have to say wake me up at 8am. So you have to be explicit with the computer.
And that's why programming can be a little difficult in the beginning. You have to learn the intricacies of programming languages in order to be able to write programs that do useful things. But once you do it will listen every single time and you can share that program with the world and make a ton of cash. So hopefully that tells you a little bit about what programming is. Next we're going to talk about different types of programming. See you there.