Glossary
Abstractions
Abstractions reveal causes and effects, expose patterns and frameworks, and
separate whats important from whats not. Theyre at the root
of understanding. To invent programs, you need to be able to capture the same
kinds of abstractions and express them in the program design. Database abstraction
is required to get the software and hardware interoperable. E.g. Database server
describes a field as a customer, but software defines the same field as a client.
For the software and hardware to understand each other, a data abstraction must
be programmed to map the two fields.
Ada
A descended language that has been made mandatory for Department of Defense
software projects by the Pentagon. Hackers are nearly unanimous in observing
that, technically, it is precisely what one might expect given that kind of
endorsement by fiat. Hackers find Ada's exception-handling and inter-process
communication features particularly hilarious. The kindest thing that has been
said about it is that there is probably a good small language screaming to get
out from inside its vast, elephantine bulk.
Apache
An open source HTTP server for Unix, Windows NT, and other platforms. Apache
is purely cryptic (no GUI). Apache was developed in early 1995, based on code
and ideas found in the most popular HTTP server of the time. It has since evolved
to rival (and probably surpass) almost any other Unix based HTTP server in terms
of functionality, and speed. Since April 1996 Apache has been the most popular
HTTP server on the Internet, in May 1999 it was running on 57% of all web servers.
API (Application Programming Interface)
The interface (calling conventions) by which an application program accesses
operating system and other services. An API is defined at source code level
and provides a level of abstraction between the application and the kernel (or
other privileged utilities) to ensure the portability of the code. An API can
also provide an interface between a high level language and lower level utilities
and services which were written without consideration for the calling conventions
supported by compiled languages. In this case, the API's main task may be the
translation of parameter lists from one format to another and the interpretation
of call-by-value and call-by-reference arguments in one or both directions.
An API is the programming interface needed to program for databases, Operating
Systems, browsers, etc. Windows has one main API, Win32, Mac Tool Kit has several
for Mac OS, and Unix has more than any OS. APIs make it possible to program
for closed source programs and make it much easier to program for open source
programs.
ASCII
The ASCII Table is what determines which combination of binary 1s and 0s equal
which character. It was originally an acronym (American Standard Code for Information
Interchange) but now merely conventional] the predominant character set encoding
of present-day computers. The standard version uses 7 bits for each character,
whereas most earlier codes (including early drafts of ASCII prior to June 1961)
used fewer. This change allowed the inclusion of lowercase letters -- a major
win -- but it did not provide for accented letters or any other letterforms
not used in English (such as the German sharp-S or the ae-ligature which is
a letter in, for example, Norwegian).
ASP (Active Server Pages)
Active Server Pages (ASP) is a server side scripting technology that enables
scripts (embedded in web pages) to be executed by an Internet server. Unlike
Cold Fusion, JSP, and PHP, ASP is not a programming language, but an architecture.
Another language such as Perl, Jscript, or VBScript must be used on top of ASP.
Most programmers will use VBScript on top of ASP since they are both Microsoft
technologies. ASP comes pre-installed with windows.
Attribute
Can be thought of as an adjective in programming. A named value or relationship
that exists for some or all instances of some entity and is directly associated
with that instance. Examples include the href attribute of an HTML anchor element,
the columns of a database table considered as attributes of each row, and the
members (properties and methods of an object in OOP. This contrasts with the
contents of some kind of container (e.g. an array), which are typically not
named. The contents of an associative array, though they might be considered
to be named by their key values, are not normally thought of as attributes.
BeOS
The operating system designed to run on the BeBox microcomputer. BeOS is good
at both multitasking and real-time operation. It has a bash command shell, with
ports of many GNU programs by Be, Inc. It has a GUI front end (not X). A C++
compiler is supplied with the machine, and there are rumors of other languages
being ported in the future.
BSD
A family of {Unix} versions for the DEC VAX and PDP-11 developed by Bill Joy
and others at Berkeley starting around 1980, incorporating paged virtual memory,
TCP/IP networking enhancements, and many other features. The BSD versions (4.1,
4.2, and 4.3) and the commercial versions derived from them (SunOS, ULTRIX,
and Mt. Xinu) held the technical lead in the Unix world until AT&T's successful
standardization efforts after about 1986; descendants are still widely popular.
Note that BSD versions going back to 2.9 are often referred to by their version
numbers, without the BSD prefix.
Building
Building refers to compiling several files at once. You must build or compile
a file before you can execute or run a program.
C
A programming language designed by Dennis Ritchie at AT&T Bell Labs ca.
1972 for systems programming on the PDP-11 and immediately used to reimplement
Unix. It was called "C" because many features derived from an earlier
compiler named "B". In fact, C was briefly named "NB". It
has a macro preprocessor, cpp. Partly due to its distribution with Unix, C became
immensely popular outside Bell Labs after about 1980 and is now the dominant
language in systems and microcomputer applications programming. It has grown
popular due to its simplicity, efficiency, and flexibility. C programs are often
easily adapted to new environments. C is often described, with a mixture of
fondness and disdain, as "a language that combines all the elegance and
power of assembly language with all the readability and maintainability of assembly
language".
C++
Designed by Bjarne Stroustrup of AT&T Bell Labs as a successor to C. Now
one of the languages of choice, although many hackers still grumble that it
is the successor to either Algol 68 or Ada (depending on generation), and a
prime example of second-system effect. Almost anything that can be done in any
language can be done in C++, but it requires a language lawyer to know what
is and what is not legal. Much of the cruft results from C++'s attempt to be
backward compatible with C. Stroustrup himself has said in his retrospective
book "Within C++, there is a much smaller and cleaner language struggling
to get out." Yes, and its called Java.
Class
The prototype for an object in an object-oriented language; analogous to a derived
type in a procedural language. A class may also be considered to be a set of
objects which share a common structure and behavior. The structure of a class
is determined by the class variables which represent the state of an object
of that class and the behavior is given by a set of methods associated with
the class. Classes are related in a class hierarchy. One class may be a specialization
(a "subclass") of another (one of its "superclasses") or
it may be composed of other classes or it may use other classes in a client-server
relationship. A class may be an abstract class or a concrete class. A class
is like a stamp or a blueprint that defines how objects should be created. They
are not, however, predefined. You must define a class.
Cold Fusion
A server side language developed by Allaire and used to make websites dynamic
by tying into a database or using cookies. Many people prefer Cold Fusion to
other languages because it is easier to use (because the syntax is similar to
HTML) however, it is not open source.
Compiler
A computer program that translates source code written in a particular programming
language into computer-readable machine code (binary 0s and 1s) that can be
executed. If you try to run a program before it is compiled, you will get an
error because computers can only understand binary. Compiled languages include
C, C++, Java, and Cobal.
CSS (Cascading Style Sheets)
An extension to HTML to allow styles, e.g. color, font, size to be specified
for certain elements of a hypertext document. Style information can be included
in-line in the HTML file or in a separate CSS file (which can then be easily
shared by multiple HTML files). Multiple levels of CSS can be used to allow
selective overriding of styles.
Database
One or more large structured sets of persistent data, usually associated with
software to update and query the data. A simple database might be a single file
containing many records, each of which contains the same set of fields where
each field is a certain fixed width. A database is one component of a database
management system. Many companies just use Access, ACT, Goldmine, or Lotus notes
which are very lightweight and very user friendly databases. Databases are used
for contact/customer management, inventory management, document management human
resources, or any numeric or text data management. Some of the most common databases
include Oracle, Sybase, MySQL, IBM DB2, Postgress, and Informix.
DBMS
A suite of programs which typically manage large structured sets of persistent
data, offering ad hoc query facilities to many users. They are widely used in
business applications. A database management system can be an extremely complex
set of software programs that controls the organization, storage and retrieval
of data (fields, records and files) in a database. It also controls the security
and integrity of the database. The DBMS accepts requests for data from the application
program and instructs the operating system to transfer the appropriate data.
When a DBMS is used, information systems can be changed much more easily as
the organization's information requirements change. New categories of data can
be added to the database without disruption to the existing system.
Debugger
A debugger is a program that helps in locating and correcting programming errors
and flawed syntax
DHTML
DHTML is an abbreviation for the term "Dynamic HTML". It is not actually
a markup language, but a combination of HTML 4.0, Style Sheets and JavaScript.
Directory
A listing of the files contained in a storage device, such as a magnetic disk.
A description of the various characteristics of a file, such as the layout of
the fields in it. Includes all the files of a certain program or application.
You can open up each individual file to view the source code.
DOM (Document Object Model)
As a W3C specification, the objective for the XML DOM has been to provide a
standard programming interface to a wide variety of applications. The XML DOM
is designed to be used with any programming language and any operating system.
With the XML DOM, a programmer can create an XML document, navigate its structure,
and add, modify, or delete its elements. Creating dynamic HTML documents would
not be possible without the DOM.
Driver
A program that translates some device-independent or other common format to
something a real device can actually understand. The main loop of an event-processing
program; the code that gets commands and dispatches them for execution or code
designed to handle a particular peripheral device such as a magnetic disk or
tape unit.
Emacs
A popular screen editor for Unix and most other operating systems. Emacs is
distributed by the Free Software Foundation and was Richard Stallman's first
step in the GNU project. Emacs is extensible - it is easy to add new functions;
customizable - you can rebind keys, and modify the behavior of existing functions;
self-documenting - there is extensive on-line, context-sensitive help; and has
a real-time "what you see is what you get" display. Emacs is writen
in C and the higher levels are programmed in Emacs Lisp. Emacs has an entire
Lisp system inside it. It was originally written in TECO under ITS at the MIT
AI lab. AI Memo 554 described it as "an advanced, self-documenting, customizable,
extensible real-time display editor".
Executables
A binary file containing a program in machine language which is ready to be
executed (run). The term might also be, but generally isn't, applied to scripts
which are interpreted by a command line interpreter. Executables are distinguished
in Unix by having the execute permission bits set, at least for the owner
Function
Can be thought of as a verb in programming. A function may return different
values each time it is called with the same argument values and may have side
effects.
GNOME (GNU Network Object Model Environment)
A project to build a complete, user-friendly desktop based entirely on free
software. GNOME is part of the GNU project and part of the OpenSource movement.
The desktop will consist of small utilities and larger applications which share
a consistent look and feel. GNOME uses GTK+ as the GUI toolkit for applications.
GNOME is intended to run on any modern and functional Unix-like system. The
current version runs on Linux, FreeBSD, IRIX and Solaris.
GNU
"GNU's Not Unix!". The Free Software Foundation's project to provide
a freely distributable replacement for Unix. The GNU Manifesto was published
in the March 1985 issue of Dr. Dobb's Journal but the GNU project started a
year and a half earlier when Richard Stallman was trying to get funding to work
on his freely distributable editor, Emacs.
GUI (Graphical User Interface)
An interface for issuing commands to a computer utilizing a pointing device,
such as a mouse, that manipulates and activates graphical images on a monitor.
HTML
HTML stands for Hyper Text Markup Language. An HTML file is a text file containing
small markup tags which tell the Web browser how to display the page. An HTML
file must have a .htm or .html file extension. An HTML file can be created using
a simple text editor
HTML 4.0
HTML 4.0 introduced Cascading Style Sheets (CSS), and the Document Object Model
(DOM). Creating dynamic HTML documents would not be possible without these two
additions.
IDE (Integrated Developer Environment)
A system for supporting the process of writing software. Such a system may include
a syntax-directed editor, graphical tools for program entry, and integrated
support for compiling and running the program and relating compilation errors
back to the source.
IIS (Internet Information Server)
Microsoft's web server and FTP server for Windows NT. IIS is easier to learn
for some people because of its GUI. Features include web publishing, customizable
tools, wizards, customizable management tools, flexible administration options,
and analysis tools. IIS is the second most popular server due to the fact that
it is built into MS NT and 2000.
Interpreters
Interpreters are built into client residing programs such as windows, UNIX,
Linux, etc, as well as into servers. When writing the code, the programmer lets
the interpreter know which language is being used by using a declaration (e.g.
<?PHP lets the interpreter know that the following syntax will be written
in PHP).
Intranet
Any network which provides similar services within an organization to those
provided by the Internet outside it but which is not necessarily connected to
the Internet. The most common example is the use by a company of one or more
World-Wide Web servers on an internal TCP/IP network for distribution of information
within the company. Since about 1995, intranets have become a major growth area
in corporate computing due to the availability of cheap or free commercial browser
and web server software which allows them to provide a simple, uniform hypertext
interface to many kinds of information and application programs.
Java
A simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral,
portable, multithreaded, dynamic, buzzword-compliant, general-purpose programming
language developed by Sun Microsystems in 1995(?). Java supports programming
for the Internet in the form of platform-independent Java "applets".
Java is similar to C++ without operator overloading (though it does have method
overloading), without multiple inheritance, and extensive automatic coercions.
It has automatic garbage collection. Java programs can run stand-alone on small
computers. The interpreter and class support take about 40 kilobytes; adding
the standard libraries and thread support (essentially a self-contained microkernel)
adds an additional 175Kb. Java extends C++'s object-oriented facilities with
those of Objective C for dynamic method resolution.
JavaScript
Netscape's simple, cross-platform, World-Wide Web scripting language, only very
vaguely related to Java. JavaScript is intimately tied to the World-Wide Web,
and currently runs in only three environments - as a server-side scripting language,
as an embedded language in server-parsed HTML, and as an embedded language run
in browsers. JavaScript may end up being more popular and entrenched than Java,
due to the current prevalence of its primary platform and its ease of learning.
It has a simplified C-like syntax. Its functionality is currently limited, being
aimed primarily at enhanced forms, simple web database front-ends and navigation
enhancements.
Jscript
Jscript is an object-oriented language created by Microsoft to compete with
Java.
JSP (Java Server Pages)
Developed so that HTML and Java could work together more smoothly. JSP allows
you to write in Java and HTML all in the same file. JSP is Suns technology
and is somewhat open source.
JVM (Java Virtual Machine)
A specification for software which interprets Java programs that have been compiled
into byte-codes, and usually stored in a ".class" file. The JVM instruction
set is stack-oriented, with variable instruction length. Unlike some other instruction
sets, the JVM's supports object-oriented programming directly by including instructions
for object method invocation (similar to subroutine call in other instruction
sets).
Kernel
The essential part of Unix or other operating systems, responsible for resource
allocation, low-level hardware interfaces, security etc. See also microkernel.
Library
A collection of subroutines and functions stored in one or more files, usually
in compiled form, for linking with other programs. Libraries are one of the
earliest forms of organized code reuse. They are often supplied by the operating
system or software development environment developer to be used in many different
programs. The routines in a library may be general purpose or designed for some
specific function such as three dimensional animated graphics. Libraries are
linked with the user's program to form a complete executable. The linking may
be static linking or, in some systems, dynamic linking. A system is more efficient
by using libraries because files can be closed and dont take up memory.
Linux
An implementation of the Unix kernel originally written from scratch with no
proprietary code. The kernel runs on Intel and Alpha hardware in the general
release, with SPARC, PowerPC, MIPS, ARM, Amiga, Atari, and SGI in active development.
The SPARC, PowerPC, ARM, PowerMAC - OSF, and 68k ports all support shells, X
and networking. The Intel and SPARC versions have reliable symmetric multiprocessing.
Work on the kernel is coordinated by Linus Torvalds, who holds the copyright
on a large part of it. The rest of the copyright is held by a large number of
other contributors (or their employers). Regardless of the copyright ownerships,
the kernel as a whole is available under the GNU General Public License. The
GNU project supports Linux as its kernel until the research Hurd kernel is completed.
Lisp
A programming language designed to process data consisting of lists. It is widely
used in artificial intelligence research.
MacOS X
The latest version of the Macintosh operating system. It is based on the NeXT
operating system and is features an Aqua GUI. It is also much more
stable than previous Mac operating systems.
Modules
A portion of a program that carries out a specific function and may be used
alone or combined with other modules of the same program. Modules are added
to servers to allow it to understand directives that link extensions back to
the server.
Namespace
A set of names in which all names are unique. In other words, their names wont
conflict with identically named data elements outside the structure. Partitioning
the program namespace is essential for keeping implementation details out of
the interface. Imagine, for example, the enormous task of assigning a different
name to every piece of data in a large program and of making sure new names
dont conflict with old ones.
Objective C
An object-oriented superset of ANSI C by Brad Cox, Productivity Products. Its
additions to C are few and are mostly based on Smalltalk. Objective C is implemented
as a preprocessor for C. Its syntax is a superset of standard C syntax, and
its compiler accepts both C and Objective C source code. It is used as the system
programming language on the NeXT. As implemented for NEXTSTEP/OpenStep/MacOS X, the Objective
C language is fully compatible with ANSI C.
Object-Oriented Programming
The use of a class of programming languages and techniques based on the concept
of an "object" which is a data structure (abstract data type) encapsulated
with a set of routines, called "methods", which operate on the data.
Operations on the data can only be performed via these methods, which are common
to all objects that are instances of a particular "class". Thus the
interface to objects is well defined, and allows the code implementing the methods
to be changed so long as the interface remains the same. Each class is a separate
module and has a position in a "class hierarchy". Methods or code
in one class can be passed down the hierarchy to a subclass or inherited from
a superclass. This is called "inheritance". A procedure call is described
as invoking a method on an object (which effectively becomes the procedure's
first argument), and may optionally include other arguments. The method name
is looked up in the object's class to find out how to perform that operation
on the given object. If the method is not defined for the object's class, it
is looked for in its superclass and so on up the class hierarchy until it is
found or there is no higher superclass.
Objects
An object is more than a collection of random functions. Its a bundle
of related behaviors that are supported by shared data. The idea behind objects
is quite simple-you just break up your program into the various parts, each
of which you can easily conceptualize as performing a discrete task, and those
are your objects. Objects are more powerful than simple functions or sets of
variables because an object can hold both functions and variables wrapped up
together in a way that makes it easy to use. An object can be thought of as
both a noun and an adjective. An object is an instance of a class.
ODBC (Open Database Connectivity)
A standard for accessing different database systems. There are interfaces for
Visual Basic, Visual C++, SQL and the ODBC driver pack contains drivers for
the Access, Paradox, dBase, Text, Excel and Btrieve databases. An application
can submit statements to ODBC using the ODBC flavor of SQL. ODBC then translates
these to whatever flavor the database understands. ODBC allows databases running
on different platforms to communicate with each other. ODBC is a quick solution
that usually results in the loss of some data. To do this without the loss of
data would require writing an application for the native drivers for each database.
This would be costly and time consuming.
OODB (Object-Oriented Database)
A system offering DBMS facilities in an object-oriented programming environment.
Data is stored as objects and can be interpreted only using the methods specified
by its class. The relationship between similar objects is preserved (inheritance)
as are references between objects. Queries can be faster because joins are often
not needed (as in a relational database). This is because an object can be retrieved
directly without a search, by following its object id.
OS (Operating System)
The low-level software which handles the interface to peripheral hardware, schedules
tasks, allocates storage, and presents a default interface to the user when
no application program is running. The OS may be split into a kernel which is
always present and various system programs which use facilities provided by
the kernel to perform higher-level house-keeping tasks, often acting as servers
in a client-server relationship.
OS/2
IBM and Microsoft's successor to the MS-DOS operating system for Intel 80286
and Intel 80386-based microprocessors. It is proof that they couldn't get it
right the second time either. Often called "Half-an-OS". The design
was so baroque, and the implementation of 1.x so bad, that 3 years after introduction
you could still count the major application programs shipping for it on the
fingers of two hands, in unary. Later versions improved somewhat, and informed
hackers now rate them superior to Microsoft Windows, which isn't saying much.
On an Intel 80386 or better, OS/2 can multitask between existing MS-DOS applications.
OS/2 is strong on connectivity and the provision of robust virtual machines.
It can support Microsoft Windows programs in addition to its own native applications.
Parser
An algorithm or program to determine the syntactic structure of a sentence or
string of symbols in some language. A parser normally takes as input a sequence
of tokens output by a lexical analyser. It may produce some kind of abstract
syntax tree as output. One of the best known parser generators is yacc. Most
new languages need to be parsed before they are compiled.
Pascal
A programming language designed by Niklaus Wirth around 1970. Pascal was designed
for simplicity and for teaching programming, in reaction to the complexity of
ALGOL 68. It emphasises structured programming constructs, data structures and
strong typing. Innovations included enumeration types, subranges, sets, variant
records and the case statement. Pascal has been extremely influential in programming
language design and has a great number of variants and descendants.
PERL
A high-level programming language, started by Larry Wall in 1987 and developed
as an open source project. It has an eclectic heritage, deriving from the ubiquitous
C programming language and to a lesser extent from sed, awk, various Unix shell
languages, Lisp, and at least a dozen other tools and languages. Originally
developed for Unix, it is now available for many platforms. Perl's elaborate
support for regular expression matching and substitution has made it the language
of choice for tasks involving string manipulation, whether for text or binary
data. It is particularly popular for writing CGI scripts. The language's highly
flexible syntax and concise regular expression operators, make densely written
Perl code indecipherable to the uninitiated. The syntax is, however, really
quite simple and powerful and, once the basics have been mastered, a joy to
write. Perl's only primitive data type is the "scalar", which can
hold a number, a string, the undefined value, or a typed
PHP (Personal Home Page)
PHP is an HTML-embedded scripting language. This means PHP code can be inserted
into HTML code of a web page. When the page is accessed, the PHP code is read
or "parsed" by the server the page resides on. The output from the
PHP functions on the page are typically returned as HTML code, which is read
by the browser. Because the PHP code is transformed into HTML before the page
is loaded, users can't view the PHP code on a page. This helps make PHP pages
more secure for web developers. A lot of the syntax of PHP is borrowed from
other languages such as C, Java and Perl. However, PHP also has a number of
unique features and specific functions as well. The goal of the language is
to allow web developers to write dynamically generated pages quickly and easily.
Plug-in
A file containing data used to alter, enhance, or extend the operation of a
parent application program. Plug-ins, both commercially and independently authored,
can usually be downloaded for free and are stored locally.
Procedural Programming
In procedural programming functions encapsulate behaviors that can be used repeatedly
without being re-implemented. Data elements local to a function, like the fields
within a structure, are protected within their own namespace. Functions can
reference (call) other functions, so quite complex behaviors can be built from
smaller pieces. Functions are reusable. Once defined, they can be called any
number of times without again considering the implementation. The most generally
useful functions can be collected in libraries and reused in many different
applications. All the user needs is the function interface, not the source code.
However, unlike data elements, functions arent partitioned into separate
namespaces. Each function must have a unique name. Although the function may
be reusable, its name is not.
*** In programming, object oriented vs. procedural is not always black and white.
Many languages have some characteristics of both. Java, for example, is totally
object oriented, while Perl can be object oriented or procedural. In procedural
programming, you would define a structure and some functions instead of a class.
In object, you would define a new class.
Procedure
A function which returns no value but has only side-effects. The C language,
for example, has no procedures, only functions.
Python
A simple, high-level interpreted language by Guido van Rossum. Python combines
ideas from ABC, C, Modula-3 and Icon. It bridges the gap between C and shell
programming, making it suitable for rapid prototyping or as an extension language
for C applications. It is object-oriented and supports packages, modules, classes,
user-defined exceptions, a good C interface, dynamic loading of C modules and
has no arbitrary restrictions. Python is available, among others, for Unix,
Windows, DOS, OS/2, Macintosh, and Amoeba.
RDBMS (Relational Database Management System)
A database in which relations between information items are explicitly specified
as accessible attributes. In a relational database the data are organized as
a number of differently sized tables.
Servers
A program which provides some service to other (client) programs. The connection
between client and server is normally by means of message passing, often over
a network, and uses some protocol to encode the client's requests and the server's
responses. The server may run continuously (as a daemon), waiting for requests
to arrive or it may be invoked by some higher-level daemon which controls a
number of specific servers. On Unix, a long list can be found in /etc/services
or in the NIS database "services".
Shell
A program that works with the operating system as a command processor, used
to enter commands and initiate their execution. Shell programming is simply
programming that is done within a shell.
SOAP
SOAP is an XML based protocol to let software components and applications communicate
using standard Internet HTTP. An important need for Internet application development
is to allow communication between applications. SOAP was designed to do this.
Today's distributed applications communicate using remote procedure calls (RPC)
between distributed objects like DCOM and CORBA. HTTP was not designed for this,
so RPC calls are not easily adaptable to the Internet. Using RPC over the Internet
also represents a security problem, and firewalls and proxy servers will normally
block this kind of traffic. A much better way to communicate between applications
would be to use HTTP, because HTTP is supported by all Internet browsers and
servers. SOAP was created to accomplish this and to replace RPC.
Source Code
Code written by a programmer in a high-level language and readable by people
but not computers. Source code must be converted to object code or machine language
before a computer can read or execute the program.
SQL (Structured Query Language)
An industry-standard language for creating, updating and, querying relational
database management systems. SQL was developed by IBM in the 1970s for use in
System R. It is the de facto standard as well as being an ISO and ANSI standard.
It is often embedded in general purpose programming languages. The first SQL
standard, in 1986, provided basic language constructs for defining and manipulating
tables of data; a revision in 1989 added language extensions for referential
integrity and generalised integrity constraints. Another revision in 1992 provided
facilities for schema manipulation and data administration, as well as substantial
enhancements for data definition and data manipulation. SQL has currently been
enhanced into a computationally complete language for the definition and management
of persistent, complex objects.
VBScript
Microsoft's scripting language, which is an extension of their Visual Basic
language. VBScript can be used with Microsoft Office applications and others.
It can also be embedded in web pages but can only be understood by Internet
Explorer. Visual Basic is a BASIC variant with object-oriented features. Objects
include applications, windows and selections.
WAP (Wireless Applications Protocol)
The wireless industry came up with the idea of WAP. The point of this standard
was to show Internet contents on wireless clients, like mobile phones.
Web Server
A server process running at a web site, which sends out web pages in response
to HTTP requests from remote browsers. If one site runs more than one server
they must use different port numbers. Alternatively, several hostnames may be
mapped to the same computer in which case they are known as "virtual servers".
A web server must have an interpreter for whatever languages it wants to be
able to read. So if the web page you build has a form done in PHP, the web server
must have a PHP interpreter. A web server is contains various modules to allow
it to do this.
XML (Extensible Markup Language)
A metalanguage written in SGML that allows one to design a markup language,
used to allow for the easy interchange of documents on the World Wide Web.
XML
DTD
DTD stands for Document Type Definition. It can be included either internally
or externally to allow XML files to carry a description of its own format with
it. With a DTD, independent groups of people can agree to use a common DTD for
interchanging data. Your application can use a standard DTD to verify that the
data you receive from the outside world is valid. You can also use a DTD to
verify your own data. A lot of forums are emerging to define standard DTDs for
almost everything in the areas of data exchange.
XML
Schema
An XML Schema define elements that can appear in a document define attributes
that can appear in a document define which elements are child elements defines
the sequence in which the child elements can appear defines the number of child
elements defines whether an element is empty or can include text define default
values for attributes The purpose of a Schema is to define the legal building
blocks of an XML document, just like a DTD.
XSL - The Style Sheet of XML
Because XML does not use predefined tags (we can use any tags we want), the
meanings of these tags are not understood: <table> could mean an HTML
table or maybe a piece of furniture. Because of the nature of XML, the browser
does not know how to display an XML document. In order to display XML documents,
it is necessary to have a mechanism to describe how the document should be displayed.
One of these mechanisms is CSS, but XSL (the eXtensible Stylesheet Language)
is the preferred style sheet language of XML, and XSL is far more sophisticated
than the CSS used by HTML.XSL consists of three parts:a method for transforming
XML documents a method for defining XML parts and patterns a method for formatting
XML documents If you don't understand the meaning of this, think of XSL as a
language that can transform XML into HTML, a language that can filter and sort
XML data, a language that can address parts of an XML document, a language that
can format XML data based on the data value, like displaying negative numbers
in red, and a language that can output XML data to different devices, like screen,
paper or voice.