Pascal (programming language): Difference between revisions

Content deleted Content added
Line 66:
 
Variants of Pascal have also been used for everything from research projects to [[PC game]]s and [[embedded system]]s. Newer Pascal compilers exist which are widely used.<ref>[http://www.tiobe.com/index.php/content/paperinfo/tpci/ tiobe.com] {{webarchive|url=https://web.archive.org/web/20120315012717/http://www.tiobe.com/index.php/content/paperinfo/tpci |date=2012-03-15}}, Programming Community Index for January 2011.</ref>
 
===Dialects===
Wirth's example compiler meant to propagate the language, the Pascal-P system, used a subset of the language designed to be the minimal subset of the language that could compile itself. The idea was that this could allow boostrapping the compiler, which would then be extended to full Pascal language status. This was done with several compilers, but one notable exception was UCSD Pascal, which was based on Pascal-P2. It kept the subset status of the language based on the idea that this would run better on the new (then) microprocessors with limited memory. UCSD also converted the Pascal-P2 interpreter into a "byte machine", again, because it would be a better fit for byte oriented microprocessors.
 
UCSD Pascal formed the basis of many systems, including Apple Pascal. Borland Pascal was not based on the UCSD codebase, but arrived during the popular period of UCSD and matched many of its features. This started the line that ended with Delphi Pascal and its freeware version, FPC.
 
The ISO standard for Pascal, ISO 7185, was published in 1983 and was widely implemented and used on mainframes, minicomputers and IBM-PCs and compatibles from 16 bits to 32 bits. The two dialects of Pascal most in use towards the end of the 20th century and up until today are the ISO 7185 standard version and the Delphi/Turbo Pascal versions (which are mostly compatible with each other).
 
The source for much of the early history on Pascal can be found at https://www.standardpascal.org/pug.html.
 
===Object Pascal===