Path: utzoo!utgpu!watmath!clyde!att!rutgers!cbmvax!vu-vlsi!swatsun!jackiw
From: jackiw@cs.swarthmore.edu (Nick Jackiw)
Newsgroups: comp.sys.mac.programmer
Subject: Lightspeed Pascal 2.0
Keywords: lightspeed, pascal, review, pro, con
Message-ID: <2219@ilium.cs.swarthmore.edu>
Date: 5 Dec 88 21:25:13 GMT
Organization: Visual Geometry Project, Swarthmore College
Lines: 59


I'd like to put in a few good words for Lightspeed Pascal 2.0, considering the 
volume of self-righteous whining that's been going on the past few weeks (but 
it won't write my applications FOR me...). My update arrived well before the 
net lead me to believe, and with little or no work I converted my projects and 
they work fine.  A few observations:

- MULTIFINDER!  ALL of my development tools (Lightspeed, ResEdit, Edit/Asm,
InsideMac, Word [for documentation] and the-last-built-version-of-my-app) are 
corresident and clustered under my Apple menu. I've been wanting this for
years...

- The new editor is great.  Admittedly, those who were upset by the old 
pretty-printing won't be pleased with the new one: all of the formatting 
changes (and the "customizable source-code formats") are superficial. But  the 
new cursor-key commands (which work on character, line, page, lexical, and 
block levels), as well as the popup menu in the title bar which lets you jump 
to any routine in the file, make navigation such a breeze I've all but stopped 
relying on hardcopy. (Printing, as far as I was concerned, was the only place 
the pretty-printing offended me: what a waste of paper!)

- I encounter the ubiquitous "Resource not found (-192)" error frequently. I 
remember these from v1.0 ... the least helpful error message LSP ever produces 
(except for blind crashes, of course).  At any rate, a frequent cause for it in 
my first weeks with 2.0 has been forgetting to run the library converter on my 
machine-language subroutine files. 

- Code size improvement and speed, despite net accusations to the contrary, ARE 
immediately tangible in commercial (i. e. no TEXT or DRAWING window) 
applications. One project I'm working on dropped from 180 to 170K, the other 
from 62 to 50 (!). Compile time is noticably faster, too. 

- MAJOR ANNOYANCE: Lightspeed stamps its own thumb-print on every application 
you build. Go into ResEdit and LO! An extra resource not in your rez-file,
called--oddly enough--'LSP' (Id#2000; Size 18; locked+preload). If you zap it,
you zap your application too... What's the deal with this? It seems like a
completely gratuitous bit of egoism on LSP's part. The resource data is fixed
(never written to), and gets loaded at the base of your globals somewhere in
Code Seg 1 (or wherever your main program is...). It could just as easily be
stored as constant data in the CODE seg, and referenced appropriately. 
Considering the licensing agreement doesn't even require the old 'portions
copyright THINK technologies,' there's no reason for this sort of attitude on
the part of the compiler.  In situations where you want CONTROL over your
application (as I assume most commercial app writers do), having LSP play with
the resource manager, the heap, and so forth is unacceptable.  Especially if
there's no explanation other than the "oh leave that there I don't know what
it does but it won't work without it" rationale.  The next virus author is
sure to name his or her nVIR resource as 'LSP'...

Lots of other good features (conditional assembly finally offers a clean way to
integrate debugging-support code; LightsBug 2 seems real nice), some bad (the 
new 'LINK error' window doesn't help you find what segment or source file the 
bad-link reference occurred in...). If LSP 3.0 offers as much of a change as 
2.0, I'll keep on upgradin'.

-- 
+-------------------++-UUCP: ...!rugers!bpa!swatsun!jackiw------------------+
| NICHOLAS JACKIW   || Internet: jackiw@cs.swarthmure.edu                   |
|("Jacques-Yves"2U!)|| Bitnet jackiw%campus.swarthmore.edu@swarthmr.bitnet  |
+-------------------++-VGP/MathDept/Swarthmore College, Swarthmore PA 19081-+