p7zip – p7zip is a port of the command line version of the 7-Zip file archiverfamous for its introduction of the high-compression 7z formatto POSIX-conforming operating systems, such as Unix, Linux, Windows NT (or greater version) and Mac OS X. It is free software, available under the LGPL free software license.
Packaged Software – Packaged software refers to a commercial application program or collection of programs developed to meet the needs of a variety of users, rather than custom designed for a specific user or company. Packaged software is normally put on a CD (or disks), packaged in a box and sold to the general public.
Page Recognition – Page recognition is a feature of software to recognize different kinds of items on a scanned page. Page recognition software can distinguish text from pictures, and converts text on the page into computer characters by means of optical character recognition (OCR).
Paint Program – Paint program is a type of application that allows a user to “paint” on the computer screen. Using a mouse or other pointer, the user can select from various drawing and painting tools such as brushes, spray cans, etc. and a full palette of colors. The paint program allows the user to control the color of each pixel. Sophisticated graphics editing capabilities such as screens, filters, etc., can be used. Example ofpaint program include Adobe Illustrate and Coral Draw.
Parallel Algorithm – In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is one which can be executed a piece at a time on many different processing devices, and then put back together again at the end to get the correct result.
Parallel Compiler – Parallel compiler is a type of computer compiling technique that is used to speed up the process of compilation on multiprocessor machines. Parallel compilers are developed for supercomputers and other large scale multiprocessor machines.
Parallel Computing – Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors or multiple computers in order to obtain results faster. The idea is based on the fact that the process of solving a problem usually can be divided into smaller tasks, which may be carried out simultaneously with some coordination. A subtype of parallel algorithms, distributed algorithms are algorithms designed to work in cluster computing and distributed computing environments, where additional concerns beyond the scope of “classical” parallel algorithms need to be addressed.
Parallel Port – Parallel port, also called a female connector, is a socket on a computer for transmitting data in parallel, or more than one bit at a time. There may be eight, 16, or 36 channels; each channel carries one bit of information, so eight channels would be used to transmit one eight-bit byte at a time. Not all the channels are used for data; some maybe used for control signals. A parallel port has 25 holes, and the cable that plugs into it has 25 pins.
Parallel Processing – Parallel processing is a computing architecture within a single computer that performs more than one operation at the same time. Parallel processing can also be achieved by using multiple computers clustered together to procss one part of a large function simultaneously to obtain results faster.
Parallel Terraced Scan – The parallel terraced scan is a multi-agent based search technique that is basic to cognitive architectures, such as copycat, letter-string, the examiner, tabletop, and others. It was developed by John Rehling and Douglas Hofstadter at the Center for Research on Concepts and Cognition at the Indiana University, Bloomington.
Parser Program – Parser is a computer program to conduct parsing process to determine the syntactic structure of a sentence or string of symbols in some languages. 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.
Parsing Process – Parsing process, also known as syntax analysis, refers to the analyzing an input sequence (read from a file or a keyboard, for example) in order to determine its grammatical structure with respect to a given formal grammar. Parsing process transforms input text into a data structure, usually a tree, which is suitable for later processing and which captures the implied hierarchy of the input. Generally, parsers operate in two stages, first identifying the meaningful tokens in the input, and then building a parse tree from those tokens.
Partial Evaluation – Partial evaluation is a technique for program compiling optimization. During compiling, partial evaluation transforms and pre-computes the static data, part of the input data known at compile time, into dynamic data, which in general runs more efficiently.
Pascal programming Language – Pascal pogramming language is a high-level programming language developed by Niklaus Wirth in the late 1960s based on ALGOL, and named after Blaise Pascal, a seventeenth-century French mathematician who constructed one of the first mechanical adding machines. Pascal is best known for its affinity to structured programming techniques. The nature of the language forces programmers to design programs methodically and carefully. For this reason, it is a popular teaching language.
Patch – A patch, so called a service patch or software pacth, refers to a fix to a program bug. A patch is an actual piece of object code that is inserted into (patched into) an executable program. Patches typically are available as downloads over the Internet.
Pattern Matching – Pattern matching is the act of checking for the presence of the constituents of a given pattern. In contrast to pattern recognition, the pattern is rigidly specified. Such a pattern concerns conventionally either sequences or tree structures. Pattern matching is used to check that things have the desired structure, to find relevant structure, to retrieve the aligning parts, and to substitute the matching part with something else.
Payware – Payware is a type of Internet downloadable software that has a price and is on sale. It is a commercial software not freeware or shareware.
PC Weenies – The PC Weenies is a popular webcomic with a special focus on technology humor and geek culture, as experienced through the lives of the fictitious Weiner family. The PC Weenies was created and launched on the web in October 1998 by Krishna M. Sadasivam, a former electrical engineer. The series has enjoyed success in web and print media. Most notably, The PC Weenies was the first webcomic to appear regularly on CNET. Currently, The PC Weenies appear in both Tau Beta Pi’s The BENT publication, as well as EE Times.
PCBoard – PCBoard was an MS-DOS / OS/2 bulletin board system (BBS) software package first created by the Clark Development Corporation, first introduced in 1983. Clark Development pioneered the FILE_ID.DIZ format as well as a powerful scripting language (PPL) which supported modifications called PPEs (PCBoard Programming Executable).
PC-BSD – PC-BSD is a Unix-like, desktop-oriented operating system based on FreeBSD. It aims to be easy to install by using a graphical installation program, and easy- and ready-to-use immediately by providing KDE as the default, pre-installed graphical user interface. The PC-BSD project is currently developing a graphical software installation program which will install pre-built software packages
PC-DOS: Personal Computer-Disk Operating System – Personal Computer-Disk Operating System(PC-DOS) is an operating system developed by Microsoft and supplied with IBM PCs. Microsoft also developed MS-DOS, a very similar operating system, to be used with non-IBM PCs. Starting with DOS 6, MS-DOS and PC-DOS have different sets of auxiliary utility programs. MS-DOS and PC-DOS are both called DOS for short.
PCL: Printer Control Language – Printer Control Language (PCL) is the page description language (PDL) developed by HP that has become a de facto industry standard. Originally developed for early inkjet printers in 1984, PCL has been released in varying levels for thermal, dot matrix printer, and laser printers. PCL 5 and later versions support a scalable font technology called Intellifont.
PCMS: Platform Content Management System – Platform Content Management System (PCMS), a type of content management system, provides the ability to manage all objects (files, folders, programs, etc) on a given set of systems.
PDF: Portable Document Format – Portable Document Format(PDF) is the native file format for Adobe Systems’ Acrobat. The PDF file format is independent of the original application software, hardware, and operating system used to create those documents. A PDF file can describe documents containing any combination of text, graphics, and images in a device-independent and resolution independent format.
PDL: Page Description Language – Page Description Language(PDL) is a type of printer language that allows the appearance of a printed page to be described in a high-level, device-independent way. Using PDL, printing then becomes a two-stage process: an application program produces a description in the language, which is then interpreted by a specific output device. Page Description Language can therefore serve as an interchange standard for transmission and storage of printable documents. Examples of PDL are Adobe Systems, Inc.’s PostScript or Xerox’s Interpress.
PEEK and POKE – In computing, PEEK is a BASIC programming language function used for reading the contents of a memory cell at a specified address. The corresponding command to set the contents of a memory cell is POKE.
Peephole Optimization – Peephole optimization is a kind of optimization performed over a very small set of instructions in a segment of generated code. The set is called a “peephole” or a “window”. This kind of optimization makes certain assumptions about the efficiency of instructions. Modern computer architectures typically allow for many hundreds of different kinds of peephole optimizations, and it is therefore often appropriate for compiler programmers to implement them using a pattern matching algorithm.
People Aggregator – A people aggregator is a social networking system derived from FOAF that uses open standards, network interconnectivity, and massive flexibility to decentralise social networking on the internet.
Per Seat – Per seat is a way of licensing software based on the number of workstations on which it will be installed and used.
Perl: Practical Extraction and Reporting Language – Perl (Practical Extraction and Reporting Language) is a script programming language that is similar in syntax to the C language and that includes a number of popular Unix facilities such as sed, awk, and tr.
PHP Hypertext Preprocessor – PHP Hypertext Preprocessor(PHP) is an open-source, reflective programming language. Originally designed as a high level scripting language for producing dynamic Web pages, PHP is used mainly in server-side application software. PHP allows web developers to create dynamic content that interacts with databases. PHP applications are normally found on Linux servers and in conjunction with MySQL databases. It provides those servers with functionality similar to that provided to the Windows platform by Active Server Pages technology.
PHPEdit – PHPEdit is a commercial Integrated Development Environment (IDE) developed by the PHPEdit Group. It runs on the Microsoft Windows operating system, and is designed mainly for the PHP language.
Physalis – Physalis is a project to build software that allows users to run a service framework (OSGi-like) on top of Microsoft .NET capable devices and computers. It is also supposed to work with the .NET Compact Framework and thus support diverse embedded devices like Pocket PCs, Smart Phones and custom solutions based on the Windows CE embedded operating system.
PID: Process Identifier – Process identifier(PID) is an integer used by the Unix kernel to uniquely identify a process. PIDs are returned by the fork system call and can be passed to wait() or kill() to perform actions on the given process.
Piracy – Software piracy refers to the illegal copying, distribution, or use of software.
PKZIP: Phil Katz’s ZIP – Phil Katz’s ZIP (PKZIP) program is an archiving tool originally written by the late Phil Katz, and marketed by his company PKWARE, Inc. The first version of PKZIP appeared in 1989. It was a DOS command-line tool and was distributed as shareware.
Planner Programming Language – Planner programming language designed by Carl Hewitt at MIT in 1969. First subsets such as Micro-Planner and Pico-Planner were implemented and then essentially the whole language was implemented in Popler and derivations such as QA-4, Conniver, QLISP and Ether were important tools in Artificial Intelligence research in the 1970’s, which influenced the commercial developments of KEE and ART.
Plugin or Plug-In – A plugin (or plug-in) is a type of computer programs that interacts with a main application (a web browser or an email program, for example) to provide a certain, usually very specific, function. Typical examples are plugins that read or edit specific types of files (for instance, multimedia files); encrypt or decrypt email (for instance, PGP); filter images in graphic programs.
Podcatcher – A podcatcher is a computer program used to automatically download podcasts. It is a form of aggregator, and can also transfer received audio files to a portable media player. For example, the iTunes by Apple Computers, is a Podcatcher.
Polyfont Recognition – Polyfont recognition, a term often used with OCR software, refers to the capability of computer software to read (or recognize) more than one type of font on a document.
Portable Software – Portable software refers to a type of software that can be used on more than one hardware platform, and easily switched from one to another.
POSIX: Portable Operating System Interface – Portable Operating System Interface(POSIX) is a set of IEEE standards (1003) designed to provide application portability between Unix variants. IEEE 1003.1 defines a Unix-like operating system interface, IEEE 1003.2 defines the shell and utilities and IEEE 1003.4 defines real-time extensions.
Postgres – Postgres is an object-oriented relational database management system (OORDBMS). It began as a research project at the University of California, Berkely and is available in several free and commercial versions today.
PostScript – PostScript, a Page Description Language(PDL), is an interpreted, stack-based language (like FORTH). It was used as a page description language by the Apple LaserWriter, and now many laser printers and on-screen graphics systems. Its primary application is to describe the appearance of text, graphical shapes and sampled images on printed or displayed pages.
POV-Ray: Persistence of Vision Raytracer – Persistence of Vision Raytracer (POV-Ray) is a free ray tracing program available for a variety of computer platforms. It was originally based on DKBTrace, written by David K. Buck and Aaron A. Collins.
PowerAnimator – PowerAnimator, the precursor to what is now Maya and StudioTools, was an expensive, complex, highly-integrated industrial 3D modeling, animation, and visual effects suite. It was the most widely used non-proprietary software in the visual effects and animation industries, and as such, it has had a long track record, starting with Terminator 2 in 1990 and ending in Star Wars Episode I: The Phantom Menace in 1999. PowerAnimator ran natively on MIPS based SGI Irix systems up until the late 1990s, when it was ported to the NT platform.
PowerArchiver – PowerArchiver is a commercial file archiver designed for Microsoft Windows users, developed by ConexWare Inc. It uses eg. 7-Zip format, and can also handle a number of other archive formats. It is a commercial product with a free evaluation version.
PowerBASIC – PowerBASIC is a dialect of the BASIC programming language, based on the Turbo Basic. Its syntax is similar to that of FreeBasic, GW Basic, QBasic and Turbo Basic. PowerBASIC compilers compile to a pure binary form (native code), without an interpreter at all involved. PowerBASIC programs also don’t require any external DLLs to run (unless the programmer deliberately designs them to do so). The executable files they create are almost as compact as those written directly in Assembly Language, run fast, and require no runtime files. Unlike Visual Basic (for example) with its large runtime overhead, it is common for a sophisticated application written in PowerBASIC to be so small that it fits on a diskette.
PPM: Project Portfolio Management – Project portfolio management (PPM) refers to a software package that enables corporate and business users to organize a series of projects into a single portfolio that will provide reports based on the various project objectives, costs, resources, risks and other pertinent associations. Project portfolio management software allows the user, usually management or executives within the company, to review the portfolio which will assist in making key business decisions for the projects.
PRE: Partial Redundancy Elimination – Partial redundancy elimination (PRE) is a compiler optimization that eliminates expressions that are redundant on some but not necessarily all paths through a program. PRE is a form of common subexpression elimination (CSE).
Preemptive – Preemptive is a practice of an operating system if it allows the running task to be suspended when a task of higher priority becomes ready (or a task of equal priority is granted a turn). Non-preemptive schedulers are easier to be implemented but less appropriate for embedded systems, which must be responsive to external events
Pre-Emptive Multitasking – Pre-emptive multitasking, also known as preemptive multithreading, is a form of multitasking where the scheduler can interrupt and suspend (“swap out”) the currently running task in order to start or continue running (“swap in”) another task. The tasks under pre-emptive multitasking can be written as though they were the only task and the scheduler decides when to swap them. The scheduler must ensure that when swapping tasks, sufficient state is saved and restored that tasks do not interfere. Preemptive multitasking allows the computer system to more reliably guarantee each process a regular “slice” of operating time. It also allows the system to rapidly deal with important external events like incoming data, which might require the immediate attention of oneor another process.
Preprocessor – A preprocessor is a program that takes text and performs lexical conversions on it. The conversions may include macro substitution, conditional inclusion, and inclusion of other files.
Priority Inversion – Priority inversion is the scenario in which a high-priority task is delayed while waiting for access to a shared resource that is not even being used at the time. This causes the execution of the high priority task to be blocked until the low priority task has released the resource, effectively “inverting” the relative priorities of the two tasks. If some other medium priority task attempts to run in the interim, it will take precedence over both the low priority task and the high priority task.
Pro Tools – Pro Tools is a Digital Audio Workstation (DAW) by Digidesign for music production and digital audio editing. It is widely used by music and Post professionals in television, and music and serves as the de facto standard in those industries. Pro Tool is one of the first programs to provide CD-quality (16-bit and 44.1 kHz) multitrack editing on a personal computer.
Procedural Language – Procedural language, a term used in contrast to declarative language, describes a language where the programmer specifies an explicit sequences of steps to follow to produce a result. Common procedural languages include Basic, Pascal, C and Modula-2.
Procedure – Procedure, in Computer Programming, also called routine, subroutine, and function, is a section of a program that performs a specific task.
Procedure Programing – Procedural programming refers to a programming paradigm based upon the concept of the procedure call. Procedures, also known as routines, subroutines, methods, or functions simply contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program’s execution, including by other procedures or itself. Procedural programming is often a better choice than simple sequential or unstructured programming in many situations which involve moderate complexity or which require significant ease of maintainability.
Processor-Independent Software – Processor-independent software refers to a type of software that is independent of the processor (or CPU) on which it will be run. Most programs that can be written in a high-level language are processor independent.
Processor-Specific Software – Processor-specific software is a type of software that is dependent on the processor(or CPU) on which it will be run. Such code must usually be written in assembly language. Poor design can make a high-level language program processor specific; careless assumptions about the size of longs and ints in C, for example, or explicit accesses to memory that create a particular endianness limit portability.
Profiler – In computer programming, a profiler is a performance analysis tool that measures the behavior of a program as it runs, particularly the frequency and duration of function calls. The output is a stream of recorded events (a trace) or a statistical summary of the events observed (a profile). These statistics include the number of calls to each subroutine and the total amount of time spent within each. This data can be used to learn which subroutines are the most critical and, therefore, demand the greatest code efficiency. Profilers use a wide variety of techniques to collect data, including hardware interrupts, code instrumentation, operating system hooks, and performance counters.
Program – In computer science, a program, also known as computer program, software, applications program, system software, or software progam, is an organized list of instructions that, when executed, causes the computer to behave in a predetermined manner.
Programming Language – A programming language is an artificial language that can be used to control the behavior of a machine (often a computer). Programming languages have syntactic and semantic rules used to define meaning. Programming languages are used to facilitate communication about the task of organizing and manipulating information, and to express algorithms precisely. Programming language usually refers to high-level languages, such as BASIC, C, C++, COBOL, FORTRAN, Ada, and Pascal. Each language has a unique set of keywords (words that it understands) and a special syntax for organizing program instructions. Each different type of CPU has its own unique lower level language, also known as machine language.
Programming Macro – Programming macro is a type of macro that takes a computer program as input and output a new, expanded program. Hence, this process is called macro-expansion and the tool that does this is called a macro-expander. For many programming languages, a macro expander is included in the interpreter or compiler. These macros are typically used to enable a higher level of abstraction in programming languages.
Programming Tool – Programming tool, also known as Software tool, is a program or application that software developers use to create, debug, or maintain other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object.
Prolog – Prolog is a logic programming language. It was created by Alain Colmerauer and Robert Kowalski around 1972 as an alternative to the American-dominated Lisp programming languages. It is an attempt to make a programming language that enables the expression of logic instead of carefully specified instructions on the computer.
Proprietary Software – Proprietary software refers to a type of software in which the user does not control what it does or cannot study or edit the code and can not distribute the software without permission of the software copyright owner, in contrast to free software, which can be used, copied, studied, modified and redistributed.
PSE: Problem Solving Environment – A Problem Solving Environment (PSE) is specialized software for solving one class of problems. Many PSEs were introduced in the 1990s. They use the language of the respective field and often employ modern graphical user interfaces €“ the goal is to make the software easy to use for specialists in fields other than computer science.
Pseudonymous Remailer – Pseudonymous remailer, also known as nym server, as opposed to an anonymous remailer, is an Internet software program designed to allow people to write anonymous messages on Usenet newsgroups and send anonymous email under a pseudonym. Unlike a purely anonymous remailers, it assigns its users a user name, and it keeps a database of instructions on how to return messages to the real user. These instructions usually involve the anonymous remailer network itself, thus protecting the true identity of the user.
Public-Domain Software – Public-domain software refers to any program that is not copyrighted. Public-domain software is free and can be used without restrictions. The term public-domain software is often used incorrectly to include freeware, free software that is nevertheless copyrighted.
PUP: Potentially Unwanted Program – Potentially unwanted program(PUP) is a term used to describe unwanted programs such as Trojans, spyware and adware, along with other malware which may compromise your privacy. Some antivirus and PC security software packages will scan for and protect your system against PUPs. The term PUP was first used by persons at McAfee’s Avert research labto avoid any legal issues that may arise from calling these types of applications “spyware”.
Purify Memory Debugger – Purify memory debugger program is used by software developers to detect memory access errors in programs, especially those written in C or C++. It was originally written by Reed Hastings of Pure Software, now part of IBM. Purify allows dynamic verification, a process by which a program discovers errors that occur when the program runs, much like a debugger. Static verification or static code analysis, by contrast, involves detecting errors in the source code without ever compiling or running it, just by discovering logical inconsistencies. The type checking by a C compiler is an example of static verification.
PWB Shell – The PWB shell, also known as the Mashey shell, was an early Unix shell distributed with some versions of Programmer’s Workbench UNIX circa 1975-1977. It was a modified version of the Thompson shell with additional features to increase usability for programming, and was maintained by John Mashey and various others. Although it was soon superseded by the Bourne shell, several features introduced in the PWB shell remain in many later shells.
PyGTK – PyGTK is a set of Python wrappers for the GTK+ GUI library. PyGTK is free software and licensed under the LGPL. Its original author is famous GNOME hacker James Henstridge, but today there are six people in the team that maintains the bindings as well as a countless number of other helpers that have submitted patches and bug reports.
PyQt – PyQt is the Python binding of the GUI toolkit Qt. PyQt is developed by the British firm Riverbank Computing. It is available under similar terms as Qt: for free (GPL’ed) under Linux, commercially under Mac/OS and Windows.
Python – Python is an interpreted programming language created by Guido van Rossum in 1990. Python is fully dynamically typed and uses automatic memory management; it is thus similar to Perl, Ruby, Scheme, Smalltalk, and Tcl. Python is developed as an open source project, managed by the non-profit Python Software Foundation, and is available for free from the project website.