{"id":1404,"date":"2021-09-21T08:50:23","date_gmt":"2021-09-21T08:50:23","guid":{"rendered":"https:\/\/blog.amt.in\/?p=1404"},"modified":"2021-09-21T08:50:23","modified_gmt":"2021-09-21T08:50:23","slug":"introduction-to-pascal","status":"publish","type":"post","link":"https:\/\/blog.amt.in\/index.php\/2021\/09\/21\/introduction-to-pascal\/","title":{"rendered":"Introduction to Pascal"},"content":{"rendered":"<p>Pascal\u00c2\u00a0is an\u00c2\u00a0imperative\u00c2\u00a0and\u00c2\u00a0procedural\u00c2\u00a0programming language, which\u00c2\u00a0Niklaus Wirth\u00c2\u00a0designed in 1968\u00e2\u20ac\u201c69 and published in 1970, as a small, efficient language intended to encourage good programming practices using\u00c2\u00a0structured programming\u00c2\u00a0and\u00c2\u00a0data structuring. It is named in honor of the French mathematician, philosopher and physicist\u00c2\u00a0Blaise Pascal.<\/p>\n<p>Pascal was developed on the pattern of the\u00c2\u00a0ALGOL 60\u00c2\u00a0language. Wirth had already developed several improvements to this language as part of the\u00c2\u00a0ALGOL X\u00c2\u00a0proposals, but these were not accepted and Pascal was developed separately and released in 1970. A derivative known as\u00c2\u00a0Object Pascal\u00c2\u00a0designed for\u00c2\u00a0object-oriented programming\u00c2\u00a0was developed in 1985; this was used by\u00c2\u00a0Apple Computer\u00c2\u00a0and\u00c2\u00a0Borland\u00c2\u00a0in the late 1980s and later developed into\u00c2\u00a0Delphi\u00c2\u00a0on the\u00c2\u00a0Microsoft Windows\u00c2\u00a0platform. Extensions to the Pascal concepts led to the Pascal-like languages\u00c2\u00a0Modula-2\u00c2\u00a0and\u00c2\u00a0Oberon.<\/p>\n<p>Pascal was influenced by the ALGOL W efforts, with the explicit goals of producing a language that would be efficient both in the compiler and at run-time, allow for the development of well-structured programs, and to be useful for teaching students\u00c2\u00a0structured programming.\u00c2\u00a0A generation of students used Pascal as an introductory language in undergraduate courses.<\/p>\n<p>One of the early successes for language was the introduction of\u00c2\u00a0UCSD Pascal, a version that ran on a custom\u00c2\u00a0operating system\u00c2\u00a0that could be ported to different platforms. A key platform was the\u00c2\u00a0Apple II, where it saw widespread use. This led to the use of Pascal becoming the primary high-level language used for development in the\u00c2\u00a0Apple Lisa, and later, the\u00c2\u00a0Macintosh. Parts of the original\u00c2\u00a0Macintosh operating system\u00c2\u00a0were hand-translated into\u00c2\u00a0Motorola 68000\u00c2\u00a0assembly language\u00c2\u00a0from the Pascal sources.<\/p>\n<p>The\u00c2\u00a0typesetting\u00c2\u00a0system\u00c2\u00a0TeX\u00c2\u00a0by\u00c2\u00a0Donald E. Knuth\u00c2\u00a0was written in\u00c2\u00a0WEB, the original\u00c2\u00a0literate programming\u00c2\u00a0system, based on\u00c2\u00a0DEC\u00c2\u00a0PDP-10\u00c2\u00a0Pascal, while applications like\u00c2\u00a0Total Commander,\u00c2\u00a0Skype\u00c2\u00a0and Macromedia Captivate were written in Delphi (Object Pascal).\u00c2\u00a0Apollo Computer\u00c2\u00a0used Pascal as the systems programming language for its operating systems beginning in 1980.<\/p>\n<p>Variants of Pascal have also frequently been used for everything from research projects to\u00c2\u00a0PC games\u00c2\u00a0and\u00c2\u00a0embedded systems. Newer Pascal compilers exist which are widely used.<\/p>\n<p>Pascal, in its original form, is a purely\u00c2\u00a0procedural language\u00c2\u00a0and includes the traditional array of\u00c2\u00a0<a title=\"ALGOL\" href=\"https:\/\/en.wikipedia.org\/wiki\/ALGOL\">ALGOL<\/a>-like control structures with reserved words such as\u00c2\u00a0if,\u00c2\u00a0then,\u00c2\u00a0else,\u00c2\u00a0while,\u00c2\u00a0for, and\u00c2\u00a0case\u00c2\u00a0ranging on a single statement or a\u00c2\u00a0begin-end\u00c2\u00a0statements block. Pascal also has data structuring constructs not included in the original\u00c2\u00a0ALGOL 60\u00c2\u00a0types, like\u00c2\u00a0records, variants,\u00c2\u00a0pointers,\u00c2\u00a0enumerations, and\u00c2\u00a0sets\u00c2\u00a0and procedure\/pointers. Such constructs were in part inherited or inspired from\u00c2\u00a0Simula\u00c2\u00a067,\u00c2\u00a0ALGOL 68,\u00c2\u00a0Niklaus Wirth&#8217;s own\u00c2\u00a0ALGOL W\u00c2\u00a0and suggestions by\u00c2\u00a0C. A. R. Hoare.<\/p>\n<p>Pascal programs start with the\u00c2\u00a0program\u00c2\u00a0keyword\u00c2\u00a0with a list of external\u00c2\u00a0file descriptors\u00c2\u00a0as parameters\u00c2\u00a0(not required in Turbo Pascal etc.); then follows the main\u00c2\u00a0block\u00c2\u00a0bracketed by the\u00c2\u00a0begin\u00c2\u00a0and\u00c2\u00a0end\u00c2\u00a0keywords.\u00c2\u00a0Semicolons\u00c2\u00a0separate\u00c2\u00a0statements, and the\u00c2\u00a0full stop\u00c2\u00a0(i.e., a period) ends the whole program (or\u00c2\u00a0unit).\u00c2\u00a0Letter case\u00c2\u00a0is ignored in Pascal source.<\/p>\n<p>The above is a brief about Pascal language. Watch this space for more updates on the latest trends in Technology.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pascal\u00c2\u00a0is an\u00c2\u00a0imperative\u00c2\u00a0and\u00c2\u00a0procedural\u00c2\u00a0programming language, which\u00c2\u00a0Niklaus Wirth\u00c2\u00a0designed<\/p>\n","protected":false},"author":1,"featured_media":1406,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[217,154,7],"tags":[218,156,18],"class_list":["post-1404","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pascal","category-programming-language","category-techtrends","tag-pascal","tag-programming-language","tag-technology"],"_links":{"self":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/comments?post=1404"}],"version-history":[{"count":1,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1404\/revisions"}],"predecessor-version":[{"id":1405,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1404\/revisions\/1405"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media\/1406"}],"wp:attachment":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media?parent=1404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/categories?post=1404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/tags?post=1404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}