Glossary

From Lazarus wiki
Revision as of 18:01, 27 August 2005 by Lightning (talk | contribs) (→‎MAC)
Jump to navigationJump to search

This page will never be complete. I encourage you to continue adding things to it that:

  • Relate to this site
  • Relate to Freepascal
  • Relate to Lazarus


Contents

# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

#

A

===Assembler, Assembly Language=== An assembler converts human-readable symbols (that represent machine instructions) into the actual binary instructions that the computer executes. For example an assembler would translate

LD a,b # move the contents of location a into location b

into a binary sequence such as 01110010 which the machine can execute. Assembly language is the list of codified instructions which a programmer can write which the assembler translated into machine code. An assembler differs from a Compiler by being processor-specific (ie different assemblers for i386, MC68000, ARM processors etc) and by being much more low-level: it deals with very specific instructions to move data and perform detailed arithmetic. Many compilers (including FreePascal) allow the programmer to embed Assembler sections within the high-level source code; such sections are, of course, only useful using the processor for which they are intended, whereas a Compiler can write programs which will work on a variety of different processors. ===API=== Application Program Interface

B

Bug

An error in a program which might cause catastrophic machine failure, failure of the program or simply incorrect performance or output. Derived from the days when computers were constructed with thermionic vacuum tubes, when insects could cause short-circuits between terminals producing hardware failure or unpredictable performance. Most software development teams encourage potential users to report bugs (which are then corrected in subsequent versions) and have a clearly-defined bug-reporting mechanism (for example Lazarus BugTracker).

C

===C programming language=== A widely used computer programming language, particularly useful for system programming. Forms the basis for most of the Linux operating system, and as far as we can determine, for the Windows system. Its chief disadvantage is that it is insufficiently rigorous, and allows poor programming practices to creep in. It is also vulnerable to problems such as memory leaks. By contrast, Pascal imposes a much more rigorous discipline on the programmer and encourages good programming habits and practices.

C++

A variant of C which includes Object-Oriented Programming constructs.

C#

A still more 'advanced' version of C++, heavily supported by Microsoft. Of course, none of the C variants is nearly as good as Pascal! ===CCR=== Code and Component Repository

Command Line Interpreter

A program present in most computer operating systems which examines an input stream, either from the keyboard (Console Mode) or from a text file (Batch Mode), interpreting or parsing the text to find instructions causing execution of operating system commands or running prepared programs or other scripts of instructions.

===Compiler=== A program that translates Human-readable source code, usually written in a high-level language such as FreePascal, Delphi, C++, Algol, FORTRAN or ADA, into machine instructions for execution by a computer. Compilation usually involves several stages: Parsing the source code to check for syntax errors, translation of the source code to machine instructions, and linking the resultant code with libraries in order to produce the final machine-executable application. ===Component=== A small piece of code, typically consisting of a data definition or a small number of methods, which defines and describes a particular action or series of actions in a Pascal application. Components are typically grouped together functionally into libraries such as the FCL, LCL or RTL, so that they can be re-used in many programming applications

Cross Compilation

The act of compiling a program on one type of computer for eventual use on another computer with a defferent processoror a different operating system. For example Pascal programs can be cross-compiled on a PC running Linux and executed on a PC running Windows, or programs can be compiled on a PC to run on a PDA like the Sharp Zaurus. Another typical example is the Cross-compilation of the FreePascal Compiler or the Lazarus IDE on one platform such as Linux for use on another platform such as Windows or on the Mackintosh computer using a totally different processor.

===CrossPlatform=== Usually refers to a program that can be run on several different OSs and Platforms. Examples are the FreePascal compiler and Lazarus, the OpenOfficeOrg suite of office programs, the Mozilla family of web browsers and e-mail servers.

===CVS=== Concurrent Version System (see also SVN). A system for producing orderly development of a software suite despite its use by multiple authors. A repository is set up, from which intending developers can check-out documents or files, and to which they can return edited material. Usually the posting of new or updated material is under the control of one or more moderators or administrators, and strict version control is maintained.

D

===Delphi=== An excellent commercial Pascal-based RAD IDE for Windows made by Borland

===diff=== A GNU program used to show the differences between two files, or even two directories. Homepage

E

F

===FCL=== Free Component Library The main collection of components used by FreePascal. See also RTL

===FreePascal=== A Pascal Compiler FreePascal Website

G

===GDB=== GNU Debugger GDB homepage ===Gimp=== GNU Image Manipulation Program Homepage ===GNU=== From GNU's Website: GNU is a recursive acronym for “GNU's Not UNIX”; it is pronounced “guh-noo.” ===Gtk=== Gimp Tool Kit Home Page "GTK+ is a multi-platform toolkit for creating graphical user interfaces"

===GUI=== Graphical User Interface

H

I

===IDE=== Integrated Development Environment

Interpreter

A software tool that examines an input stream of computer-language instructions (from the console or from a text-file) and converts them into machine-code instructions which are then immediately executed. This differs from a compiler (which converts a whole file into machine instructions and then stores the code for subsequent execution) in that instructions are interpreted line-by-line, and the conversion process has to happen every time the program is run.

The Command-Line interpreters in Linux, Windows, IBM systems and DEC PDP and VAX systems are good examples. Several popular programming languages are interpretive rather than compiled. The best examples are BASIC (in all its variants including Visual BASIC), PERL, Python and Java. Interpreted-language programs are generally several orders of magnitude slower than compiled-language programs because of the need to re-interpret the commands before execution every time, but they have the great advantage that changes are easily made, new code can be tested quickly, and often speed is not all that important compared with ease of development. Some languages (including various dialects of BASIC) offer the programmer an opportunity to try out a program first in interpreted mode, then when the program works correctly and no more changes are necessary, the whole program can be compiled to produce a much faster product.

Some variants of Pascal (including UCSD Pascal from the University of California at San Diego) offered a peculiar combination of compiled and interpreted operation: the textual Pascal source code was first connected into an intermediate P-code, which was then passed on to a P-code Interpreter which translated and executed it.

J

K

===Kylix=== Delphi like Rad Tool for Linux made by Borland. It is compatible with Delphi, and uses QT / CLX.

L

===Lazarus=== A CrossPlatform RAD IDE made with FreePascal

===LCL=== Lazarus Component Library

Linux

[1] An OpenSource Operating System based on the Unix ideology, today it is one of the most popular Operating Systems.

M

MAC

Usually refers to the Macintosh Operating System from Apple, it is famous for its high quality graphics and stability. The latest version MAC OS X is a combination of Commercial and OpenSource libraries and applications, OSX is currently capable of running X11. The main disadvantage is that it doesn't run on x86 CPUs and the hardware needed to run it is expensive; it is however one of the most popular Operating Systems today. MAC can also refer to the MAC workstation which is the hardware needed to run the Operating System.

N

O

===OO=== Object Oriented Extension to a procedural language which enables the creation and manipulation of complicated Objects. While Standard Pascal maintains a Record structure, in which various different data types such as integers, reals, arrays and pointers can co-exist in a pre-defined way, an object-oriented language like FreePascal allows the structure also to contain Methods (procedures and functions) for the manipulation of the data elements within the structure.

OS

The Operating System is a program called a Kernel which is usually started by the BIOS and it has various libraries which provide an interface with the computer hardware, the Kernel can also be considered an abstraction layer between the applications and the electronics part, the Operating Systems can be Console(Text Mode) or Graphical, most modern Operating Systems support threading and are multitasking allowing multiple programs to run at the same time.

OSX

The latest version of the Macintosh Operating Systems, see MAC

P

===Pascal=== Pascal is a procedural programming language invented by Niklaus Wirth [2]; FreePascal, Delphi and many other variants have OO extensions ===PDA=== Personal Digital Assistant - a pocket-sized (or Palm-sized) device on which information such as address-books, calendars and other useful information can be stored. These devices (such as the Palm-Pilot and the Compaq Pocket-PC) are becoming increasing sophisticated, and the Sharp Zaurus which has a Linux operating system is a popular vehicle for experimenters and developers. There is a FreePascal cross-compiler available, which allows Pascal programs compiled on a PC to be run on the Zaurus.

Q

R

===RAD=== Rapid Application Development

===RTL=== Runtime Library The library of components in FreePascal which are used at run-time to translate instructions from programs according to the operating system and computer architecture of the current platform. See also FCL

S

===SVN=== Subversion - A Versioning document control system designed to improve upon and ultimately to replace CVS. This is the document management system currently used by both the FreePascal and the Lazarus projects.

T

U

Unix

One of the first Operating Systems it was written in C and had threading and multi process capabilities, later Linus Torvalds and other programmers made an OpenSource clone of Unix called Linux which is one of the most popular Operating Systems today, others folowed the example and other Operating Systems were born, FreeBSD, OpenBSD, NetBSD and many others, also Apple introduced OpenSource parts of various Unix clones and made MAC OS X which is famous for its graphical features and stability.

Unit

A Pascal source file is also called a unit and usually has .pas, .pp or .p extension. The Pascal unit has an internal name which is usually the first line of the unit "unit MyUnit;", where MyUnit is the internal name. The unit also has 2 main sections interface and implementation which are similar in C/C++ terminology to the header (.h, .hpp, .hh) file and the body file (.c, .cpp, .cc). All the code in the interface section can be accessed by other units or program files that "use" this unit, this is done by the uses clause. The uses clause can appear either in the interface or implementation section: the code in the implementation section is "private" and can only be accessed by the same unit unless it is redefined in the interface section which is the case for "global" procedures and functions.
The Pascal unit can also contain 2 more sections, initialization and finalization: these are executed automatically when the main program starts and stops using this unit, as their names suggest.

Uses

Clause in an Object Pascal program: a line near the top of the file or Unit (in either the interface or the implementation) which defines which other files need to be accessed to find components used in the program.

V

===VFW=== Video For Windows ===V4L=== Video For Linux

W

=== WiKi === A type of website that provides documentation for a software package or similar information, and that welcomes editorial activity, additions and comments from the community. Most WiKi sites require potential users to register, and then login in order to edit the site. Documentation can be developed very quickly and flexibly. === Windows === An Operating System from Microsoft, probably the most widely used Operating System today, famous for its user friendly interface but infamous for its vulnerability to malicious attackers. "Windows" also refers to rectangular areas on a computer screen which contain the textual and graphical material associated with a particular process or application. A window may form part of a program or system other than Microsoft's offering, for example there can be X-windows (see X11) or simple text-windows used by inherently text-based systems.

X

===X11=== Also called XFree or simply X is a Unix graphical interface. The X11 concept is quite different from the Windows GDI mainly because XFree is a program, not just a set of libraries. Because X11 is more hardware oriented and doesn't have a full set of widgets yet, some programmers developed more advanced widgets like GTK and QT and various Window Managers and Desktop Environments like GNOME, KDE, XPde, XFCE, IceWM, WindowMaker and many others. For more information about X11 please visit the XFree website.

Y

Z

Zaurus

PDA made by Sharp which uses Linux as its operating system. Its processor is the ARM for which a port of the FreePascal compiler has been made, and it is possible to cross-compile applications in FreePascal which will run on the Zaurus