Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!xanth!ukma!tut.cis.ohio-state.edu!rutgers!att!alberta!calgary!cpsc!demarco From: demarco@cpsc.ucalgary.ca (Vince Demarco) Newsgroups: comp.sys.apple Subject: Re: BASIC: Does ZBasic help? Summary: zbasic Message-ID: <959@cs-spool.calgary.UUCP> Date: 25 Mar 89 01:36:25 GMT References: <545@madnix.UUCP> <27478@apple.Apple.COM> <16190@cup.portal.com> Sender: news@calgary.UUCP Lines: 78 In article <16190@cup.portal.com>, Geva_Apple-Maniac_Patz@cup.portal.com writes: > If there's anything that will make me defect to IBM it's the wonderful > range of programming languages available for it, especially the versions > of C (Turbo C, etc) and BASIC (Turbo BASIC, QuickBASIC); my two favourite > programming languages. Now, I've already given up on getting a reasonable > C for any reasonable price, but I still hold out hope for something a > lot better than AppleSoft. Does anyone know of a BASIC compatible with > a //c (don't laugh!) that supports the new BASIC standard (text labels > instead of line numbers, SUB statement, proper DEF FN blocks, multi-line > IF .... ELSEIF ... ELSE ... END IF constructs, etc., etc.). It would > also be nice if it had decent file handling (MS-BASIC type file commands > would do me) and supported serial port programing. Fast compilation time, > integrated editors and debuggers, and a reasonable price would help, too. > > The only thing that seems remotely close to what I need is ZBASIC, although > I have VERY scant information on it. Can anyone tell me more about it, > or perhaps recommend another BASIC that would suit my needs? > > %%%% > Geva > %%%% Well, I've got ZBasic and I can tell you that compared to Applesoft, it is a VERY nice language, but it is not totally compatible with MS/GW Basic on the IBM and compatibles... The area of files and their handling is most different from GWBasic.. it looks more like Commodore Basic file handling (Oooh Commies Yuk!) and the if-then-else structures (longif-xelse-endif) is VERY cumbersome to use (nesting of these particular structures is difficult to get right, ie: you can't do the following: longif (this = true) ?"This was true" .... stuff... .... xelse if (this <> true) then ?"This was not true" xelse ?"This was not true and not false" .... more stuff... .... end if This will not work!!! You are only allowed 1 xelse per longif, so the above must be implemented thus: longif (this = true) ? "This was true" .... stuff.... .... xelse longif (this <> true) ?"This was not true" xelse ?"this was not true and not false" .... more stuff... .... end if end if a little bit irritating when dealing with many nested-if-then-else structures Another irritating "feature" is the incredible slowness of the floating point routines... if you don't need the extreme accuracy (54 digits) then you might as well go back to Applesoft... Integer variables are quite a bit faster tho.. But on my //e, I can't get anywhere near the times for the benchmarks listed on their adds even when I've got the thing running at 2 digits (floating pt) or even in pure integer mode... I dunno, could just be me... Did you also notice on the adds (the old ones with the benchmark times, that the only thing faster was Hyper C compiling into native 6502 ??? ( Somebody PLEASE find out who the author of Hyper C is so we can all get our hands on that ProDOS version!!!!) ) Oh well, that's about it... Zbasic is a nice language, but it does have some irritating nuances and it isn't quite as fast as they say it is... Disclaimer-> These are my own opinions, but you can have them if you want...