The Cyber-Spy.Com Usenet Archive Feeds Directly
From The Open And Publicly Available Newsgroup
This Group And Thousands Of Others Are Available
On Most IS NNTP News Servers On Port 119.
Cyber-Spy.Com Is NOT Responsible For Any Topic,
Opinions Or Content Posted To This Or Any Other
Newsgroup. This Web Archive Of The Newsgroup And
Posts Are For Informational Purposes Only.
From: "John Jardine"
Subject: Re: Which basic compiler to buy?
Date: Wed, 11 Dec 2002 01:14:57 -0000
References: <firstname.lastname@example.org> <email@example.com>
NNTP-Posting-Date: 11 Dec 2002 01:02:28 GMT
X-Newsreader: Microsoft Outlook Express 5.00.2615.200
Frank Bemelman wrote in message
> "John Jardine" schreef in bericht
> > Frank Bemelman wrote in message
> > >
> > > Who told you that? ;) Not that I'm against BASIC or any other
> > > use whatever works for you - but don't complain .
> > As usual, learnt from experience ;-)
> Ah, okay, that explains, you just didn't have enough experience ;)
This was exceedingly true! ... but we've all had to start at some point ;-)
> > 18 years ago had just built a (2k rom) Z80 based XY plotter. Needed to
> > my (new to me) Breshenham line and circle drawing routines into Z80
> > code. Was used to Sinclair Basic but told that 'C' was better and was
> > the future lay and was joyous to be given a copy of Borland TurboC plus
> > set of manuals. Very enthusiastic at this point and spent a month
> > C then wrote a master prog' that would do the Breshenham stuff (in
> > simulation).
> I think a month is not enough time to learn C. You can learn the
> syntax etc. in a month or even less, but it takes quite a while to
> get the true hang of it. Which makes old-style BASIC awfully attractive
> for beginners.
What you say is good comment. It's a question as to where the learning
cutoff point is defined. I must admit that after 18 years of Basic progging,
I still occasionally turn up better ways of doing things and it's a
temptation not to rewrite earlier stuff. As learning curves follow a never
ending CR charging time constant I think the 'sufficiently skilled' cut-off
point should be around the CR 60%-70% mark. After one month I felt I'd got
most of the 'C' gist but knew I'd need 4 months to get 98% of the nuance. If
it was to take me beyond the 1 or 2 month mark to get into a language then
unless I was employed as and had the temprement of, a programmer, I just
wouldn't (don't) have the time or patience. The really massive learning and
assimilation phase is in those giant steps needed for a 'first ever' working
prog' (eg finding out what 'variable' means). From that point, all else is
> > Then spent a further month trying to expand the prog' out to more
> > Z80 machine code like statements. The final prog was becoming chaotic as
> > 'pretend' Z80 code was in effect having to try to simulate a C operating
> > system in addition to running the routines. Abandoned it and went back
> > Basic. The Basic programme simulation and subsequent 'expansion' to near
> > machine code took a couple of evenings.
> > It's still a method I make use of for oddball PIC routines, even though
> > wrote (and quickly discarded) a PIC Basic compiler to try and do this
> > for me.
> > Compiler routines must have improved over the past few years so I'll
> > probably buy a PIC compiler at some point and yes ... it'll be a Pic
> > ;-)
> Compilers have gotten better, but TurboC was not that bad. Did you use
> that for the Z80? Didn't know there was a TurboC for Z80.
At the time it was standard TurboC for the PC and yes!, I even enjoyed using
it to write a couple of progs for my own PC use. (the 16 bit debugger was
good, I wish I had a copy still)
The simulated (say) Z80 prog would be written in high level C. One 'high
level' line of which, may have been 'MOVMEM (source, destination, length)'.
That line may in reality have actually referred to moving a block of
plotter line segments from one Z80 byte buffer to another. When this
simulated hi level prog had proved to work, a second pass (maybe even a
third and fourth) through it would be made.
This time the MOVMEM keyword (say) would be (where possible) further broken
down into a number of more primitive C statements, e.g breaking up the easy
but complex MOVMEM keyword into a number of PEEKs and POKEs running under
an integer loop counter. At this point no further reduction can be made and
the PEEKs and POKEs can be tranferred directly to (say) Z80 machine code as
'Loads' and 'Moves' or straight into a Z80 'Block Move' instruction.
This 'MOVMEM' example is fairly straight forward and can apply to most
languages but I remember 'C' complications starting to arise in finding
memory, string handling, data typing and gosub constructs, so it was back to
> Frank Bemelman
> (remove 'x' & .invalid when sending email)
Go Back To The Cyber-Spy.Com
Usenet Web Archive Index Of
The sci.electronics.design Newsgroup