It was first published in 1971 and I was meant to be used mainly as a good teaching tool. Pascal features strong type checking, simple I/O facilities, a good set of primitive data types, arrays, fixed and variant records, conventional control structures, and simple dynamic memory management.
Pascal requires discipline from the programmer: all types, data, and subroutines in a Pascal program must be declared prior to use. Everything is lexically scoped, to allow for maximum compile-time type checking. The language has good support for programmer-defined data types and subtypes, which are also subject to strong checking. Structure of a Pascal block is somewhat rigid; elements must appear in a certain order preceded by their identifying keyword: labels, constants, types, variables and functions, then body code.
The choice of features and the limited external interface facilities helped make Pascal very portable. However, didn't include strings, only arrays of characters, and very small complement of built-in utility functions. These omissions led developers of Pascal language implementations to add extensions to help programmers accomplish real work. Unfortunately, every vendor's extensions were more-or-less proprietary, hence the Pascal language lost some of its portability. Amazingly, while it is very strict in most ways, Pascal still supports a 'goto' statement. Pascal does not support object-oriented programming, persistence, or multi-tasking
During the 1970s and 1980s, Pascal became fairly widely used, especially in the early days of the IBM PC and the Macintosh. A great many students of computing in the 80s cut their teeth on Pascal programs. Both free and commercial Pascal compilers exist. The most popular commercial compiler, and online language implementation, is "Turbo Pascal" from Borland. Pascal is normally compiled, either to machine or virtual machine byte codes of some sort. Source-level
Pascal interpreters also exist, and translators from Pascal to other languages. One of the most interesting aspects of Pascal is its relative poverty of features. Compared to its rough contemporary PL/I, Pascal is a tiny language. This contrast helped frame a debate that has raged in computer science circles ever since: should languages be kept small and simple (with complex facilities provided by external libraries), or should they be made large and complex to provide all features that programmers require. Many later block-structured and object-oriented language designers would be forced to choose one of these two camps. Oberon, for example, is small and spare, depending on libraries for advanced features. Perl, in contract, is complex and loads many useful features in the language itself. Recent languages like Java adopt a compromise position: keep the language simple, but standardize the supporting libraries to prevent incompatible implementations. In most programming areas, Pascal has been superseded by newer, object-oriented languages, such as C, C++, and Java.
Kavungya answered the question on May 17, 2019 at 07:02