Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Turbo Pascal -- One of the Best Programming Languages

(this page is no longer maintained)

Old News DOS History Book reviews Recommended sites Tutorials Papers References and FAQs Free Compilers
Sources Borland Internals Tools and Libraries Best price for TP Modula-2 Modula-3 Etc

Actually TP is probably no longer the best first programming language to teach in the high school. I think JavaScript can compete with it as the first language (especially in its Flash incarnation ;-). But still it's a very nice language to start with and it may be a close second.

There is something wrong with C as non-system programming language and while Pascal may not be an answer it does demonstrate the limitations of C for general purpose programming and first of all low productivity: 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



Notes:
  • Those pages are written by people for whom English is not a native language. Some amount of grammar and spelling errors should be expected.
  • This is a Spartan WHYFF (We Help You For Free) site. It cannot replace the best teachers and the best books.
  • The site contain some obsolete pages as it develops like a living tree... Some links on older pages are broken. Please try to use Google, Open directory, etc. to find a replacement link (see HOWTO search the WEB for details). We would appreciate if you can mail us a correct link.

Search Amazon by keywords:

Google   
Open directory

Research Index

 

Old News ;-)

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 Text Editor - Home

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!

Geoff's hobby is programming.

[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)


Recommended Sites

See also

Bookshelf

External Links


Tutorials

See also: Tutorials - Pascal Programming - Net Links -- very good list of tutorials and

Pascal Programming Introduction

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.

Table of Contents

 

 

 

Introduction

 

 

Day 1 -

Getting Started with Delphi

 

 

Day 2 -

More on Pascal

 

 

Day 3 -

Classes and Object-Oriented Programming

 

 

Day 4 -

The Delphi IDE Explored

 

 

Day 5 -

The Visual Component Model

 

 

Day 6 -

Working with the Form Designer

 

 

Day 7 -

VCL Components

 

 

WEEK 1 -

IN REVIEW

 

 

Day 8 -

Creating Applications in Delphi

 

 

Day 9 -

Projects, the Code Editor, and

 

 

Day 10 -

Debugging Your Applications

 

 

Day 11 -

Delphi Tools and Options

 

 

Day 12 -

Graphics and Multimedia Programming

 

 

Day 13 -

Beyond the Basics

 

 

Day 14 -

Advanced Programming

 

 

WEEK 2 -

IN REVIEW

 

 

Day 15 -

COM and ActiveX

 

 

Day 16 -

Delphi Database Architecture

 

 

Day 17 -

Building Database Forms

 

 

Day 18 -

Building Database Applications

 

 

Day 19 -

Creating and Using DLLs

 

 

Day 20 -

Creating Components

 

 

Day 21 -

Delphi and C++Builder

 

 

WEEK 3 -

IN REVIEW

APPENDIXES

 

 

Appendix A -

Answers to the Quiz Questions

 

 

Appendix B -

Delphi Internet Resources

 

 

Bonus Day -

Building Internet Applications

 

Study Web Programming Pascal Links

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


Papers

**** 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


References and FAQs

Pascal Language Reference Contents

TP-FAQs

Help-Site Computer Manuals - Pascal Programming - The Help-Site Pascal Programming section


Free Pascal and Modula compilers

Borland FPK FPC Medigo

Borland_community compilers

Borland Community Home Page  See Museum. Free registration required.

FPK


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.

Graphics Vision for the Free Pascal Compiler (FPK)
Matthias Koeppe, Stefan Milius
Graphics Vision (GV) is a pixel-oriented graphical re-implementation of Borland's Turbo Vision (Pascal). It is available for DOS, DPMI and Windows. It is currently being ported to the free 32-bit Free Pascal compiler (Target: GO32 DOS Extender). A Linux version is being prepared. The FPK versions of GV are free software.

FPC

Turbo Pascal compatible compiler by Carl Eric Codere
FPC is a freeware Turbo Pascal 7.0 compatible compiler. Same as FPK.
 
 
The Official WinFPC Homepage
Allen Cheng
WinFPC - freeware IDE for Free Pascal

Medigo

Megido

Think Pascal Ingemar Ragnemalm

Virtual Pascal
The tool of choice for 32 bit cross-platform development in Pascal. Virtual Pascal will include support for OS/2, Windows 95, Windows NT and various 32-bit DOS extenders.

Internals

Turbo Pascal 3.0 compiler and code generation internals


Pingo's Turbo Pascal Page -- some minor stuff

Leonid Mamtchenkov's Home Page -- some minor staff

 


Tools and Libraries


What is now left from Borland


Best Price for TP

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...


Modula-2


Modula-3

Introducing Modula-3

Modula-3 Resources

Humor

Top 10 reasons why Pascal is better than C 


Etc

 


Copyright © 1996-2007 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. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 28, 2008