Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!young@uci-750a From: young%uci-750a@sri-unix.UUCP Newsgroups: net.micro.cpm Subject: Turbo Pascal-- first impressions Message-ID: <16738@sri-arpa.UUCP> Date: Fri, 17-Feb-84 01:31:17 EST Article-I.D.: sri-arpa.16738 Posted: Fri Feb 17 01:31:17 1984 Date-Received: Mon, 20-Feb-84 02:11:32 EST Lines: 40 From: Michal YoungTurbo Pascal arrived yesterday. I'll share some first impressions now and give a better review when I've used it for a while. First-- it is very near standard. Get and Put are not implemented, the IO primitives are instead Read and Write. The heap is really a stack and storage is returned by using mark and release instead of dispose. Goto may not leave a block (this may be a problem for error recovery). Functions and procedures may not be passed as parameters. 'Packed' is allowed but meaningless, and pack and unpack are not provided. There are numerous extensions, but they are well thought out mostly and do not screw up the syntax or semantics of the standard portion of the language. For instance, initializers are provided by an extension to the const declaration. Structures and arrays can be initialized this way. Strings up to 255 characters are allowed. A real attempt has been made to provide a programming environment rather than just a compiler. Provided the program and pascal system both fit in memory, you can edit a program, compile and run it, and edit again to fix an error without leaving the environment. And no annoying waits for overlays to load from disk, either-- compiler, editor, and program somehow fit in memory all at once. When either a syntax error or a run-time error is detected, you wind up back in the editor with the cursor at the error. If you have to run your program from outside the pascal system (because it is too big to fit with everything else in memory), you can still find the source line in error. You reenter the pascal system and tell it the program counter address, and it re-compiles until it comes to that address. Pretty slick. There are a few rough edges, but I haven't ever seen a compiler (not interpreter) this nice to work with. The documentation is good. 250+ pages in a paperback book, reasonably well written but not outstanding. This same manual covers CP/M-80, CP/M-86, and MS-DOS versions. Except for BIOS level diddling (which turbo will allow), it looks to be portable. Michal Young young@uci