Programming is an interesting topic. There are so many different languages, frameworks and other tools that can be used to program. The world of programming is vast and daunting. With new languages and concepts being invented everyday, it can be hard to keep up with the latest trends in this ever-changing landscape. As a result, many programmers turn to online communities such as StackOverflow or Reddit for help when they encounter a problem that’s outside their skill set.
If you’re an aspiring programmer or designer who wants to know more about some of the most common programming terms used in the field, then read on!
Glossary of Programming Terms
35+ Common Programming Terms
- Algorithm – A set of well-defined instructions to carry out a task, especially in mathematics.
- Program – A specific piece of software designed to do certain tasks.
- API – Application Programming Interface; a library/collection of pre-written code that can be used by other programs, typically shared with the aim of making writing various kinds of software easier. APIs are built to be used by other computer programs, not by humans. Programs have been created so that you can communicate with them via the API. For example, an API will include things like how to get input from a user or what commands you would send in order to change something about your program. APIs are often listed on software download pages under ‘documentation’ or ‘header files.’
- Argument – A value provided to a function/method call when it’s invoked. This will determine the behavior of the function/method. In programming languages where arguments are passed by reference, changes made to argument values inside the function/method may affect the original value. However, such behavior is not clearly specified (or intended) in many other programming languages.
- ASCII – A coding system allowing representations of text or characters; can be used to represent any symbol that has a unique character code (i.e., 0 for NULL, 1 for START OF HEADING).
- Boolean – An argument taking an input of TRUE or FALSE; often found in conditionals and loops. Can also mean the data type representing such an argument. For example, an API may use boolean values to determine what options were selected by the user/programmer (e.g., whether they want their program to print debugging information when it runs).
- Char – A single letter or other written symbol, typically presented as 2 bytes/16 bits in memory (in which case each byte is represented in hexadecimal with the letters A-F).
- Objects – Collections of programming code that act as an individual object/unit within a program. For example, this could be something like an image processing unit that takes in input, modifies it somehow, then outputs the modified image. Or it could be simply something like a label taking in text input which you want to display on screen. This is known as ‘OOP’ or Object-Oriented Programming.
- Class – A description of what types of things will exist within your program; used in OOP. For example, you might have a class called ‘shape,’ which will contain all shapes found in your program (circle, triangle, square). A class is basically like a blueprint for objects – it defines the contents of an object, but not its behavior.
- Code – Programming statements; used in contrast to data (which includes things like numbers and texts which aren’t executable by themselves).
- Command-line interface – A type of user interface through which users can type commands and get information about their computer (or other connected devices) in return. Also known as a terminal or console. Computer people may sometimes say “shell” when referring to the command line because shells provide an environment where these commands are executed.
- Compilation – Converting something like C++ or Java code into machine-readable object files, which can then be linked together (binding them all to work in unison) by the linker. Some languages are not compiled but executed directly, instead they are interpreted. For example, Lua is an interpreted language while C compiles before execution.
- Conditionals – Statements that determine what your program will do based on some kind of logical test (e.g., if I press THIS button THEN carry out THIS action).
- Constants – Values which remain mostly the same throughout the duration of a running program; usually unchangeable/immutable. Constants may still vary according to external factors such as user input or environmental conditions though.
- Data types – An amount of information that can be stored in memory. For example, integers (positive or negative whole numbers), floating point numbers (decimal values), and characters/text files are all data types. While classes (blueprints) refer to what an object will look like in terms of attributes (size, color, type).
- Array – A collection of related variables placed in contiguous memory; easier for access than separately defined variables. This doesn’t necessarily make it any faster though; in fact sometimes it’s slower because accessing unrelated elements in different places may require cache misses. It’s also possible to make arrays completely un-contiguous by splitting them up over multiple pages.
- Declaration – Specifying the name and data type of a variable within your program.
- Exception – Sometimes referred to as an error or fault; some kind of discrepancy between what your program is actually doing (the statement) and what it’s supposed to be doing (the expected outcomes). For example, if you were writing a program for processing files and tried to open one that doesn’t exist, then that would be throwing an exception.
- Expression – A combination of variables/constants with operators that evaluates into a single value (e.g., 10 + 5 / 2 * 3 ). Expressions are very common in programming because they’re the raw materials used by almost all high-level languages.
- Framework – A collection of subroutines which can be used together to simplify how you write code; essentially its own little programming language in which you have to do less work in order to complete tasks. For example, Qt is a framework for desktop applications.
- Front-end – A designation referring to the upper part of something (as opposed to its back-end). Often used in reference to computers, where it might refer to the screen that’s being displayed or the part of an application that users are interacting with directly.
- High-level language – Programming languages which focus on giving human-readable commands that are easily understandable by people rather than machines. Low-level languages are more direct and suited towards very specific types of machine operations; they’re harder for people to use even though they require less work from computer processors.
- Machine language – The lowest level language available to a computer processor, which consist entirely of numbers and binary code (e.g., 01100001 ).
- Markup language – A programming style which uses special markup symbols or tags in order to adjust how text is displayed when it’s being rendered by a program. For example, HTML is a markup language because different kinds of text have unique highlight factors such as bold, italic, and underlined. This kind of tagging system enables the creation of web pages that can be shared with other browsers/computers; if there were no means to distinguish between regular text and highlighted text then everything would come out looking the same! Programmers often use markup languages for their source data instead of writing within a regular programming environment like they would do normally.
- Null – A data type which represents no value as opposed to an actual value such as a number or character.
- Operand – A sequence of symbols that represent some kind of data; the first operand is often used for one purpose and the second is sometimes used for another (depending on what kind of program you’re writing). For example, if you had two numbers then they would be your operands and your expression would consist of + and / operators.
- Operator – A symbol representing a specific operation; different ones will result in different actions being taken by your code (e.g., addition, subtraction, multiplication, division).
- Hardcode – To make something fixed (e.g., the text “This is my name” instead of letting it render as whatever would come out if you typed it in).
- Loop – To execute a sequence of code over and over again until some condition has been met; this technique can be used to save time since you don’t always have to write each command individually.
- Iteration – Name for the act of repeating something until it’s finished; often used in reference to loops (e.g., “The iterator goes round and round…”).
- Statement – A line or series of lines that represents some kind of code with an implicit purpose (such as printing a message on screen, adding two numbers together, etc.). Statements can be nested inside other statements which essentially enables you to build your own little programming language using only a handful of components.
- Variable – A named storage slot where you can put information that you want to pull back out later; variables give you the ability to write less data/code because you don’t have do as much each time you need the same thing again. The name of a variable generally has to have the first letter capitalized and it cannot be a reserved word (e.g., you can’t use int , for , or while as your variable names because they represent specific things in programming).
- Pointer – A type of memory location that stores the address where something will be stored; this works by pointing to an existing data object rather than creating a new one, which enables your computer’s resources to be used more efficiently (i.e., why you don’t want to make any more variables than you need to).
- Package – Refers to anything that’s bundled together or wrapped up into one file/type; this would include different files, libraries, and programs all bundled into a single package/distribution.
- Runtime – A phase in the life cycle of some software where it’s executed by a computer/programmer; if you can’t go back and change your source code after you’ve written it then the process is at runtime instead of being compiled .
- Source data – Data coming a program before it’s been manipulated in any way; this is the raw input that’s going to be used for a program.
- Syntax – The arrangement of words, numbers, symbols, etc., according to specific rules (e.g., which parts go where and how they’re ordered).
- Token – A series of characters combined together to represent something different from its components ; often used in conjunction with operators/operands .