geb@cadre.UUCP (03/03/84)
I have had a week to work with Turbo Pascal, and as promised, here is an off-the-top-of-the-head review, not guaranteed to be complete or comprehesively accurate. The user interface is quite fine. The editor uses WordStar commands and is linked to the compiler so that the compiler finds errors and dumps you into the editor at the semi-appropriate point. The commands are supposedly user changable, but when I tried to make it emacs-compatible, it failed to be able to reconfigure to some of the sequences. I'm not sure why, probably it is a bug. The compiler can compile from a disk or from memory, the memory compile is about an order of magnitude or two faster than Apple Pascal or MT+ (I am just guessing, I ran no benchmarks). The compiler also locates run-time errors and throws you back into the statement that was executing when it bombed. I'm not sure how it does this, probably there is a linked library error handling routine. (I haven't read the whole manual, it may say somewhere). Execution speed is also very fast, probably an order of magnitude faster than UCSD on Apple II. The syntax is very close to UCSD. A few differences that I noticed in converting a longish program from UCSD: UCSD: reset(fileid,filename); get(fileid); recordvar:=fileid^; close(fileid,lock); Turbo: assign(fileid,filename); reset(fileid); read(fileid,recordvar); close(fileid); The write statement similarly replaces the put in UCSD and standard Pascal. The file handling is much faster than UCSD, especially for text files where the difference between Apple and Turbo is about 50 times in favor of Turbo. One curiosity: Turbo does not seem to be able to read numbers from a text file unless there is only one number per line, it does not recognize the space as a proper delimiter. It seems to have the same built-in string procedures as UCSD Pascal, and one or two more in addition. The PAGE routine is not implemented (they have a ClrScn instead, but it won't page the LST: device). The file type INTERACTIVE in UCSD does not exist. MARK and RELEASE are implemented apparently the same as UCSD, but DISPOSE is not (in either version). Strings do not have a default length, as they do in UCSD, and string is not a proper type for parameter lists: you must first declare something like TYPE WORKSTRING=STRING[80]; and then PROCEDURE FOO(S:WORKSTRING); a strange peculiarity (maybe I'm missing something that's in the manual, but that was how I had to do it to make it work). The manual is very good. It is a paper-back book-like production. The price of $49 is super, but doesn't include license to sell compiled code: that is $100 more. Since this is far below the cost of Pascals that are (in my opinion) much more brain-damaged, I don't consider that unreasonable, since most Pascal users will not be selling their software (I may be wrong, and still living in 1978 when most programmers were hobbyists). I think C is still preferable for commerical software development. One further petty annoyance: it leaves the IBM monochrome display in high intensity mode when it signs off. In short, I am very positive about the package. It far exceeds JRT Pascal in value for price. (Delivery time: 1 week). I like it better than MT+ or IBM Pascal or UCSD, and it is cheaper.
dukelow%cod%Nosc@sri-unix.UUCP (04/13/84)
From: Robert A. Dukelow <dukelow%cod@Nosc> I sent two letters to Borland regarding a bug which I have already discussed on the net. I received responses to both in relatively short times. It's nice to know that there really are people out there that have some concern for their customers. Wonder how long it will last. The first response attempted to explain why there really wasn't a bug, the second was rather vague concerning the bug, but did provide information about the planned new release which others may be interested in. Following is a quote from the letter. We Plan on letting Turbo 2.0 go around May or June. The update will contain an editor that does what we say it will, overlays, 8087 support, isam structure, windows, sound, color, graphics, and an installation program for your applications. It will cost about $30.00. I suppose that the size of the system will now increase to 35K or 36K and the compile speed will drop to only 2K lines per minute. Oh well, it was nice while it lasted. The above was concerning the IBM-PC version of Turbo. I don't know what (if any) applies to the CP/M version. They also confirmed that they have dropped the additional license requirement for distributing programs compiled by Turbo. I also recently purchased the CP/M version. With it I got a "coupon" for a free ($5.00 for shipping and handling) update. A friend says he got a similar coupon for the IBM version he just purchased. I don't know how this relates to the $30.00 indicated in the letter from Borland. Bob Dukelow
djm@nmtvax.UUCP (01/31/85)
TURBO PASCAL BUGS I have found a couple of bugs in Turbo Pascal on an IBM PC-clone running MS-DOS. I define these as bugs, since the same code works on the campus DEC-20 (not a good standard, I know, but it's what I have to work with). The copy of Turbo is roughly 6-7 months old, so these things may have been fixed by now. 1) If a ';' is incorrectly places before a keyword, the compiler will not complain. However, when that section of code is executed, a memory error is generated and a system halt is performed. This requires a re-boot. Example : if condition then begin statement1; statement2; end; <-- explodes here when run another_statement; 2) If you read from the console a character at a time, each character must be separated by a carriage return. I am under the impression that either a) data is buffered one line at a time, or b) data would be physically read one character at a time. (My Pascal references aren't handily available as to which is standard, but C/R between each sounds silly to me). Dieter Muller {lanl|unmvax}!nmtvax!djm