program

software

Program Composition Notation

(PCN) A specification language for parallelism between C and Fortran modules. PCN provides a simple language for specifying concurrent algorithms, interfaces to Fortran and C, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers and integrated debugging and performance analysis tools. PCN was developed at Argonne National Laboratory and the California Institute of Technology. It has been used to develop a wide variety of applications, in areas such as climate modelling, fluid dynamics, computational biology, chemistry, and circuit simulation.

Version 2.0 runs on networks of workstations: Sun-4, NeXT, RS/6000, SGI; multicomputers: iPSC/860, Touchstone DELTA; and shared memory multiprocessors: Symmetry/Dynix.

ftp://info.mcs.anl.gov/pub/pcn.

E-mail: Ian Foster <[email protected]>, Steve Tuecke <[email protected]>.

["Productive Parallel Programming: The PCN Approach", I. Foster et al, Sci Prog 1(1):51-66 (1992)].

Last updated: 1993-02-12

program counter

<hardware>

(PC) A register in the central processing unit that contains the addresss of the next instruction to be executed. After each instruction is fetched, the PC is automatically incremented to point to the following instruction. It is not normally manipulated like an ordinary register but instead, special instructions are provided to alter the flow of control by writing a new value to the PC, e.g. JUMP, CALL, RTS.

IBM call it the Instruction Address Register.

Last updated: 1995-03-21

Program Design Language

Any of a large class of formal and profoundly useless pseudo-languages in which management forces one to design programs. Too often, management expects PDL descriptions to be maintained in parallel with the code, imposing massive overhead of little or no benefit.

See also flow chart.

Last updated: 1995-04-01

Program Evaluation and Review Technique

<programming>

(PERT) A method used to size a software product and calculate the Standard Deviation (SD) for risk assessment. The PERT equation (beta distribution) estimates the Equivalent Delivered Source Instructions (EDSIs) and the SD based on the analyst's estimates of the lowest possible size, the most likely size, and the highest possible size of each computer program component (CPC).

Last updated: 1996-05-29

Program Information File

<file format>

Under Windows, a file providing information on how a non-Windows application program should be run, including how much memory should be allocated to it and what graphics interface it requires.

Filename extension: .pif

Last updated: 1997-10-11

Programmable Airline Reservation System

<application>

(PARS) An IBM proprietary large scale airline reservation application, executing under the control of IBM's ACP (and later its successor, TPF).

In the early days of automated reservations systems in the 1960s and 1970s the combination of ACP and PARS provided unprecendented scale and performance from an on-line real-time system, and for a considerable period ranked among the largest networks and systems of the era.

IPARS was the international version.

Last updated: 1999-01-18

Programmable Array Logic

<hardware>

(PAL) A family of fuse-programmable logic integrated circuits originally developed by MMI. Registered or combinatorial output functions are modelled in a sum of products form. Each output is a sum (logical or) of a fixed number of products (logical and) of the input signals. This structure is well suited for automatic generation of programming patterns by logic compilers.

PAL devices are programmed by blowing the fuses permanently using overvoltage.

Today, more complex devices based on the same original architecture are available (CPLD's for Complex PLD's) that incorporate the equivalent of several original PAL chips. PAL chips are, however, still popular due to their high speed.

Generic Array Logic devices are reprogrammable and contain more logic gates.

Last updated: 1995-12-09

Programmable Interrupt Controller

<integrated circuit>

PIC A special-purpose integrated circuit that functions as an overall manager in an interrupt driven system. It accepts requests from the peripheral equipment, determines which of the incoming requests is of the highest priority, ascertains whether the incoming request has a higher priority value than the level currently being serviced, and issues an interrupt to the CPU based on this determination.

PICs typically have eight interrupt lines, and two PICs are often cascaded to provide 15 available interrupt lines.

See also: Advanced Programmable Interrupt Controller.

Last updated: 2003-03-18

Programmable Logic Controller

<hardware>

(PLC) A device used to automate monitoring and control of industrial plant. Can be used stand-alone or in conjunction with a SCADA or other system.

Last updated: 1997-02-11

Programmable Read-Only Memory

<storage>

(PROM) A kind of ROM which can be written using a PROM programmer. The contents of each bit is determined by a fuse or antifuse. The memory can be programmed once after manufacturing by "blowing" the fuses, which is an irreversible process. Blowing a fuse opens a connection while blowing an antifuse closes a connection (hence the name). Programming is done by applying high-voltage pulses which are not encountered during normal operation.

Last updated: 1995-04-22

Programmed Data Processor

<computer>

(PDP) Early (1960's?) Digital Equipment Corporation family of minicomputers. The best known ranges were the PDP-10 and PDP-11. PAL was the assembly language.

Last updated: 1997-11-21

PROgrammed Graph REwriting Systems

<language>

(PROGRES) A very high level language based on graph grammars, developed by Andy Scheurr <[email protected]> and Albert Zuendorf <[email protected]> of RWTH, Aachen in 1991.

PROGRES supports structurally object-oriented specification of attributed graph structures with multiple inheritance hierarchies and types of types (for parametric polymorphism). It also supports declarative/relational specification of derived attributes, node sets, binary relationships (directed edges) and Boolean constraints, rule-oriented/visual specification of parameterised graph rewrite rules with complex application conditions, nondeterministic and imperative programming of composite graph transformations (with built-in backtracking and cancelling arbitrary sequences of failing graph modifications).

It is used for implementing abstract data types with graph-like internal structure, as a visual language for the graph-oriented database GRAS, and as a rule-oriented language for prototyping nondeterministically specified data/rule base transformations.

PROGRES has a formally defined semantics based on "PROgrammed Graph Rewriting Systems". It is an almost statically typed language which additionally offers "down casting" operators for run time checked type casting/conversion (in order to avoid severe restrictions concerning the language's expressiveness).

Version RWTH 5.10 includes an integrated environment.

[A. Scheurr, "Introduction to PROGRES, an Attribute Graph Grammar Based Specification Language", in Proc WG89 Workshop on Graphtheoretic Concepts in Computer Science", LNCS 411, Springer 1991].

ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/ for Sun-4.

Last updated: 1993-11-02

programmer

<job>

(Or "computer programmer", "developer") Someone who writes or debugs computer programs, for a living or for fun. "Analyst/developer" is a common equivalent job title, implying the added role of system analysis. The term may be qualified according to the type of software or programming language - "application programmer", "system programmer", Perl programmer, etc.

A contract programmer usually has a fixed-length contract, unlike a permanent employee.

Last updated: 2000-01-24

Programmer Brain Damage

<humour>

(PBD) A classification of a bug which was obviously introduced by an incompetent or short-sighted programmer.

Compare UBD. See also brain-damaged.

Last updated: 1996-10-13

Programmer's Cheer

<humour>

 "Shift to the left!
 Shift to the right!
 Pop up, push down!
 Byte!  Byte!  Byte!"

[Origin?]

[Jargon File]

Last updated: 1996-10-13

Programmers Hierarchical Interactive Graphics System

(PHIGS) An ANSI/ISO standard. Worked on by the ISO/IEC group JTC1/SC24.

[More detail?]

Last updated: 1995-01-04

PROgrammer's Microapplication Language

<language>

(PROMAL) An interpreted C-like language from Systems Management Associates for MS-DOS, Commodore 64, and Apple II.

[Computer Language, Mar 1986, pp. 128-134].

Last updated: 1996-03-21

Programmer's Switch

<hardware>

A button on the front of some Apple Macintosh computers which, when pressed, causes a command line prompt to appear. This gives access to the built-in mini-debugger, which has commands to dump memory, return to the application that was broken out, and others. A more sophisticated debugger must be installed in order to inspect breakpoints, etc.

Last updated: 2000-11-01

programming

1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file).

2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.

3. The most fun you can have with your clothes on (although clothes are not mandatory).

[Jargon File]

Last updated: 2003-02-12

programming fluid

<jargon>

(Or "wirewater") Coffee, unleaded coffee (decaffeinated), Cola, or any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs.

Last updated: 1996-05-01

programming language

<language>

A formal language in which computer programs are written. The definition of a particular language consists of both syntax (how the various symbols of the language may be combined) and semantics (the meaning of the language constructs).

Languages are classified as low level if they are close to machine code and high level if each language statement corresponds to many machine code instructions (though this could also apply to a low level language with extensive use of macros, in which case it would be debatable whether it still counted as low level). A roughly parallel classification is the description as first generation language through to fifth generation language.

The other major classification of languages distinguishes between imperative languages, procedural language and declarative languages.

Programming languages in this dictionary.

Programming languages time-line/family tree.

Last updated: 2004-05-17

Programming Language/Cornell

<language>

(PL/C) A large subset of PL/I from Cornell University, aimed at novice programmers.

["Introduction to PL/1 and PL/C programming", Kochenburger, Ralph J., Santa Barbara, Hamilton, c1974].

["User's Guide to PL/C", S. Worona et al, Cornell, June 1974].

["PL/C - A High Performance Compiler" H.L. Morgan et al, Proc SJCC, AFIPS 38:503-510 (1971)].

Last updated: 1999-05-26

Programming Language/Systems

<language>

(PL/S) An IBM machine-oriented language derived from PL/I, in the late 1960s, for the IBM 360 and IBM 370. PL/S permitted inline assembly language and control over register usage.

Previous IBM 360 operating systems such as OS/MFT and OS/MVT had been written entirely in assembly language. The first IBM OS that had any significant portion written in PL/S was MVS, followed by OS/VS1, OS/VS2 and OS/SVS.

PL/S was part of IBM's OCO (object code only) effort, started in 1983. PL/S was used internally and never released to the public. It is documented in various IBM internal ZZ-? publications.

Versions: PLS1, PLSII.

["PL/S, Programming Language/Systems", W.R. Brittenham, Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540-556].

Last updated: 2012-01-20

Program Temporary Fix

<programming>

(PTF) (Colloquially: Probably This Fixes) An IBM sanctioned patch, often implemented using ZAP or SUPERZAP.

Last updated: 1998-07-08

program transformation

The systematic development of efficient programs from high-level specifications by meaning-preserving program manipulations. Also known as optimisation. See fusion, loop combination, peephole optimisation, register allocation, tupling, unfold/fold.

Prograph

<language>

A visual dataflow programming language and environment from the Technical University of Halifax.

Prograph is an entirely graphical visual programming language, other than for the text of method names, and supports the program development process in a highly-interactive fashion. Operation icons are connected by data links through which information flows. It supports object orientation via class-based data abstraction with single inheritance.

Prograph is available for the Macintosh, and soon for Windows and Unix, from TGS Systems.

Last updated: 1995-03-31

Nearby terms:

progletprogramProgram Composition Notationprogram counter

Try this search on Wikipedia, Wiktionary, Google, OneLook.



Loading