Differences between version 19 and previous revision of Pascal.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 19 | Last edited on Thursday, March 31, 2005 11:36:47 am | by GlynWebster | Revert |
Older page: | version 18 | Last edited on Monday, January 19, 2004 6:26:30 am | by AristotlePagaltzis | Revert |
@@ -23,23 +23,21 @@
(This is in the TurboPascal dialect of Pascal.)
!!! History
-Pascal became popular very quickly because the original compiler was designed to be very easy to [Port]. It was written in Pascal and compiled to [ByteCode]s, called ''P-Code''. All anyone had to do to get a Pascal compiler working on a new machine was to write the simple P-Code VirtualMachine for it -- they could hack the compiler around to generate proper MachineCode later. This meant that Pascal spread very quickly through the world's Universities. They began teaching in Pascal, because
it was a very good language to demonstrate
structured programming in -- a new idea and as such
a hot topic at the time.
+Pascal became popular very quickly because the original compiler was designed to be very easy to [Port]. It was written in Pascal and compiled to [ByteCode]s, called ''P-Code''. All anyone had to do to get a Pascal compiler working on a new machine was to write the simple P-Code VirtualMachine for it -- they could hack the compiler around to generate proper MachineCode later. This meant that Pascal spread very quickly through the world's Universities. They soon
began teaching in Pascal --
it was a very good language for demonstrating
structured programming,
a hot topic at the time.
-Standard Pascal was a nice language with terrible limitations: Pascal programs could not open files by name, could barely handle strings and could only pass arrays of predetermined sizes to functions. BrianKernighan famously described Pascal's problems in [Why Pascal is Not My Favorite Programming Language |http://www.lysator.liu.se/c/bwk-on-pascal.html]. It has to be noted that NicolasWirth had already addressed most of Pascal's problems in his follow-up language [Modula2] ''before'' BrianKernighan
wrote this paper. In
some places BrianKernighan
seems to be just complaining that Pascal is not [C]. At any rate, these limitations meant that Pascal splintered into dialects as people hacked in missing features in incompatible ways. [C] did not have this problem, so it gradually took over from the Pascal dialects.
+Standard Pascal was a nice language with terrible limitations: Pascal programs could not open files by name, could barely handle strings and could only pass arrays of predetermined sizes to functions. BrianKernighan famously described Pascal's problems in [Why Pascal is Not My Favorite Programming Language |http://www.lysator.liu.se/c/bwk-on-pascal.html]. (
It has to be noted that NicolasWirth had already addressed most of Pascal's problems in his follow-up language [Modula2] ''before'' Kernighan
wrote this paper, and in
some places Kernighan
seems to be just complaining that Pascal is not [C].)
At any rate, these limitations meant that Pascal splintered into dialects as people hacked in missing features in incompatible ways. [C] did not have this problem, so it gradually took over from the Pascal dialects.
!!! Implementations
-
-The Pascal grammer has maps very nicely to a RecursiveDescentParser struture and for this reason in it the language of choice when writing a RecursiveDescentParser by hand.
The most successful Pascal dialect has been Borland's TurboPascal. There are two OpenSource Pascal compilers for [Linux]:
* [GNU Pascal | http://www.gnu-pascal.de/]
* [Free Pascal | http://www.freepascal.org/]
Free Pascal tends more towards TurboPascal compatibility.
-The online book [Pascal Implementation: A Book and Sources | http://www.cwi.nl/~steven/pascal/] walks you through the source code to the original Pascal compiler. It's educational to read just as an extended critique of a non-trivial program.
+The online book [Pascal Implementation: A Book and Sources | http://www.cwi.nl/~steven/pascal/] walks you through the source code to the original Pascal compiler (implemented in Pascal as a RecursiveDescentParser)
. It's educational to read just as an extended critique of a non-trivial program.
-----
Part of CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategoryMachineOrientedProgrammingLanguages