Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site cadre.UUCP Path: utzoo!watmath!clyde!akgua!mcnc!idis!cadre!geb From: geb@cadre.UUCP Newsgroups: net.micro.pc Subject: turbo pascal Message-ID: <171@cadre.UUCP> Date: Fri, 2-Mar-84 17:38:10 EST Article-I.D.: cadre.171 Posted: Fri Mar 2 17:38:10 1984 Date-Received: Sun, 4-Mar-84 03:28:38 EST Organization: Decision Systems Lab., Univ. of Pgh. Lines: 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.