![]() |
Pascal Info | ![]() |
You are here: VS Home>Pascal Info |
|
Skip down to Pascal ResourcesPascalPascal is a powerful, general-purpose programming language in which data and algorithms can be expressed clearly. Pascal's strong typing catches many errors at compile time rather than run time--consequently saving the programmer time and effort, and making code more reliable. Professional programmers who frequently use Pascal as well as the more common C, C++ or Java languages often report that they can develop and maintain code more quickly and with fewer errors when they work in Pascal. (Programmers who have significant experience in only one language always find that language to be the best and most beautiful.) A brief history: Niklaus Wirth drafted a preliminary description of the programming language Pascal in 1968, drawing heavily on Algol-60, but with major extensions in data structures. The first compiler, by Urs Ammann, was operational in 1970, and the first published language description was 1971 (N. Wirth, The Programming Language Pascal, Acta Informatica 1: 35-63, also in Programming Language Design, A.I.Wasserman, Ed., IEEE Computer Society Press, 1980 ). Hundreds of implementations followed, by 1980, for almost every known computer. But progress was slow on developing a standard for Pascal extensions important for large-scale systems programming (eventually published as Extended Pascal). At the same time, other languages expanded or emerged: C was carried along with the rise of UNIX, C++ spread because it was first with object-oriented features, and Java due to its orientation for web programming. Today, although it is no longer the most prevalent language, Pascal and especially Extended Pascal offer many advantages over other programming languages, whether as a first language for a student or as the language of a team of professionals programing large, mission-critical software. StandardsClassic Standard Pascal A 1974 book by Kathleen Jensen and Niklaus Wirth, Pascal User Manual and Report (Springer-Verlag) served for years as the only definition of the language (Jensen was subsequently updated; see below). Because of the popularity of Pascal, a more precise definition was developed by the International Standards Organization (ISO), along with IEEE, ANSI and BSI. The resulting document for "Standard Pascal" is available in PDF here as a free download: ISO 7185:1990 Programming Languages - Pascal (PDF)Although precise, the official definition is very hard to read. It may be tempting to read the above standard document because it is a free download, if you are starting out with Pascal it will almost certainly be unreadable. (And we don't mean "hard to read", we mean "unreadable.") Two excellent, highly readable versions of the ISO Pascal standard have been published: Doug Cooper, 1983, Standard Pascal User Reference Manual (W.W. Norton and Company, ISBN: 0393301214). Kathleen Jensen, Niklaus Wirth, Andrew B. Mickel, and James F. Miner, 1985 Pascal, User Manual and Report, 3rd Edition 1985, 4th Edition 1991 (Springer Verlag, ISBN: 0387976493). Get the book by Cooper, the one by Jensen, Wirth, Mickel and Miner, or a good Pascal textbook. Both the above are available from Amizon.com in 2002 (yes, some books are expensive; remember, books are free in the library). Extended Pascal To define a fully-functional language for large commercial use, while retaining the solid structure and typing of Standard Pascal, a definition of "Extended Pascal" has been developed. The official standard, again from ISO, is available here, as is the set of Object-Oriented extensions proposed by the Extended Pascal committee: ISO/IEC 10206:1990 Extended Pascal (PDF)Object-Oriented Pascal Standards (1993 draft; HTML) Again, the official standard is difficult to read. Tony Hetherington at Prospero Software, which provides an Extended Pascal compiler has written two highly readable descriptions. Hetherington has a short web-readable introduction to Extended Pascal, in terms of its extensions from "classic" Standard Pascal. This can be seen by clicking on: Extended Pascal ... a new standard in computer languages (HTML). by Tony Hetherington, 1993, Prospero Software Ltd. A printed, still highly readable but more complete description of Extended Pascal, with its object extensions, is: Extended Pascal and Objects: A Practical Guide, by Tony Hetherington, 1996, Prospero Software Ltd. London. 59 pp. To request a printed copy, click on the link to Prospero Software. Finally, a set of questions and answers by John Reagan about Pascal and Pascal standards, can be viewed here as an HTML file: |
The following is a very abbreviated list of diverse but good Pascal web sites. This list is drawn from one created by the Pascal Central webmaster, Bill Catambay. With his permission, this list was drawn from his chapter of a book The Pascal Programming Language, Bill Catambay, © 2001, Academic Press. For a far more comprehensive list (as of December 2001, it had 110 links!), click on Pascal Central's page Pascal Links and Forums.
Web Site | Description |
Pascal Central http://pascal-central.com/ |
A great web site for Pascal: technical information, source code, and Pascal-related internet links. |
Learn Pascal http://www.taoyue.com/tutorials/pascal/ |
A very complete and comprehensive Pascal tutorial. The tutorial is searchable, and serves as a useful Pascal reference even after one has completed it. |
Prospero Pascal http://www.prosperosoftware.com |
Prospero fully supports both Classic Standard Pascal and Extended Pascal standards a well as the Pascal Committee's Object-oriented extensions. |
Introduction to Pascal http://www.cit.ac.nz/smac/pascal/ |
A good on-line course, with (optional) tests, that teaches Pascal programming. Starts at elementary level, but covers all Pascal constructs. Minor problem is that a couple of Turbo forms are given as if they were standard. |
MacTech Macintosh Pascal http://www.mactech.com/macintosh-pascal/ |
MacTech hosts the Macintosh Pascal Hobbyist Guide page. |
THINK Pascal Guide http://www.think-pascal.com/ |
Ingemar's Guide to Think Pascal, a free Mac development environment. |
Ingemar's Corner http://pascal-central.com/ingemars-corner.html |
Archive and description of very useful Pascal sample code for Macintosh. |
How to Code Pascal http://www.allegro.com/papers/htpp.html |
A paper on how to write quality Pascal code. |
Pascal Tools http://pascal-central.com/tools.html |
Free Pascal tools for Macintosh, Windows and Linux. |
Pascal discussion and mailing lists http://pascal-central.com/plinks.html#anchor-lists |
Pascal mailing lists that can be used to ask questions, trouble shoot problems with code, and share your expertise. |
The most widely used Pascal compilers are described below. This does not include some minicomputer and mainframe Pascal compilers that are specific to a single type of computer, or are provided as part of the operating system utilities (e.g. pc with BSD unix). The C/S/F column is Commercial/Shareware/Freeware. In the "Which Pascals" column, PAS refers to Classic Standard Pascal, EPAS refers to Extended Standard Pascal, and OP refers to Object Oriented Programming additions, following three dialects: Apple's Object Pascal, Turbo's Object extensions, and the Extended Pascal Committee's draft standard for Pascal OOP.
Compiler and Vendor | C/S/F | Platforms | Which Pascals | Comments |
Compaq Pascal by Compaq Computer http://www.openvms.compaq.com/ commercial/pascal/ |
Comm | OpenVMS Tru64 Unix |
PAS - Full EPAS - Near Full |
Extremely high-quality compiler. |
Prospero Extended Pascal by Prospero Software http://www.prosperosoftware.com/e32iw.html |
Comm | Windows | PAS - Full EPAS - Full OP - EPAS OP |
Extremely high-quality compiler and environment; most complete Pascal language: Classic, Extended, EPAS Object, plus EPAS exception handling. Very good code generation, thoroughly bug-free compiler. |
Delphi by Borland http://www.borland.com/delphi/ |
Comm | Windows | A Rapid Application Development (RAD) environment. It is based upon Turbo Pascal, but uses menus and windows for application building, hiding the code for the most part. | |
THINK Pascal by Symantec http://www.think-pascal.org/ |
Free | Macintosh (68K) |
PAS - Full EPAS - Some |
Fantastic integrated environment for professional Mac programmers. Extremely fast compile, intuitive debugging, access full system resources. Although not updated for PPC or OSX, this environment is so good that programmers use it to develop and debug 68K code, then transfer to CodeWarrior to produce final PPC code. |
Dr. Pascal by Visible Software https://visible-software.com/ |
Comm | Macintosh (68K) Windows DOS |
PAS - Full EPAS - Some |
Highly integrated environment with visible runtime, more error checks than any other known compiler. Totally standard Classic Pascal, passes validation suite. |
pc-pix, mac-pix by Visible Software https://visible-software.com/ |
Comm | Macintosh (68K) Windows DOS |
PAS - Full EPAS - Some |
Full Standard Pascal, bare-bones environment. A command-line interpreter, modelled after BSD Unix "pix" (Pascal Interpret and eXecute). Reads a source program and runs it immediately, errors and output written to the console. pc-pix version for DOS, mac-pix for Macintosh (68K). |
CodeWarrior Pascal by Metrowerks http://www.metrowerks.com/download/ |
Comm | Macintosh | PAS - Full EPAS - Partial OP - Mac |
Industrial-strength compiler and environment, full Macintosh support (was 68K, PPC, OSX, ver 7 drops 68K), good environment, fairly good debugger. Pascal is free add-on to commercial Codewarrior environment. |
Turbo Pascal (Borland Pascal: see right) by Borland http://www.borland.com/pascal/ |
Comm | DOS | PAS - "Turbo" EPAS - No OP (Borland) |
The compiler that revolutionized microcomputer programming, still available for DOS. Fast compiles, reasonable debugging. This compiler, rather than any written standard, defines what the Turbo Pascal "language" is. A somewhat extended Pascal for Windows was called "Borland Pascal", but this is no longer available; for Pascal on Windows, the company now recommends Delphi. |
FreePascal http://www.freepascal.org/ |
Free | Linux OS/2 FreeBSD Windows DOS Amiga |
PAS - "Turbo" EPAS - No OP (Borland) |
Great open-source project on multiple platforms, unfortunately based on the poorly-defined Turbo Pascal variant. |
GNU Pascal by Free Software Foundation http://agnes.dida.physik.uni-essen.de/~gnu-pascal/ |
Free | Linux OS/2 FreeBSD Windows DOS |
PAS - Full OR Turbo EPAS - Most OP (Borland) |
Another great open-source project, this one solidly based on all three Pascal language Standards: Classic Pascal, Extended Pascal, and Turbo Pascal; compiler switches select which to use. |
IPcute by F. Bret http://http://www.ipcute.com/ |
Free | Windows | PAS - subset of Turbo? (Not tested) | Appears to be an ongoing project with a faculty member and students writing it. Web site was incomplete and kept crashing, so couldn't test. |
VS Home page | All Products | Dr. Pascal | EP Compiler | pix | Source code | ePurchase | News | Pascal Info | Visible Software | About this site | Site Map
© 2004, Visible Software. All rights reserved.