As I learn more about programming I intend to keep track of all the terms and write down their definitions here, including any plain-English definitions and examples that I come up with. As I’m still learning, this page is very much a work-in-progress and I can’t guarantee these terms and defined correctly.
This page is where I will keep my up-to-date definitions. The definitions I use at the bottom of my blog posts will be definitions I use at the time of writing. If I find they are incorrect, or need tweaking, I’ll update the definitions on this page, and not on the blog. Although I’m loath to describe programming terms with other programming terms, sometimes it’s just not possible so any words marked in bold are referred to elsewhere on the page and have links to the relevant section.
As there are a lot of terms – and some aren’t really programming related – I’ve sorted them into two categories, and they’re all listed alphabetically. It might be best to use the “find” feature of your browser to look for specific words – that’s how I’ll be doing it ;-).
Application Programming Interface (API) – An API provides a means for one computer to talk to another in a way they will understand. It allows a script or another program to interact with it by providing instructions and tools. I’ve mostly seen this used for websites where you can use plugins for a CMS, or output data into a JSON file, or in computer games where you write modifications or mods.
Array – A type of variable that can store multiple pieces of information and sort these pieces in a specified manner. Particular entries can be retrieved from the array, or the whole array can be modified using a method.
Assignment – A statement of the form
variable = expression. It evaluates the expression and stores its value in the variable. The variable is created if it doesn’t exist. Each assignment is written on its own line.
Assignment operator – Whichever operator is used to signal an assignment. In C# and Python this is the = sign.
Attribute – Something that defines a particular property of an object and usually consists of a name and a value. Sometimes this is referred to as metadata. Using this blog as an example, you could have category as the name, and either coding, personal, web design etc. as the value.
Bitwise operators – A type of operator that can group input values together. For example, you have the attributes
dog: if a person likes cats you’d mark that as
yes, and if they did not you’d mark this as
no, and the same goes for dogs. You can therefore use (using pseudo code for this example)
cat = yes AND dog = yes, or perhaps
cat = yes OR dog = yes. For the first example you’d be specifying records that matched people who like cats and also like dogs, but not people who only like cats or only like dogs – they must like both pets. For the second you’d be specifying records where people like cats or people like dogs, which includes people who like both cats and dogs, as well as people who only like cats, or people who only like dogs.
Boolean – A data type that has one of two possible values:
CamelCase – A naming style in which names made of various words have each word capitalized. This is named after the way the capitalised letters resemble the humps of a camel. Upper camel case has the first letter capitalised as well as all following words: CamelCaseExample. Lower camel case does not have the first letter capitalised: camelCaseExample.
Comment – A way of annotating code. While comments are visible to you, the computer will skip over them when running the code. This means you can explain what different parts of your code do, without worrying that the computer will try to do something with the comments you’ve made.
Comparison operators – A type of operator which compares two input values, called operands. Expressions using this type of operator always return one of two values: true or false. For example, is the number 2, the same as the number 3? This would return false. But if you were to ask if the number 2 is less than the number 3, this would return true.
Compile – Turning your instructions into an executable. To compile is to translate what you’re writing into something the computer can read.
Conditional Statement – Where the computer performs a task when one or more conditions are met. An ‘if else’ is a conditional statement e.g. if condition, then statement, else if condition; then statement; else condition, then statement. You don’t have to use the else if parts, you could just use if alone. To give a real life example for making tea: if you want tea: make tea; if you want sugar: add sugar; if you want milk: add milk; else don’t make tea. If you added an else if to this, you’d only have milk or sugar if you did not make tea, which is a bit odd! These are also referred to as conditional expressions or conditional constructs.
Constant – A value that is not supposed to change and therefore cannot be modified by the program itself. Pi never changes, for example, so this should be set as a constant if used in your code. The program may access and use the constant but the constant itself cannot (or rather should not usually) be updated or changed. These values are said to be hard-coded and can only be adjusted by rewriting the code.
Class – In object-oriented programming, a class is a template for an object. If you had a class of dog it would contain everything that a dog has, but would never actually be a dog. Instead you’d instance the class to make an object of dog.
Dataframe- A term used specifically for the pandas module in Jupyter. It is a two-dimensional table of any size, with labelled columns and rows.
Data type – This is how you tell the computer what type of information you are storing in a variable. There are many types of data type and some can vary in size – how much space the computer allocates in its memory. If you know that the number you will be storing is never going to be bigger than 9, and never smaller than 0, you would want to use the smallest data type you could for that particular variable (in this case, a byte).
Declaration – You are telling the computer what contents you are placing in a variable. For example, you are declaring the variable or identifier radius, and assigning to contain the number or literal 59. In C# you would say
int radius = 59; and in Python this would be
radius = 59.
Dot notation – The use of a full stop to determine the use of a method on an object. Code Academy has a good explanation of this in terms of Python.
Editor – A program that you enter your source code into. For web development I usually use Notepad++ because I preview the code online. If I’m programming in a language that needs compiling I’d need to use something else like Sharp Develop (it came with the C# book I was using) or Visual Studio.
Encapsulation – The “breaking code into chunks” part of object-oriented programming. You take a set of instructions that are related to one particular thing, and group them all together in one function. In theory, it means that the user of your program can do what they want without having to worry about how the chunk of code works – just that it does.
Encoding – Turning a source into code for storage or communication in places where ordinary plain language, spoken or written, is difficult or impossible. For a non-computing example: turning letters into Morse code or semaphore. In computing terms, encoding is usually for storage of non-standard characters such as à, æ or ç.
Evaluation strategy –
Executable – A program that gives a computer a specific set of instructions and gets the computer to perform those tasks. Executing a program starts it. You start an executable file in Windows by double clicking on it. Executable files give instructions in a language a computer understands and doesn’t need to be translated or parsed into a readable format.
Expression – A fragment of code that can be evaluated i.e. produces a value. Printing the contents of a variable and calling a function are also considered expressions. You evaluate an expression to get its value. You can assign the value of an expression to a variable. It can also be described as a snippet of code that is made up of keywords. So
PI = 3.14159 is an expression. As is
PI * radius * radius.
Extensible Markup Language (XML) – A type of programming language that is used to produce documentation that is readable by people and computers. You can read more about it on Wikipedia.
File not found error – When importing from a file, should the file be misnamed or not yet created, the program will report that it cannot be found and will be unable to perform whatever task you have asked of it.
Function – A function is a piece of code that takes zero or more values (the function’s arguments) and returns a result. You “call” a function to get its value. A function performs a specific set of related tasks within your program. So, you could have a function that deals with everything to do with making toast within a program that makes your breakfast. This is used interchangeably with the term method, but there are differences between the two. In object-oriented programming, a function is not reliant on an object as methods are.
Hard-coded – Something (data or parameters) that is written in code that cannot be changed without modifying the program itself. When this term is used, it is often in reference to something that in hindsight, a developer wishes to be able to generate either through user input or the program itself.
Identifier – A term that labels the identity of a unique object or a unique class of objects. My name is Michelle-Louise, but lots of people may share that name so, if you want to uniquely identify me, you might assign me another identifier such as a National Insurance number or, if I were American, a Social Security number.
Index – A series of shortcuts that refer to large volumes data. Each record is given a unique number, usually starting at 0 (so if you wanted the third row of an indexed table, you’d ask for the record stored as 2, rather than 3, as 2 is the third indexed entry – 0, 1, 2). Indexing is often used to speed up searches.
Inheritance – When an object or a class is based on another object or class. I like to explain this by an example. Think of dogs. All dogs have fur, legs, tails, eyes etc. But you also have different breeds of dog, with all of the previously listed things but slight changes such as some having long fur, and others short, for example. So, if you have a class called
dog, the class called
jack_russell_terrier would inherit the properties of
dog, but would have extra features that are only related to the breed jack russell terrier and not to dogs as a whole.
Instance – When you instance a class you are making a copy of that class and filling in the template that the class provides. This instance becomes an object. Instances are made using constructors and removed using destructors.
Intermediate language – A programming language that needs a compiler to turn it into something a computer can understand and act upon.
Join – A term used for merging separate tables of data based on a common column without duplicating that column.
Literal – Values that are what they say they are. This is a bit odd to explain. The book says they are hard-coded values – when you specifically state something. So, for example, you would state that
PI is 3.14. It will never change, this is the accepted value of PI. Text is literal too. It will never mean anything else.
Metadata – In simple terms this is data about data. Metadata attempts to describe what the data it is attached to contains and under what context it is stored. It is used to aid in the discovery of data (so, it is used by a search function to narrow down results, for example) or to organise that data.
Method – A special type of function that can only be called in a specific context. It can only be called from an object – as it is defined in the class of that object – whereas a function can be called from anywhere. Note that methods are an object-oriented concept and so for some languages, the term method means the same as the term function and vice versa.
Method Chaining – Applying multiple methods at the same time – this allows you to run them as a single statement without storing any variables that would be generated until all methods have run. Method chaining only works if the methods involved return the same type of value, in the same way that you can chain in maths: 3+4-5 – each part one takes two numbers and returns a number that is used by the next section of the chain This is an object-oriented programming term.
Module – A package of various pieces of code that add extra functionality to a product. Modules are loosely related to the original product, in that they can connect to, interact with, and share resources with it. A modular piece of software uses modules. Modularity is explained in more detail on Wikipedia.
Name error – When the computer doesn’t know of any variable with that name. Usually when you’ve misspelled a variable (even if the letters are correct – the capitalisation must be exact too), or haven’t declared it (stated what you’re going to put in it).
Null values – Entries that do not have a value. These could be entries that are not a number (NaN) or are not applicable (N/A).
Object-oriented programming (OOP) – This is, at a *very* basic level, the idea of splitting your code up into chunks and having these chunks interact with one another. One of the benefits of this is that it makes changing the chunks easier to do without them affecting the rest of the program.
Object – In Object-oriented programming, an object is a particular instance of a class. Otherwise it is a reference to a location in a computer’s memory that has a value and an identifier.
Operator – A type of action or procedure which produces a new value from zero or more input values, called “operands”.
Parameter – A special kind of variable, used to refer to one of the pieces of data provided as input. For example, you have a piece of code that makes toast, it might have parameters that take people’s choice of colour = dark/light, butter = yes/no, jam = strawberry/raspberry/none. These pieces of data are called arguments.
Plain text – A type of file format that stores information and data without any formatting (bold, italic etc.) or special characters. This often makes data contained in the file easier to import into other programs as special characters can often cause problems if they are not supported in the program you are importing the data to.
Polymorphism – This refers to your program being able to adapt to the situation it’s in. Basically you write your code to allow multiple ways of doing things, but all those things still produce the answer. A simple maths explanation is that there are a few ways to get the number 10.
- 2 x 5 = 10
- 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10
- 1 x 10 = 10
- 5 + 5 = 10
Polymorphism is the idea that your class would be able to cope with that without the user noticing.
Pseudo code – A method for writing code but without reference to any particular language. It cannot be read by a computer, but is easily read by people who are familiar with programming. It is meant as a tool for explaining your thought process in an easy to read way that doesn’t require the reader to know a particular programming language.
Python – A programming language.
Reserved word – See keyword.
Reuse – Reuse is the idea that once you’ve written a class, tested it and know it works, that you can use this in another program without having to test it. You only have to check that you are using it in the correct manner.
Routine – A portion of code that performs a specific task.
Source code – Your written instructions that tell the computer what to do. These instructions need a lot of translating for your computer to actually know what you’re typing about, but you don’t have to worry about that – the compiler will do that part for you.
Like telling a translator how to make a cup of tea, and then them relaying those instructions to someone else in another language. You writing the source code is the instructions to the translator, and the these terms are then turned into something your computer can understand.
Statement – A command for the computer to do something. This command does not produce a value like an expression does. A statement is like a sentence. So
Area = PI * radius * radius; would be a statement.
Summary operator – A type of operator which summarises the input values. Expressions using this type of operator always returns one value, usually a total or an average.
Syntax error – When the computer doesn’t understand the line of code. This can be caused by adding a comma or brace in the wrong place, for example.
True executable – A program that tells the computer what to do in its own language. C# doesn’t do this, however, it uses .NET CLR to translate your instructions into the computer’s language. This is called an Intermediate Language (IL).
Variable – A named storage area for values that can vary. Think of a variable like a box containing various things. These things can change but the boxes label (the variable’s name and data type) will always say what is inside.
White space – When you press the space bar on your keyboard, this character is printed. It is also used to refer to the use of the tab key or the space bar key to add spacing so that text on a page can be read more easily for example, when wanting to give the impression of table.
Terms that are either relevant to programming but in another field e.g. mathematics, or are relevant to technology in general rather than programming.
Additive – In simple terms: add or subtract.
Content Management System (CMS) – A program that allows you to organise, publish, delete, edit and modify content from a central interface. WordPress is a CMS.
Combining data – Using multiple data sets to improve the accuracy of your results, or to expand the number of things you can compare. Aggregating data requires the data sets to have a single point in common, for example a date range. Also known as aggregating data.
Comma-separated values (CSV) – A plain text method of storing data in a tabular way. Cells, as the name suggests, are separated by commas, and a new row is signified by a line break. The first row in a CSV file can be the names of the columns but this is not necessary to include. Although a comma is usually used, actually any character can be used to separate values, including spaces and tabs etc., hence CSV can also stand for ‘character-separated values’.
Correlation – The technique used to show if and how strongly variables are related. For example, taller people tend to be heavier than shorter people, but there are always going to be exceptions to this for very over-weight people.
Database – An organized collection of data stored in tables. These tables have a certain layout, or schema, telling you what the names of the table headings are and what types of content they store. You can then run queries on the data stored in the database and produce reports on it.
Dirty data – A data set that contains values that are incorrect. For example, a user has entered their date of birth incorrectly as 1902 instead of 2002. Such values skew the data set and make any analysis invalid.
Data cleaning/cleansing – The removal of invalid values from dirty data sets. This can be a manual process or a variety of automated processes depending on the type of invalid data.
Equality – In simple terms: equals or doesn’t equal.
Exclusive Or (XOR) – Can be only one value. One, or the other, but not both.
Gross Domestic Product (GDP) – The size a country’s economy calculated by working out how much it produces including taxes, minus subsidies.
Multiplicative – In simple terms: multiply or divide.
Spearman rank correlation coefficient – Using a rank to describe the relationship between data that has been sorted from smallest to largest, and a number known as a p-value to determine if this is a significant relationship. Data that increases whilst related data also increases is ranked as a positive number; data that shrinks while the other related data grows is ranked as a negative number; and data that has no relationship at all is ranked as 0. P-values below 0.05 are considered significant and so anything given these values can be said to have a strong relationship.
Spreadsheet – A program allowing you to organize data in tables, graphs or individual cells. Any value can be adjusted or have calculations performed on it.
Transforming data – The process of taking data that is in the incorrect unit and making it the same as the rest of your data. When aggregating data, some records may have different units of measurement even though they represent the same thing. For example, temperature measured in both Celsius and Fahrenheit.