[comp.sys.apple] BASIC: Does ZBasic help?

Geva_Apple-Maniac_Patz@cup.portal.com (03/24/89)

Hi,

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
  %%%%

ggray@wpi.wpi.edu (Gary Gray) (03/25/89)

In article <16190@cup.portal.com> Geva_Apple-Maniac_Patz@cup.portal.com writes:
>Hi,
>
>
>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
>  %%%%

Zbasic is an interactive basic compiler, that is, while writing programs it
acts just like a normal basic interpreter, only it will compile your program
and execute it when you ask to run.  It comes in both Prodos and dos 3.3 (sold
seperatly) The Prodos version supports either 64k or 128k memory models. In
128k mode, the code of the program resides in one 64k bank, and the variables
are stored in the other.  It has built in support for double-hires, and has
its own character generator and scroll routines to allow text on the graphics
screen.
It has support for structured programming, such as labels, while, do-until,
etc. looping statements.  It comes with a screen editor, and in this mode it
is possible to write programs without line numbers.  The speed comparisons
that they show on the back of the manual idicates that it beats Hyper C in
sort/seieve (I generally take all such measurements with a grain of salt). 
The compiler acceptably fast in creating code.
The only thing I don't like about it is the fact that its memory map is fixed;
you have 8k worth of graphics screen whether you need it or not.  Also, some
of the included demo programs (with my copy) are bugged.... 
  Finally, the manual is excellent in layout.  It is a one-size-fits-all
manual, which describes the language in the first half of the manual, and then
suppiles an appendix for each machine for specifics.  I believe you can order
the compiler for other computers at a reduced rate if you already have the
manual.  

The address of Zedcor (at least in the manual) is:

4500 East Speedway Blvd., Suite 22
Tuscon Arizona 85712-5305

order phone # 800- 482-4567

Note that Programs Plus sells the compiler as well.

Disclaimer: I am not affiliated with Zedcor, bla bla bla

Question, how do I get the Zbasic Newsletter? 
-- 
_____________________________________________________________________________ 
 _        			|"Don't care if they say we are a dyin' race 
/ _ ar \/   ggray@wpi.bitnet    | I'd rather be here than any other place 
\_| ra /    ggray@wpi.wpi.edu   | Keep on working, Keep on working" P.T.  

demarco@cpsc.ucalgary.ca (Vince Demarco) (03/25/89)

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...