Ongoing Series Glossary

Term
A
Definition
Abstract class
3
A class that would never instantiate an object itself, but serves as good logical building point for other classes that do
instantiate themselves (concrete classes).  Abstract classes are indicated in italics in class outlines.
Base Classes  4 The base Smalltalk classes that you start a clean image with.  For example, Object, Boolean, Magnitude, Stream,
etc.  Though you can (and sometimes need to) do base class changes, it's generally not advised as it's very easy to mess
up the image or to break forwards compatibility. 
Category
0
A group of classes
Class
2
(def 1-simple)  You can think of a class as a blueprint object for making objects.
Class
0
A type of an object
Class method 
3
(def1 - simple) A method that a class implements (as opposed to an instance), usually to create a new object.  I
denote a class method by: >>aClassMethod
Concrete class
3
A class that would instantiate an object itself.
Encapsulation
2
The grouping of messages and data within something we call an object, such that other objects can't see the data and can only get access to it via messages.
File it in
2
The act of loading Smalltalk code into Squeak.
Horizontal market
0
A market that tends to have a very large audience and has a very small impact on that audience.  Shinkwrapped software addresses a horizontal market. For example, a word processing package - if it crashes, just reload your last saved snapshot.
IDE 1 Integrated Development Environment.   An environment that programmers use to develop code in that they can program and debug in.
Inspector
0
A GUI type of object that allows you to look at and work with objects.
Instance method
3
(def1 - simple) A method that an instance of an object implements (as opposed to it's class).  I denote an instance
method by: >anInstancemethod
Instance Variable
2
(def 1-simple)  The place where objects store their properties/characteristics
Instantiate
2
{In-stan-shee-ate} When we ask a class to make a new instance of an object, we say that we're instantiating that object.
Literateness
0
A simple definition of literateness is how readible/simple the syntax of a language is.  Literate programming is programming for readability for the programmer who comes after you.
LG
1
Linux Gazette
[LL] 1 relative Local Link, use this link when browsing these articles locally
Message
2
(def 1-simple)  A request you can ask of an object.
Method
2
(def 1-simple)  Determines how an object will respond to a message.  The method in which an object responds is determined by a method.
Method
0
A piece of Smalltalk code for an object.
Namespace 4 A namespace is much what it sounds like - a finite space that names can be defined and identified in.  For example,
if you're writing a program and you wanted to define a class called Object, you'd be out of luck as the class Object
already exists. If you were able to define a second class called Object, how would the computer know the difference
between the two?  In most Smalltalks there is a single namespace (VisualWorks Smalltalk is the notable exception). 
Namespace collision 4 When two companies/groups/people try to name thier classes with the same name, or define methods off of a class
with the same name.  To help avoid namespace collision not only within your own projects, but from other companies
like third party vendors, it's a common practice to prefix your classes with some acronym, for example, if you work for
MegaCorp you might prefix all your classes with 'Mc' 
Object (def 1-simple) 1 An object is anything you can think of that is a noun.  A window, a menu, an array, a GUI, a string, an integer, a person, a tree, etc.
Object
2
(def 2) an object is a grouping of messages and data that its messages can operate on.
Object
0
A grouping of related data and operations.  It exhibits behaviour through its operations on its data.
Object bloat
2
(def1 - simple) When an object does too many things and is 'spread too thin'.  A jack of all trades does everything pretty poorly.
OO 1 Object Oriented  Briefly, this is a popular style/methodology of programming that these articles are going to introduce.
Polymorphism
3
When two different objects interpret the same message differently by implementing two different methods.
Project (squeak) 1 A specific view of the code.  You can have multiple simultaneous views of the code.  This is very handy if you're doing two or three projects at once, and don't want to lose track of where you're are in them
Protocol
0
A group of methods.
Receiver
3
The receiver of a message send.  The object that receives a message send.  For example, if we say aPerson sing,
the receiver of the sing message is aPerson 
Refactor 4 To change/update/reorganize your code to make it (hopefully ;-) cleaner, faster, more robust.  Refactoring typically
moves around responsibilities and/or makes larger methods into smaller methods. 
Reflectiveness
0
How much of an environment can be manipulated within itself.  In Smalltalk, 98% of Smalltalk is written in Smalltalk, which makes it easy to customize, enhance, or tweak the environment.  (Squeak is the notable exception here, 100% of it is written in Smalltalk).
Responsibility
2
The things that an object can/should do.
[Squeak-only-suspected]  3 This tag is for any code that I a priori suspect is Squeak specific.  NOTE:  this will only indicate my suspicion - I
don't plan on spending time on testing it in different flavours, or searching for ways to accomplish the same task in a
different manner. 
Toy benchmark
2
A benchmark is a method of measuring the performance of something, and a toy benchmark is a trivial benchmark that doesn't give a good refection of performance as it's too simple or too narrow.
Transcript
0
The main window of the IDE, where other windows (browsers, workspaces, etc) are opened from.  Also keeps a running list of system messages.
TWDT
1
The Whole Damn Thing - a LG term I borrowed for an offline viewable form
Variable
2
(def 1-simple)  A holding reference for something, for example, a holding space for an object.  It gives you a handle to refer to that something that it is holding on to for you.
Wiki site 1 A series of web sites where there is no designated editor (for the most part, the odd page may have a password). If you see a way to improve the site, you can do so yourself! If you don't understand something, just edit the web page and type in your question!
Workspace
0
A scratchpad where developers can experiment with code.
Vertical market
0
A market that tends to have a very small audience and has a very large impact on that audience.  For example, a network management system for a telecommunications company - if it crashes the company loses a million dollars a minute.
A-the Article that the term was introduced in