bstract class A class that cannot be instantiated because it has one or more pure virtual functions.
access method A method that encapsulates data members.
ActiveX Documents Documents that can be viewed in an application, such as Microsoft Internet Explorer, even though they were written by another application, such as Microsoft Word.
AIFF (Audio Interchange File Format) Developed by Apple Computer for storing high-quality sampled sound.
allocate To grant a resource, such as memory, to a requesting program.
ANSI (American National Standards Institute) A major U.S. standards-setting organization.
API (Application Program Interface) A specification for functions, routines, and data available from a library or program shared or integrated with another program.
applet A small Java program, designed to run in connection with a Web browser such as Netscape Navigator.
applications Software designed and written to solve a problem or create a Web-based environment through dynamic page generation or system tasks.
associative class A container class in which the position of each instance depends upon the contents of the instance. See container class. Contrast with sequence container.
asynchronous Used to describe the multitude of individual events that occurs simultaneously and without relation to other events except within a larger closed system.
back end The system-level support that is unseen by the client user but that provides the Web server, database, and external services to help create the interfaces available to the client user.
browser A software application that allows a user to look up information on the Internet, primarily on the World Wide Web.
buffer A temporary storage area for information, usually for a short period, which holds that information in the order in which the information is received.
cache To store a copy of something, usually for fast local access; also, the storage space used for caching.
callback function A function that is passed (by reference) to another function. The other function calls the callback function under defined conditions (for example, upon completion).
CCITT The international standards-setting organization for telephone and data communications.
Certification Hierarchy In security administration, a system by which two people who do not know each other can exchange public keys and still have confidence that they have the other person's correct key.
CGI (Common Gateway Interface) A mechanism that allows Web users to access non-Web programs.
CGM (Computer Graphics Metafile) A file format that accommodates both vector and raster images in a single file.
class variables Variables that are associated with the class as a whole, rather than any specific instance of the class.
client pull Technology developed for the Web environment that allows a page to reload automatically when the client requests new pages. The client software must be capable of recognizing the special tags, which are added to HTML for this purpose.
CMM (Capability Maturity Model) A multiple-layer description of software engineering process maturity developed at the Software Engineering Institute.
code signing A mechanism used in Microsoft's ActiveX control to assure users that the software they are downloading has not been contaminated with a virus. When the control is downloaded the user can check the electronic signature to verify the software vendor and to confirm that the downloaded copy has not been altered since it was signed.
component architecture A software model in which small special-purpose components are installed in a more general framework to build an application.
compound document A document that contains components built by more than one application. See also document-centric computing.
concrete class A class with no pure virtual functions, so it may be instantiated.
constructor In object-oriented programming, the class method that brings a new instance of the class into existence. Many classes have more than one constructor, for different purposes. See copy constructor and default constructor.
container class A class, such as a vector or set, that holds instances of other classes.
copy constructor In C++, a constructor that takes an instance of the class as its parameter and sets the data members to match the value of that instance.
daemon A program that is left running in the background, waiting for a particular set of circumstances (such as a request) to trigger it into action.
database A system of applications and data that stores information (retrievable by way of a query interface) in a persistent, stable, and organized fashion.
DBMS (Database Management System) A mechanism for storing data in files and accessing it with a high-level language. Also see SQL and RDBMS.
deadlock In operating systems, a situation in which two or more processes are blocked while waiting for resources that the other controls so that none of the affected processes can continue to execute. Also known as the "deadly embrace."
deallocate To release control of memory that was previously allocated.
default constructor In C++, the class constructor that takes no parameters and, consequently, sets all data members to their default values.
developers license In ActiveX, a license that allows the user to make new, runnable copies. Contrast with runtime license.
Distributed LiveConnect Netscape's plan for communicating between applications, using Object Request Brokers, or ORBs.
dither To display a color (on a computer screen or printer) that is not actually available in the system color table. Many systems dither by displaying a pattern of pixels that are close to the desired color, tricking the eye into seeing a color which is not actually present.
DNS (Domain Name System) A system that translates between human-readable domain names and machine-usable IP addresses.
document-centric computing A style of software design in which the application becomes less visible and the user is only aware that he or she is interacting with the document by using a set of tools. See also compound document.
document objects An older term for ActiveX documents. See ActiveX Documents.
document root The directory in the Web server's file system that is the beginning of the file tree of documents available from the Web server. In the URL http://some.where.com/, for example, the trailing slash (/) signifies the document root.
Document Type Definition (DTD) Formal descriptions of a language, typically written in SGML. Used with the HTML <DOCTYPE> tag to tell validators and other software which version of HTML is used in the document. Often abbreviated DTD.
DTD See Document Type Definition.
dynamically generated Made at runtime by the invocation of scripts or programs that are ultimately requested by a user, or the programmed/scheduled events supported by the Web server. A feedback-acknowledgment page is dynamically generated. A sports-score page that updates after every new score, independently of the user, is also dynamically generated.
dynamic library A code resource designed to be linked into an application on the end user's computer, at load time or runtime. See also static library.
embedded plug-in A plug-in that appears inside the Navigator window. See also full-page plug-in.
entity header fields The fields of the Hypertext Transfer Protocol, or HTTP, that are used to send information about the data (also known as the entity). The content of the entity header fields is metainformation, as opposed to the information contained in the data itself.
environments Places within a Web site where the associations between pages lead to the belief that the pages have a common theme to explore or use for a specific purpose. A Web chat environment, for example, is a set of pages that supports the chat model.
environment variables The shell data components of a process in the UNIX environment.
EPS (Encapsulated PostScript) A self-contained PostScript program that draws an image; also known as EPSF.
EPSF Encapsulated PostScript Format, see EPS.
event handler In JavaScript, pieces of code that are called in response to events such as mouse clicks.
file system The hardware and software component of an operating system that manages the access and management needs of electronic files.
filter A hardware or software component that processes an input data stream into an output data stream in some well-defined way and does no I/O to anywhere else except possibly on error conditions.
firewall A hardware or software component that limits or denies access to resources on an intranet from users on the Internet.
flat Lacking any internal structure.
flat-ASCII Said of a text file that contains only 7-bit ASCII characters and uses only ASCII-standard control characters; also known as plain-ASCII.
flat file A flattened representation of some database, tree, or network structure as a single file from which the structure implicitly can be rebuilt, especially one in flat-ASCII form.
flatten To remove structural information, especially to filter something with an implicit hierarchical structure into a simple sequence; also tends to imply mapping to flat-ASCII.
flush To discard all remaining data in an input or output device. But in C and UNIX, the fflush(3) call forces buffered disk I/O to complete. These two meanings are logically opposite.
fork To make a new process. This term is commonly used in the UNIX community. To fork a process in UNIX, use fork(). See spawn.
FTP (File Transfer Protocol) Part of the TCP/IP family of protocols. Anonymous FTP is a common way of offering files to the public.
full-page plug-in A Navigator plug-in that appears in its own window. See also embedded plug-in.
function In mathematics, a transform that accepts one or more inputs and produces one output. In computer science, an implementation of such a function. Inputs and outputs may be numbers, character strings, or any other data representation.
function overloading In object-oriented programming, a technique in which two or more functions with the same name are distinguished from one another by differing number and/or type of parameters.
gadget In the X Windows system, a component that does not require space on the display.
GET An access method in HTTP.
Global memory In Microsoft Windows, all the memory that wasn't allocated by an application or the system. See also local memory.
handle A pointer to a pointer to data. An indirect pointer.
helper application An application invoked by a Web browser for MIME types that the browser cannot handle internally. See also plug-in.
hot spot In Web page design, a location on a graphic that serves as a hyperlink.
HTML The Hypertext Markup Language. A language defined by the World Wide Web Consortium that is used to define Web pages.
HTML form An HTML construction that includes the <FORM> tag declaration with one or many <INPUT> tags, with the purpose of collecting data to be passed as input to a CGI program.
HTTP Hypertext Transfer Protocol, the protocol of the World Wide Web.
httpd The HTTP daemon, the UNIX name for the Web server.
hyperlink In hypertext systems, the mechanism by which a user moves from one document to the other, often in a highly nonlinear fashion.
IEEE (Institute of Electrical and Electronics Engineers) An international professional group and standards-setting organization.
IESG (Internet Engineering Steering Group) This is a committee formed to help the IETF chair.
IETF (Internet Engineering Task Force) The group that develops the specifications that become Internet standards.
image map A graphic that is set up to allow a user's click to select different pages or programs, depending on where the user clicks the graphic. It is customary to associate hot spots on the graphic with specific files or programs. Image maps can be implemented on the client or on the server.
information hiding In software engineering, the practice of separating a software component's interface from its implementation. Details of the implementation are considered to be hidden from the component's users.
instance variables Data members that appear in every copy (instance) made from the class.
instantiate To make an object from a class.
interface thread In Win32, a thread of control that is capable of receiving and processing messages. Said to include a message pump. Contrast with worker thread.
Internet The worldwide interconnection of networks to form the network of networks. The Internet originally was a research project for the U.S. Department of Defense called the ARPANET; now, it is mostly organized for commercial and educational purposes.
intranet A privately owned computer network based on the same open standards as the Internet.
IP (Internet Protocol) One of the communications protocols of the Internet. IP usually is specified as part of a family known as TCP/IP.
IP address Four 8-bit numbers used to uniquely identify every machine on the Internet. An IP address usually is written with dots between the numbers, as in 127.0.0.1.
IPC (Inter-Process Communication) The mechanisms by which software processes talk with one another. Typical UNIX IPC mechanisms include shared memory, pipes, semaphores, and message queues.
ISO (International Standards Organization) An international standards-setting organization.
ISOC (Internet Society) A professional society to facilitate, support, and promote the evolution and growth of the Internet as a global research communications infrastructure.
ISP (Internet Service Provider) An organization that provides access (usually dial-up) to the Internet.
Java Virtual Machine A software layer that understands Java bytecodes. The Java Virtual Machine is documented in white papers available on-line at http://www.javasoft.com/nav/download/index.html.
JFIF JPEG File Interchange Format (commonly referred to as JPEG), a popular image format for Web pages.
JPEG Joint Photographic Experts Group; also, the common name for the JFIF image standard.
JVM See Java Virtual Machine.
LAN (Local Area Network) A collection of computers at one physical location or campus that shares resources and their internetworking hardware and software. See also WAN.
LDAP See Lightweight Directory Access Protocol.
Lightweight Directory Access Protocol An open standard for remote directory access, defined in RFC 1777, "Lightweight Directory Access Protocol."
local guide The manual or documentation, assembled for users, that describes the custom software and tools installed.
local memory In Microsoft Windows, memory that has been allocated to the data segment of a Windows application. See also global memory.
machine language The instructions, typically expressed in hexadecimal or binary notation, that are understood by a particular processor. For example, 000001002 (0416) is the instruction that tells an Intel 80¥86 processor to add the following byte to the accumulator register.
make A utility used to generate an output file based on changes in a set of component files.
mapping context In DOS/Intel computers, a data structure used to describe the relationship between addresses in conventional memory to those in expanded memory.
markup language A syntax and procedure for embedding in text documents tags that control formatting when the documents are viewed by a special application. A Web browser interprets HTML (Hypertext Markup Language).
message pump The mechanism in Win32 that receives and processes messages from the operating system. See interface thread and worker thread.
metainformation In the HTTP, information about the contents of the entity body, sent in entity header fields.
meta-language A language used for describing other languages. For example, the Standard Generalized Markup Language (SGML) is used to describe the Hypertext Markup Language (HTML).
method A function that is a member of a class.
MIME (Multimedia Internet Media Extensions) A mechanism used by e-mail and Web servers to tell a client what type of content is being sent so that the client can interpret the data correctly.
mix-in classes Classes that typically cannot be instantiated themselves but that are added to an abstract class by multiple inheritance to add features to a new concrete class.
Mozilla Netscape Communication's internal name of the Netscape browser. This name appears in the browser's identity string, and in some of Netscape's logo products.
MPEG Moving Pictures Experts Group; also, the audio and video compression standards developed by that group, such as MPEG-1 and MPEG-2.
multiuser An operating system such as UNIX that is designed to support more than one independent user at a time on the same computer.
multitasking Performing more than one task at the same time. Multitasking is a feature of some operating systems, such as UNIX, Mac OS, and the newer versions of Microsoft Windows.
name mangling In C++, the mechanism for changing the internal names of functions so that function overloading is possible.
native methods In Java, methods that have a Java interface but a platform-specific implementation (for example, C++/Windows).
navigation The act of traversing a chain of hypertext links from a starting point to a final result.
NCSA (National Center for Supercomputer Applications) Developed the NCSA Server, a popular UNIX-based Web server. Visit NCSA's Web site at http://hoohoo.ncsa.uiuc.edu/.
Netscape Communications Corporation Developer of a popular browser (Netscape Navigator) and several commercial servers. See Netscape ONE.
Netscape Navigator A popular Web browser by Netscape Communications Corporation.
Netscape ONE A family of Netscape products and technologies based on open Internet standards. "ONE" is an acronym for "Open Network Environment."
Netscape Server Application Program Interface Netscape's mechanism to allow third-party developers to directly integrate with its servers. The interface is a series of function calls that may be made from an external code resource into the Netscape server.
NIST U.S. National Institute of Standards and Technology, formerly known as the National Bureau of Standards.
NSAPI See Netscape Server Application Program Interface.
object-oriented An adjective used to describe analysis, design, and programming techniques and languages that rely upon the description of the problem in terms of hierarchical classes of objects. Typically, each class has attributes and functions that form a part of its definition.
ORB (Object Request Broker) Software that allows client components and programs to communicate with a server without having to know which physical machine runs the server. ORBs also provide a high degree of insulation between different operating systems and hardware, so a client does not have to know the server's environment to use its services.
open standards A standard with publicly available specifications, which can be implemented by any developer. Open standards are typically developed and maintained by a review process in which all interested parties may participate, in contrast to proprietary standards, which are developed and maintained by a single company.
OpenDoc An open component technology sponsored by IBM, Apple, and Adobe (among others). These organizations formed Component Integrations Laboratories (CI Labs) to advance component technology. OpenDoc is their flagship product, which competes directly with Microsoft's Object Linking and Embedding 2 (OLE).
operating system A collection of software written to provide the fundamental instructions that a computer needs to manage resources such as memory, the file system, and processes.
overloading In a programming language, the ability to have more than one function of the same name, differing only in the number and type of parameters. See signature.
PATH An environment variable used to list directories that should be searched for a given file.
PCL (Hewlett-Packard Printer Control Language) An HP-proprietary language used to render pages on Hewlett-Packard printers.
PDF See Portable Document Format.
PDL (Page Description Language) A generic term encompassing PostScript and Hewlett-Packard's PDL.
penalty weighting algorithm In printing, an algorithm that attempts to match screen fonts with available printer fonts.
Perl (Practical Extraction and Report Language; also Pathologically Eclectic Rubbish Lister) A rich language developed by Larry Wall. Perl is often used to implement CGI scripts.
PERL The interpreter for Perl, typically located on a UNIX system at /usr/bin/perl.
plug-in A technology developed by Netscape and now adopted by some other Web browser vendors to handle certain MIME media types inside the browser environment, instead of with a helper application.
PNG (Portable Network Graphic) An alternative to GIF for Web graphics.
polymorphism The ability in a programming language to use instances of subclass as though they were instances of the parent class.
Portable Document Format (PDF) A platform-independent format for desktop publishing documents developed by Adobe. PDF is widely used on the Internet to exchange documents with fonts, formatting, and graphics intact. Adobe provides a free PDF viewer for all major platforms online at http://www.adobe.com/acrobat/.
POST An access method in HTTP.
PostScript A page description language developed by Adobe that is commonly used in laser printers.
preemptive multitasking In an operating system, a mechanism for interrupting a running task to allocate processor time to another task. Contrast with process multitasking.
process ID A number associated with a process, which can be used to uniquely identify the process.
process multitasking Microsoft's term for cooperative multitasking, in which a process must yield the CPU before the operating system can allocate time to another process. Contrast with preemptive multitasking.
proof of concept A prototype that is built to show that the technique, system design, or marketability of a proposed application or system is likely to be as good as expected.
pure virtual Used to describe a function in an object-oriented environment. A virtual function that must be overridden by a derived class. See virtual.
PUT An access method in HTTP.
QUERY_STRING The environment variable that contains the information passed to a CGI script by means of GET.
QuickTime Apple Computer's standard for time-based material, such as video, sound, and multimedia sequences. Available for Windows and UNIX computers as well as for Macintoshes.
RDBMS (Relational Database Management System) A database mechanism in which the user's logical view of the data is based on tables (also known as relations). See also mSQL.
real time Describes an application that requires a program to respond to stimuli within some small upper-limit of response time (typically milli- or microseconds).
reloading The act of requesting a page from a Web server that is already visible in the Web browser. The purpose of reloading is mainly to verify changes in documents or to re-invoke certain actions (such as CGI scripts) on the Web server.
replication on command A proxy server mechanism-a user or system administrator can command the server to fetch a document from the original server and store it locally. Typically used to update mirror sites during non-peak hours in order to reduce traffic during high-demand periods.
replication on demand A proxy server mechanism-when a user asks for a document that is not in the proxy server's cache (or which has expired), the server fetches that document from the original server and stores it locally. Replication on demand is the most common way to operate a proxy server.
RFC (Request for Comment) The place where all of the official standards in the Internet community are published.
RIFF WAVE An audio format, commonly known as WAV.
round robin scheduling An operating system algorithm used to allocate processor time to active processes evenly.
runtime license In ActiveX, a license that allows the end user to run the ActiveX component but not to make copies for use elsewhere. Contrast with developers license.
script A program that runs on the Web server, written in an interpreted language such as Perl or Tcl.
Secure Sockets Layer (SSL) A channel security algorithm built into Netscape's products.
security stance A position taken by an organization that trades off security for ease of use and performance.
SEI (Software Engineering Institute) A research center at Carnegie-Mellon University.
semaphore A mechanism for restricting access to critical sections of code to a single user or a single process at a time.
sequence container Container classes in which the order of the stored instances depends on how and when the instance was added to the container, rather than the contents of the instance. See also container class. Contrast with associative container.
server push Technology developed for the Web environment that allows a page to reload automatically when the server generates new content. The MIME type used for server push is multipart/x-mixed.
server-side includes In Web pages, directives embedded in HTML comments that are intended to be interpreted by the Web server.
SGML (Standard Generalized Markup Language) The meta-language in which the Hypertext Markup Language (HTML) is defined. See also Document Type Definition.
SIGHUP The hang-up signal. In UNIX, SIGHUP is commonly used to tell a daemon to reread its configuration files. Signals are sent in UNIX with the kill command.
signature The number and type of parameters to a function. Often mentioned in connection with object-oriented systems, as the basis for function overloading.
skeleton A program that contains the proper header and footer declarations but lacks actual code to perform a task; also, a file stub that provides the framework for the details of the program to be inserted.
SLOC (Source Line of Code) One line in a computer program. In many languages, each SLOC ends with a semicolon. SLOC is used in COCOMO and PROBE as the basis for estimating software-development time.
spawn To make a new process. This term is commonly used in non-UNIX operating systems, such as Windows. For example, to spawn a process in Win32, use CreateProcess(). See fork.
SQL (Pronounced see-quel; Structured Query Language) An ANSI-standard language for accessing databases.
SSI (Server-side include) A method by which Web pages can include small pieces of information that is not directly stored in their file.
static HTML file An HTML document that is represented and stored as a file under the Web server's document root. A static HTML file can be changed or updated only by editing the file. Also see dynamic HTML.
static library A code resource designed to be linked into an application on the developer's machine when the application is linked. See also dynamic library.
STDERR (Standard Error) A file handle open for output by default in many operating systems and languages; typically used for program error messages.
STDIN (Standard Input) A file handle open for input by default in many operating systems and languages; typically used for program input.
STDOUT (Standard Output) A file handle open for output by default in many operating systems and languages; typically used for program output.
TCP (Transmission Control Protocol) One of the communications protocols of the Internet. TCP usually is specified as part of a family known as TCP/IP. TCP connections are set up by using a three-way handshake to ensure the delivery of every packet.
TCP/IP A family of protocols that includes TCP, IP, and various applications such as FTP, HTTP, and Telnet. TCP/IP is a layered architecture and is independent of the physical media (for example, Ethernet, serial lines, or fiber optic cable).
text box An area of a Web page, usually created with <INPUT> tags, that accepts a single line of input.
thread A "lightweight process" that allows asynchronous work to be done within another process's address space.
TIFF (Tag Image File Format) A popular high-end file format for images.
time stamp Time of day, encapsulated in an alphanumeric quantity for registering an event. When files are modified, their "last modified" time stamp is updated with a new time.
toolbar A compact textual or graphical region of a page that contains hypertext links to other parts of the site or the Web.
twips In Microsoft Windows, a unit of measurement on an output device such as a screen.
two-phase locking A mechanism for preventing deadlock; a process is blocked from allocating resources until it can get all the resources it needs. See deadlock.
URL (Uniform Resource Locator) The address of an Internet resource, such as a Web page.
versioning In configuration management, the process of assigning each release of a document or piece of software a version number. Automated systems, such as UNIX's Source Code Configuration System, allow a developer to check a module out for modification-the system assigns a new version number whenever the developer checks the module back in.
virtual Adjective to describe a function in an object-oriented environment. A virtual function may be overridden by derived classes. See also pure virtual.
VRML (Virtual Reality Modeling Language) A language used to describe three-dimensional "worlds." Many VRML browsers exist. The latest versions of Netscape Navigator include the capability to render VRML scenes.
WAN (Wide Area Network) A collection of computers that are geographically distributed but share resources and their internetworking hardware and software. See also LAN.
Web server A machine (or set of machines) connected to the network that runs software that supports the HTTP requests for documents from client machines.
Webmaster The person who usually maintains the content and operational status of a Web server. Most Webmasters are involved with design and development issues for new content and also with business and marketing issues, network topology design, and any other issue related to the development and maintenance of the Web server.
widget In the X Windows system, a component such as a button that appears on the display and invites user interaction.
worker thread In Win32, a thread of control that does not include a message pump. Contrast with interface thread.
World Wide Web A network of hosts on the Internet that share data and information with the public (or private groups) through the transfer of documents via the HTTP protocol.
XBM (X Bit Maps) A simple graphics standard used in the X Windows system.
X.500 An international standard for directory servers. Netscape's Directory Server uses LDAP, which can interact with X.500-compliant servers.