A set of step or instructions about how to do something

An algorithm is not necessarily programming code although programming code blocks are generally sets of instructions for computers. You can, for example, write an algorithm for how to make a peanut butter sandwich in ordinary English or French.


An array is a variable that can hold a range of values.

Dim a(3) as array //an array with 3 members

a(0) = “Mary”
a(1) = “Betty”
a(2) = “Sam”


A data type. It can be “true” or “false”

Dim b as boolean

if b = true then
//do something
//do something else
end if


a group of properties, methods, and events that define an object

A PushButton is a subclass of a RectControl. The PushButton inherits all of the RectControls properties, methods, and events and also includes its own unique properties, methods, and events.


An interface object that users can interact with such a a PushButton, an EditField, a ListBox or a PopupMenu

Data Structure

Data organization such as in a table


Data Type

Data types include:
Strings, Booleans, Integers, Doubles, etc.



A character used to separate chunks (or fields) of data; as in a database.


objects are self-contained with their own properties, events, and methods; code telling an object how to respond to its events is within the object itself

A PushButton “knows” what to do when it is clicked because code in its Action event tells it what to do.


an activity to which an object can respond. You must add code to an object’s event handler to give it the ability to do something in response to an event

A PopupMenu can respond to events such as: Change, MouseDown, DropObject, etc.


method that returns a value to the code that called it. (This is the only difference between a subroutine and a function.)

This function converts theText passed to it into an integer:

Function StringToNumber(theText as string) as integer
 return val(theText)

To call this function you would use something like:
theNumber = StringToNumber(editfield1.text)


a property or method added to a module that is available to all objects in a project.

Properties and methods added to a window are directly available only to the window that contains them. Properties and methods added to a Module are directly available to all windows and their objects.


the generic term for a block of programming code such as a method, a subroutine, or a function.


subclasses inherit all of the properties, events, and methods of their super class.



A version of an object.

When you add a PushButton to a window that PushButton is an instance of the PushButton class. Each PushButton that you add to the window is a separate instance of the PushButton class.


when a block of code is used repetitively

For i = 0 to ListBox1.listcount -1
theTotal = theTotal + val(ListBox1.list(i))

Menu Handler

a block of code that responds to the user selecting a particular menu item.

The following could be used in a File-Close menu handler:

Function Action as Boolean


any subroutine or function. Besides entering methods into object events you can define your own.

The following could be in a PushButton’s Action event:

Sub Action()
End Sub


A container for a collection of code.

A Module can contain: methods, properties, and constants. You add modules to your project from the File menu.


Object Oriented Programming

See What’s An OOP?


a value passed to a method that is used by the method in some way

The parameter “theText” is being passed to the function:

Function StringToNumber(theText as string) as integer
     return val(theText)
End Function


Breaking down code or text in order to process it.

To process a tab delimited string you need to “parse” it in order to get the chunks of the string that are separated by tab characters.


a characteristic of an object such as height, width, color, etc.

PushButton1.caption = “Cancel”


when a block of code calls itself

See the example method called “CopyFileOrFolder” in the FolderItem Class section of the Xojo Language Reference


The “lifetime” or range of a variable or method

A property that is “dimmed” in a particular method only exists (has scope) as long as the code of that method is running. However, if you put a property or method in a module it will have global scope. This means it exists as long as the program is running.

Subroutine (Sub)

a block of programming code.

The following could be in a PushButton’s Action event:

Sub Action()
PopupMenu1.ListIndex = 0


A data container.

Variables are always one of a variety of data types.

dim s as string //”s” is a variable of type “string”