Programming Terms, Demystified

Paul Chor
Jumpstart Coding
Published in
6 min readJul 29, 2018
Photo by Romain Vignes on Unsplash

One of the many hurdles that most people learning programming will face is all the jargon and techno-babble that they will come across. When teaching programming, I have to discipline myself to use layman terms over jargon when possible, and to convey their meaning clearly.

Here are my experiences distilled in this article; I hope it will be of help to those who are learning programming!

CODE, PROGRAM, SCRIPT, APPLICATION, EXECUTABLE

One line of code is essentially an instruction to the computer. A program is essentially many lines of code that gets the computer perform various tasks. A fancy name for program is application. Loosely defined, the term executable refers to a program that can be ran without the user seeing the code at all.

Sometimes you might see the term script; for all intent and purpose, it is a program. The differences between a script and program varies, depending on who you ask. However, scripts are often used to describe programs which modifies how other programs work. For instance, a GUI script for World of Warcraft will change how the in-game interface will work.

RUN, EXECUTE, DEBUG, BUILD

To run a program means to tell the computer to load the code into the memory and follow the instructions as dictated by the code. You may also see the term “to execute a program” — it means the same thing as “run a program”.

To debug a program means to figure out what’s wrong with it. A bug refers to anything that is causing a program to run improperly.

A build refers to different versions of the same program. A runtime build is meant for mass market consumption. By contrast, a debug build is meant for the programmer to find bugs, and is usually slower because it has additional features to help track them down. As such, a debug build runs slower (is less responsive) than a runtime build.

SYNTAX, COMMAND, STATEMENT, CONSTRUCT

The syntax of a programming language refers to its grammar, pretty much like how English and other real life languages have rules for putting different words together. A command, sometimes known as reserved keywords, instruct the computer to do specific tasks.

A statement instructs the computer to do something. For some programming languages, note that a line of code can have more than one statement

A construct refers to various programming patterns expressed in terms of syntax and statement — it’s like tenses in English (perfect present tense, past perfect tense etc.). Some of the more common constructs that beginners will come across are if…then, while…do, for…next.

VARIABLE, DATA, DATABASE, FILE FORMAT, FILES

Data refers to information stored in the computer, which are kept in a certain format in a way that a computer can understand (also known as a data format). Those data can also be kept in a file on your hard drive, according to certain file formats. Example of file formats are XML, JSON and INI. A file format are rules that describe how data is stored.

When a program wants to get data from files, it’s called reading a file. When a program wants to put data into a file, it is called writing into a file.

When you store data inside a program temporarily in the computer’s RAM, it is known as a variable.

Data can also be stored a database. The differences between files and databases are essentially that databases utilizes mathematical principles and other tricks to help to locate data faster. To read data from a database is usually called a query. To add new data is insert, and to change existing data is update (note: those terms are not universal)

Famous databases include: MySQL, MongoDB, Oracle

INPUT, OUTPUT, GIGO, VALIDATION, USER INTERFACE

Input is the act of asking the user of a program to enter some data. To output is show data back to the user, usually after the it has undergone some processing. The GIGO acronym stands for garbage in, garbage out, meaning that if you give a program garbage data, it will give you garbage results.

Validation is the act of ensuring that the user gives proper data that the computer can understand. It also filter out invalid data (like entering the date 30th February)

The whole process where the user can do input and see the program’s output is known as the user interface. There are two common types of user interface. The first is the graphical user interface (commonly GUI), which uses icons, windows, textbox and other visuals to ask for input and to show you the output — Windows and MacOS are the two classic examples.

The other kind of interface is the command line interface (or abbreviated as CLI). If you see a Hollywood movie hacking scene where the hacker types frantically on a keyboard where there is nothing but text, that’s a CLI.

LOGIC, BUSINESS LOGIC ETC.

Logic in a program usually refers to the calculation and processing of data. If you have a BMI Calculator, the BMI formula is the logic.

In some cases, logic is divided into application logic and business logic. Application logic is how input and output are done, how are data stored, the workings of the user interface and so on. The business logic are the formulas, the business regulations and processes.

SYNTAX ERRORS, LOGIC ERRORS

If you don’t follow the language’s grammar, you will get a syntax error It is essentially the computer not recognizing what you have typed, either due to a typo or you using a construct wrongly. Unlike a human being, a computer cannot infer what you have typed depending context, so every line of code you give to the computer must be free from syntax errors.

Logic errors are mistakes within the code that implements the formulas or business rules of your program.

Computers can detect syntax errors easily; however logic errors will require human testing to catch.

EXECUTION, CODE FLOW, BRANCHING

As mentioned, to execute code meant to follow the instructions in the program. Instructions are always followed line by line, starting from line 1 all the way to the end. This is known as the code flow or execution path.

However, it is possible for code flow to branch, by using various constructs (see above). A program’s code flow can retrace to an earlier line of instruction, or jump to different lines due to a condition. This concept is also known as branching.

FUNCTIONS, SUBROUTINE, METHODS, PARAMETERS, ARGUMENTS, RETURN
A function allows code to branch; what makes it different from other branching methods is that it is intended as a reusable. Sometimes, a function is also known as a sub-routine (though that’s rare now). If you are using a language that does Object Oriented Programming, a function is also sometimes called a method.

To execute a function means to pass data to it and follow the instructions inside it. This is also known as calling a function or invoking a function.

Like its real world counterpart in Mathematics, a function can take in parameters (sometimes called arguments), which are pieces of data passed to it. After the function has finished processing those data, it can return data to whoever called it.

CLASSES, OBJECTS, OBJECT ORIENTED PROGRAMMING

A class is a generic description of a concept or entity. Imagine it to be like blueprint or a template. An object is a class given form. For example, the blueprint of a car is like a class, and the actual cars that are built according to that blueprint are the objects. Objects are also described as instances of a class.

Object oriented programming is to essentially use code to describe classes and their relationships with one another.

BACKEND, FRONTEND

Backend usually refers to all the processing and computing tasks that happen in the background that you does not see. Frontend refers to all the graphical user interface and user experience features, such as pop-up windows, drop-down select, text boxes and animations.

SERVER SIDE, CLIENT SIDE

A server refers to a centralized computer (or in some cases, many centralized computers) that stores and process data. A client is one that connects to a server to send data over and to get the processed data back.

Programming as a discipline is fraught with terms that sound like technobabble; with these explanations I hope your journey in learning programming will be smoother. Feel free to leave questions or clarifications in the comments.

THE END?

As you embark on learning programming, you will come across more jargons and terms, so what we have gone through is not be-all and end-all. Don’t worry, with experience (and a good deal of time on Google), the meanings of those terms will be laid bare to you!

I conduct programming coaching and lessons in Singapore. To find out what I do, go to my page at Jumpstart Coding.

--

--

Paul Chor
Jumpstart Coding

Programming Coach/Tutor and freelance project consultant