[net.micro.pc] Yet Another Turbo Pascal Review

grogers@uiucdcs.UUCP (grogers ) (03/08/84)

#N:uiucdcs:24700040:000:4272
uiucdcs!grogers    Mar  7 21:27:00 1984


[]
I too have been using Turbo Pascal for a few weeks. Overall I am very
pleased with the system although there are a few quirky things I don't like.

First the things I don't like:
	. Turbo does not recognize path names.  All files must be in the
	  current working directory.  Their ads claim "full support of 
	  operating system facilities" but under DOS 2.xx this is not true.

	. One of the big selling points for Turbo is that you can configure
	  the system to fit you terminal.  They did a great job of this for
	  the Z80 version (I've used Turbo on an Altos also) but for the PC
	  the terminal selection is limited to 40x25 bw, 40x25 color, 80x25
	  bw, and 80x25 color and the screen attributes for each of these
	  selections is set in concrete.  As far as I can tell there is no
	  way to change the character attributes that are displayed.  I have
	  a color monitor and there is nothing that bugs me more than working
	  in white (dim characters) and yellow (bright).

	. EVERY program clears the screen and resets the character attributes
	  before it executes.  There is no way to avoid this other than NOPping
	  out the call to the routine that does this (not much fun using debug
	  on every program I write...that's why I am using a high level lan-
	  guage in the first place).

	. Upon completion of your program the cursor is positioned on line 25.
	  This causes the screen to scroll and you lose the first line of your
	  output (which is on line 1 via flame #3).

	. You can call external procedures and functions which must be in
	  COM format but you cannot compile these external routines using
	  Turbo.
	   
	. There are quite a few fatal typos in the manual, I'll just mention
	  the worst of these.  You can place object code within your program
	  using a statement named inline.  The manual shows it being used like
	  this:  inline ($c4,$be,...)  where the '$' just signals a hex value
	  and each value is separated by commas.  The actual format is this:
	  inline($c4/$be/...)  the values are separated by slashes.

	  In an example showing how to reference parameters on the stack from
	  an external proc uses MOV AL,[BP-1] the '-' should be a '+', the
	  stack grows down not up.

	. Every now and then the editor will duplicate the last line on the
	  screen.  I have not tried to narrow down the cause but it seems to
	  happen when the screen scrolls backwards.  The duplicate line does
	  not get into your file but it is annoying having it on the screen.

	. There is a routine that will test the keyboard buffer for characters.
	  This works ok except when it appears just after a write or writeln.
		repeat writeln('foobar') until keypressed;
	  will tend to hang the system sort of.  You must hold down the return
	  for quite a few iterations before the program will recognize it.

Things I like about Turbo:

	. You can call BIOS & DOS routines using 
		BIOS(func,parm):integer & BDOS(func,parm):integer
	  where parm = record
			AX,BX,CX,DX,DI,SI,DS,ES,FLAG : integer
		       end;

	.  You can put object code inline with pascal code.  This made it
	   very easy for me to write some graphics routines.

 	. The ads for Turbo boast about the speed of compilation and execution.
	  Believe it or not it really is that fast, if not faster. To get a
	  very rough idea of how fast the code really was i wrote a simple
	  program to write an asterick at a random line and column until the
	  keyboard was used (using the sometimes faulty keypressed routine).
	  The short program compiled in <= 2 seconds (but the compiler was
	  already in memory along with my source code).  When I tapped 'r'
	  to run the program (menu driven like UCSD), I almost fell out of my
	  chair.  Before I let up on the 'r' key the screen was about 70%
	  filled. 

	. Turbo is a very good Pascal program development system.  With the
	  full screen editor tied to the compiler it is very easy to edit-
	  compile-run-edit-compile... in an almost interpretive form (like
	  BASIC).

	. Best of all, it's only $50.00.  The best computer bargain I have
	  ever seen.

---------
disclaimer: I have no Borland International, the company that distributes
	Turbo Pascal.


greg rogers
university of illinois, urbana-champaign
...uiucdcs!grogers