|
Softpanorama |
||||||
| Contents | Bulletin | Latest | Last year | Top visited | Scriptorama | |
TP used to be probably the best first programming language to teach in the high school and at the first courses of the university. Recently JavaScript started to compete with it as the first language. But still TP is a nice simple language to start with and it contains an excellent debugger.
TP is a derivative of Pascal and Modula. In a way Pascal was the first previously inspired programming language. Wirth had found his salvation in the region of structured programming and interpretation of the Gospel according to St. Edsger Dijkstra which became pretty widespread and taught by clueless jerks in all major universities ;-). While structured programming has some positive effects by bringing attention to the control statement if programming languages like many other religions it induces its believers a distorted perception of reality and, as a consequence, an unability to deal with reality effectively. As Paul Abrahams aptly noted, the key problem with structured programming is that it is elevation to good heuristics into bad dogma, and the creation of the illusion that difficult problems are easy. If structured programming is treated as a style -- a collection of good programming practices it is less objectionable but treated as a collection of inflexible rules it is definitely harmful.
Pascal suffered from those dogmas and it is really strange that such talented language designer of Wirth made so made blunders in the language. for example too rigid look statement (increment can be only one), static arrays that are less flexible then in Fortran. Like any dogma it led to increase, not decrease of programming efforts concealing this fact by brave verification rhetorics. TP occurred after Wirth realized and tried to rectify its blunders in Modula and Modula 2 languages. TP is essentially Modula without coroutines.
There is something wrong with C as non-system programming language and while TP may not be the best answer it does demonstrate the limitations of C for general purpose programming and first of all low productivity: for applications like editors and file managers TP programmers are approximately twice as productive as their C counterparts.
The big advantage of Pascal is that one can use it in DOS on the cheapest PC possible and still get an excellent programming education. Moreover an excellent the TP5.5 compiler (and may be now TP6 and TP7, please check Borland site) are now available for free from Borland/Inprise and the debugger in this compilers is really good...
Moreover they works well under Linux DOS emulation. And again I would like to stress that one could certainly accomplish a lot with Turbo Pascal on any PC with DOS (really any, including a 286, if you can find one). All you need to acquire the deep knowledge of fundamentals of programming and data structures is the cheapest PC possible and the desire to learn. That means that Pascal is the most democratic introductory language ;-)
I would like to stress it again, Turbo Pascal, so to speak, is the most democratic language. And not only introductory one. Historically TP and its close cousins Modula-2 and Delphy were used for building very complex stuff (games, graphics, BBSes, etc.). The advantage of Turbo Pascal is in providing the student with exercises which are enjoyable (graphics, sound, etc.), and this enables the teacher to make course more interesting.
It is easy to imitate Logo style environment in Turbo Pascal. And my experience as a professional educator proves that the task of generating musical tunes is an excellent way to teach loops (may be one of the best approaches for teaching loops possible).
I feel that the students will develop their own style and abilities much quicker in Turbo Pascal than in C. Turbo Pascal is less complex, has much better compile time diagnostic and better string handling than C. Modula is one of the few languages that has coroutines support and thus can beat C in many tasks. But who cares -- C is the king of the hill and nothing succeed like success ;-). C is also more realistic language than Turbo Pascal but it's a more complex and a lower level language (structured assember).
Good electronic books (including documentation for TP) are available (actually they are better than introductory books on C because Pascal is a better introductory language).
Anyone interested in becoming a decent programmer should learn both, but Turbo Pascal first!
Much like C language, the initial version of Pascal was an attempt to simplify programming language. C was system programming language derived from PL/1 and BCPL. It was designed as a high level assembler. Pascal is a derivative of Algol and is a reaction of creation of Algol-68 (complex, PL/1-style version of Algol).
Although historically Pascal was a negative reaction on the complexity of Algol 68, it's mainly "The Last of the Mohicans" of the Algol 60 family of languages -- a simple language derived from Algol 60 that was initially intended as a teaching language. One of the explisit design goal was the speed of compilation so that you do not even need a linker.
If you wrote something as a negative reaction to the overcomplexity it's easy to run into another extreme. At the time of writing Wirth was influenced both by structured programming and formal verification of programs -- two fashionable at this time religious movements :-) and in process he made some regretful mistakes that were partially corrected in Modula and Turbo Pascal.
Actually a lot of verification zealots were promiscuous enough to became later object-oriented programming fundamentalists, so you better beware ;-) But Wirth was a very talented language designer and despite some elements of structured programming fundamentalism (and verification fundamentalism) Pascal proved to be very useful language and has important descendants (Modula-2, Modula-3, Ada, Turbo Pascal, Delphi, Oberon).
In fact, both C and Pascal served as a foundation for the whole family of the languages. Pascal-derived languages are not as widely used in commercial environment as C++ (only Delphi is still more or less visible), but they still represent an important approach to programming language design. Both Windows and Linux has Modula-2 and Modula-3 compilers freely available.
Modula-2 is a great language. One of the few mainstream languages that implements coroutines. Actually I strongly recommend using Modula-2 instead of Turbo Pascal after one gets some experience with the language.
Polytechnique Modula-3 (PM3) is the most up-to-date freeware implementation of the Modula-3 language, libraries, and runtime environment.
Good electronic books are available for Modula-2, less for Modula-3.
Dr. Nikolai Bezroukov
|
|
|
|||
|
|
||||
| Bulletin | Latest | Past week | Past month | |
REXX.pas Reimplementation of REXX functions in Pascal. A very useful unit...
{Copyright (C) 1989-1992, 1995-1997. Earl F. Glynn, Overland Park, KS.
All Rights Reserved. This UNIT may be freely distributed only
for non-commercial use.
REXX-like functions. For information about REXX see the book
"The REXX Language," by M.F. Cowlishaw, Prentice-Hall, 1985,
or various IBM CMS or OS/2 manuals.
Freshmeat/AKFQuiz A collection of programs for quiz games, teaching exercises, and psychotests
The AKFQuiz package lets you easily make your own quiz games or learning exercises. These can be used either with grquiz in a graphical environment (SDL), with crtquiz on a text terminal, or with diaquiz in a GUI environment. There is also a line oriented variant, linequiz, which can be used as a backend. A CGI-variant can be installed on a Web server to offer exercises via the Web. A mkquiz tool that generates an HTML file for to use with the JavaScript akfquiz5.js is also included. Those can then be published with any Web-space provider.Author:
Andreas K. Foerster [contact developer]
taoyue.com- Learn Pascal tutorial - History
From version 1.0 to 7.0 of Turbo Pascal, Borland continued to expand the language. One of the criticisms of the original version of Pascal was its lack of separate compilation for modules. Dr. Wirth even created a new programming language, Modula-2, to address that problem. Borland added this to Pascal with its units feature.By version 7.0, many advanced features had been added. One of these was DPMI (DOS Protected Mode Interface), a way to run DOS programs in protected mode, gaining extra speed and breaking free of the 640K barrier for accessing memory under DOS. Turbo Vision, a text-based windowing system, allowed programmers to create great-looking interfaces in practically no time at all. Pascal even became object-oriented, as version 5.5 adopted the Apple Object Pascal extensions. When Windows 3.0 came out, Borland created Turbo Pascal for Windows, bringing the speed and ease of Pascal to the graphical user interface. It seemed that Pascal's future was secure.
Syn is an Open Source Text and Programming Editor with Syntaxhighlight for many Languages, and some IDE Features, like starting a program (e.g. Compiler) and capture the output, support for Projects etc. Syn is written in Delphi (Version 5, Updatepack 1) for maximum performance, stability and filesize ;-), hence it doesn't require any bulky VC++/VB Runtime or MFC libraries!
Syn supports Active Scripting, this means you can extend the functionallity with writing a Script. If you have written such a Script, or an other file (Autocomplete file or whatever), and you think it could be useful for others, just send them to me or to the Users Mailinglist (syn-users[at]lists[dot]sourceforge[dot]net), and we will add them. Of course, we will give you proper credits. Many thanks to all of you!
Parallel versions
Two branches of development are actually followed:
The 2.1 branch consists in adding functionalities and fixing bugs of the running version (2.0). This version is almost maintained by Stefan Ascher. To view the list of modifications, open the changelog.
The 3.0 contains big modifications of code for better handling of customization, storing settings to files instead of registry and multilanguage support (read what's new). This branch is maintained by Danail (most ideas come from him). For now, 3.0 is our goal. Preview version is already released, but still there is a lot of work before a beta release. Help us debugging!
[Dec 22, 2003] Turbo Pascal Programmers Page a very comprehensive page !
vpsource.com - portal for webmasters and programmers -- contain a good and more up-to-date that this site collection of Delphy programming links.
[Nov 11, 2000] Learn Pascal - Contents -- a pretty decent intro
Turbo Pascal 3.0 compiler and code generation internals
[Jun 12, 2000] Pascal Programming -- syllabus for high school.
[Sept.1, 1999] Programmers Heaven - Delphi Zone -- an excellent page
[June 28, 1999] Links to Web-based courses added
[June 17, 1999] Index to Pascal Tutorial Pages -- outline with good questions http://cal.csv.warwick.ac.uk
[June 17, 1999] TP-Links
[June 11, 1999] StudyWEB Pascal links -- a very good educational site
[June 11, 1999] WEB Pascal course (limited distribution, mirroring prohibited without CD purchase)
Internal pages updates by age: Latest : Past week : Past month : Past year
Bookshelf
External Links
See also: Tutorials - Pascal Programming - Net Links -- very good list of tutorials and
Pascal programming. Lecture notes, interactive tests, and links to related materials. By Brian Brown, Central Institute of Technology, New Zealand.
Informit.com Sams Teach Yourself Delphi 4 in 21 Days - Programming - Delphi -- free registration required.
|
|
|
||
|
|
Day 1 - |
||
|
|
Day 2 - |
||
|
|
Day 3 - |
||
|
|
Day 4 - |
||
|
|
Day 5 - |
||
|
|
Day 6 - |
||
|
|
Day 7 - |
||
|
|
WEEK 1 - |
IN REVIEW |
|
|
|
Day 8 - |
||
|
|
Day 9 - |
||
|
|
Day 10 - |
||
|
|
Day 11 - |
||
|
|
Day 12 - |
||
|
|
Day 13 - |
||
|
|
Day 14 - |
||
|
|
WEEK 2 - |
IN REVIEW |
|
|
|
Day 15 - |
||
|
|
Day 16 - |
||
|
|
Day 17 - |
||
|
|
Day 18 - |
||
|
|
Day 19 - |
||
|
|
Day 20 - |
||
|
|
Day 21 - |
||
|
|
WEEK 3 - |
IN REVIEW |
|
|
APPENDIXES |
|||
|
|
Appendix A - |
||
|
|
Appendix B - |
||
|
|
Bonus Day - |
||
Study Web Programming Pascal Links
Turbo Pascal Introductory Tutorial by John Bartoszewski,
August 1996 Department of Computing Science
University of Alberta
Pascal Programming v2.0 -- Copyright B Brown/P Henry/CIT 1987-1999. All rights reserved. Central Institute of Technology, New Zealand (a lot of mirrors exist). Older version is mirrored here
Warwick Pascal Tutorial Pages -- good
Pascal and delphi compilers and dialects -- by Alexei Syrovatkin
Turbo Pascal Guide - reference guide for Turbo Pascal (V 1.5 for windows). Good !
Turbo Pascal for DOS Tutorial by Glenn Grotzinger.
Turbo Pascal Tutorial at Grenville Christian College (WebNotes - Turbo Pascal Tutorial)
A short tutorial on running Turbo Pascal.
Turbo Pascal Tutorial -- another short tutorial
****
Why Pascal is Not My Favorite Programming Language -- famous paper by
Brian W.
Kernighan
AT&T Bell Laboratories, that was kind of prohibited at the time of
its writing(April 2,1981) and the author has difficulties with its publishing
because of all this structured programming verification blah-blah-blah of
this time ;-)
Comparing C and Pascal is rather like comparing a Learjet to a Piper Cub - one is meant for getting something done while the other is meant for learning - so such comparisons tend to be somewhat farfetched. But the revision of Software Tools seems a more relevant comparison. The programs therein were originally written in Ratfor, a ``structured'' dialect of Fortran implemented by a preprocessor. Since Ratfor is really Fortran in disguise, it has few of the assets that Pascal brings - data types more suited to character processing, data structuring capabilities for better defining the organization of one's data, and strong typing to enforce telling the truth about the data.
It turned out to be harder than I had expected to rewrite the programs in Pascal. This paper is an attempt to distill out of the experience some lessons about Pascal's suitability for programming (as distinguished from learning about programming). It is not a comparison of Pascal with C or Ratfor.
The programs were first written in that dialect of Pascal supported by the Pascal interpreter pi provided by the University of California at Berkeley. The language is close to the nominal standard of Jensen and Wirth,(6) with good diagnostics and careful run-time checking. Since then, the programs have also been run, unchanged except for new libraries of primitives, on four other systems: an interpreter from the Free University of Amsterdam (hereinafter referred to as VU, for Vrije Universiteit), a VAX version of the Berkeley system (a true compiler), a compiler purveyed by Whitesmiths, Ltd., and UCSD Pascal on a Z80. All but the last of these Pascal systems are written in C.
Object Pascal beats C++ by Jim Phillips
Pascal Programming - Past issues of weekly features -- collection of papers
Turbo Pascal 3.0 compiler and code generation internals
Pascal Language Reference Contents
Help-Site
Computer Manuals - Pascal Programming - The Help-Site Pascal
Programming section
| Borland | FPK | FPC | Medigo |
Borland Community Home Page See Museum. Free registration required.
Free Pascal / FPK Pascal -- Free Pascal -- 32 bit Pascal compiler. It
is available for different CPUs (i386+ and 680x0) and operating systems
(Linux, DOS,AmigaOS,OS/2,Win32). Decent but turbo Pascal is better.
The system unit is called syslinux. The dos unit is still called dos, the implementation is just different.
Think Pascal Ingemar Ragnemalm
Turbo Pascal 3.0 compiler and code generation internals
Programs
by Prof. Timo Salmi -- not impressive The Garbo archives
Vaasa University
Finland.
Pingo's Turbo Pascal Page -- some minor stuff
Leonid Mamtchenkov's Home Page -- some minor staff
In USA both TP 7.0 and BP 1.5 for Windows are around $30 with educational discount. It's difficult to find TP 6.0...
ModulaWare home page- Modula-2 and Oberon-2 Compiler Products
Code for Petzold's "Programming Windows 95" A translation of the book's code from VC++ to Modula-2
Top 10 reasons why Pascal is better than C
Copyright © 1996-2012 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine. This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
Disclaimer:
Last modified: November 02, 2011