Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!lynx.northeastern.edu!cschmidt From: cschmidt@lynx.northeastern.edu Newsgroups: comp.lang.pascal Subject: Re: Borland flaming Message-ID: Date: 16 Apr 91 20:55:42 GMT Sender: usenet@ucbvax.BERKELEY.EDU Lines: 66 > I specifically remember reading this excerpt from the TASM manual, and > getting a good chuckle. Of course, you neglect to mention the > following paragraph, which (from memory) states "But seriously...". > The point of the paragraph was not lost because of a little pun. Rules of syntax should be stated in plain language, not in parables. Here is the paragraph you accuse me of having neglected to mention, quoted here in full: > Seriously, this example demonstrates that the same name, Pennies, can > occur both inside and outside of a structure with no conflict, > something you can't do in MASM to save your soul. The phrase "save your soul" alludes to the earlier remarks about pearly gates, et al. This brand of "cute" makes me wish I did not have to rely on computer manuals for the information I need. > Gee, my Turbo Pascal 5.0 update devotes pages 199-225 entirely to > differences between Turbo Pascal 3.0, 4.0, and 5.0. Maybe the guys > missed a few bugs, but don't say they don't document the progress of > the language. My Turbo Pascal 5.0 update devotes just one sentence to describing the differences between the 4.0 and 5.0 runtime libraries. Here is that sentence in full: > A number of procedures and functions have been added or modified; > they're detailed in Chapter 16 of the Reference Guide, "Turbo Pascal > Reference Lookup". This suggests that we should read all of chapter 16, nearly 200 pages, in an attempt to spot changes to runtime library routines that might cause our 4.0 programs to work incorrectly. This attempt would have been futile, of course. One wonders whether Borland thinks anyone is actually using their compiler. When I upgraded to 5.0, I already had about 100,000 lines of carefully debugged 4.0 code, so you can imagine how angry I felt when confronted with Borland's attitude about documenting revisions. You get another angle on this revision notes issue when you consider the small but often important details that are missing from Borland documentation. For instance, the TP command line compiler does not look for TPU files in the unit directories (specified with /U) during the "make" operation (it does look in the /E directory), a fact which is not documented and which is probably an error in design. If this is fixed in a future release, I will probably never find out about it, unless Borland begins to include revision notes with new versions. What value does the function IORESULT return after READLN was called when end of file was true? How does the INSERT routine behave when its INDEX parameter is greater than the current length of the specified destination string? How does VAL behave when its string argument is null? What value does POS return when its first argument is null? I belive the answers to these and other questions would stand a better chance of finding their way into the manual if Borland discontinued its preoccupation with writing long tutorials and defining rules only by inference in the form of examples. This is all just my opinion of course. Maybe I am wrong. Maybe computer documentation is generally a lot better than I think it is. Ask your clients and colleagues what they think. Christopher Schmidt cschmidt@lynx.northeastern.edu