Virtual Pascal is a
freeware
Freeware is software, often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the free ...
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
Pascal programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
compiler,
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE), and
debugger
A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
for
OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, with some limited
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
support. Virtual Pascal was developed by Vitaly Miryanov and later maintained by Allan Mertner.
Features
The compiler is compatible with
Turbo Pascal
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
,
Borland
Borland Software Corporation was a computing technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad, and Philippe Kahn. Its main business was developing and selling software development and software deployment products. B ...
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
, and
Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
, although language- and RTL-compatibility is limited for features introduced after Delphi v2 and FPC 1.0.x.
VP was mainly used for these purposes:
* Easily port existing 16-bit
Turbo Pascal
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
programs to 32 bits
* Port existing
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
Object Windows Library
The Object Windows Library (OWL) is a C++ object-oriented application framework designed to simplify desktop application development for Windows and (some releases) OS/2.
OWL was introduced by Borland in 1991 and eventually deprecated in 1997 i ...
(OWL) programs to 32-bit Windows (in theory)
* Write console (text-mode) programs for several platforms
* Pascal development using the 32-bit
Windows API
The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running. Programs can acces ...
(the classic development, no COM)
* Learn
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
Significant features of Virtual Pascal include:
* Text-mode IDE
* Debugger is integrated directly into the IDE and is reminiscent of
Turbo Debugger
Turbo Debugger (TD) is a machine-level debugger for DOS executables, intended mainly for debugging Borland Turbo Pascal, and later Turbo C programs, sold by Borland. It is a full-screen debugger displaying both Turbo Pascal or Turbo C source and ...
* Fast compiling
* Tool-chain written mostly in
x86 assembly language
x86 assembly language is a family of Low-level programming language, low-level programming languages that are used to produce object code for the x86 class of processors. These languages provide backward compatibility with CPUs dating back to th ...
History
Microsoft Windows, OS/2
The compiler was quite popular in the
Bulletin board system
A bulletin board system (BBS), also called a computer bulletin board service (CBBS), is a computer server running list of BBS software, software that allows users to connect to the system using a terminal program. Once logged in, the user perfor ...
(BBS) scene, probably because of its OS/2 port and being one of the few affordable multi-target compilers. Also
Turbo Pascal
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
had been popular in the BBS scene too, but its successor,
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
was suddenly for Windows only. Virtual Pascal provided a migration path for existing codebases.
There has been pressure from some users to license Virtual Pascal as
open-source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
. This has not been done, for these reasons:
* The compiler
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
is mostly written in
x86 assembly language
x86 assembly language is a family of Low-level programming language, low-level programming languages that are used to produce object code for the x86 class of processors. These languages provide backward compatibility with CPUs dating back to th ...
which is hard to change and maintain.
* Part of the
run-time library
Runtime, run-time, or run time may refer to:
Computing
* Runtime (program lifecycle phase), the period during which a computer program is executing
* Runtime library, a program library designed to implement functions built into a programming lang ...
is proprietary to
Borland
Borland Software Corporation was a computing technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad, and Philippe Kahn. Its main business was developing and selling software development and software deployment products. B ...
(The Free Pascal run-time library was ported to VirtualPascal by Noah Silva, however newer versions of the Free Pascal RTL use features of the Free Pascal compiler which are unsupported by VirtualPascal, and so cannot be ported).
* The patch/diff tool to work around the above (provide changes to proprietary without distributing parts of the original) was proprietary and (Windows) 16-bit only.
* Documentation and help are maintained with expensive (and sometimes no longer available) proprietary tools
* There is nobody who fully understands the code. Allan said that some of the deeper areas were no-touch for him (original code by Vitaly)
Although it had a wide user base in the late 1990s, VP has not evolved significantly since 2001, and after a few maintenance-only releases, the owner declared that development had ceased in 2005.
[
On 4 Apr 2005, Virtual Pascal was announced 'dead' on the official site. The last released version (2.1 Build 279) was announced on 13 May 2004.][
]
Linux
An initial version was released on 4 July 1999, with the last known version released on 26 September 1999. This version was maintained by Jörg Pleumann. Run-Time Library to 32-bit DPMI.
See also
*Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
References
External links
*fPrint (UK) Ltd page
OS/2, Windows 95/98/NT
*Jörg Pleumann page
Virtual Pascal for Linux
Community set up by the author of Virtual Pascal
Download site that has the last version
{{Pascal programming language family
Pascal (programming language) compilers
Freeware
Assembly language software
Pascal (programming language) software
1995 software
Products and services discontinued in 2005
Linux integrated development environments