Jump to content
xxx

the best to worst basic interpreters

Recommended Posts

(Referring to FPBASIC.)

On 12/28/2020 at 4:57 AM, xxx said:

slow and clunky...

It's like 95% the same as the VIC-20 and C64, the C64 being literally the exact same as the VIC-20. And the CPUs of all three run at exactly the same speed.

Share this post


Link to post
Share on other sites

It's meaningless applying terms "best" and "worst" to something like BASIC interpreters. Each BASIC is different. And each version may be suited to one type of task more than another. Not only that, you have to consider the hardware its being run on.

 

I might as well say Applesoft BASIC was the best because it allowed for seamless integration with DOS 3.3 and supported hi-res graphics.

 

It's also hardly the slowest. In fact it may the fastest of them all by many factors - when run in emulation on a modern i9.

 

Most importantly, in the real world in real situations, Applesoft was very approachable and sought after by the scientific community.

 

Share this post


Link to post
Share on other sites
6 hours ago, Koopa64 said:

Has anyone here tried Family BASIC on the Famicom? Technically the BASIC included on the cartridge is called HuBASIC (Hudson BASIC).

Very briefly. It seems like a decent implementation though I don't know how you define your own graphics unless you want to make yet another Super Mario game. My impression is that it could have been a rather good 8-bit computer if Nintendo really wanted it to be, but their real market was elsewhere. To be honest, introducing a brand new 8-bit format in the end of 1983 or early 1984 was not really the future, even though MSX1 and Amstrad CPC did just fine.

Share this post


Link to post
Share on other sites
7 hours ago, oracle_jedi said:

 

4 RM Nimbus Manuals Logo BBC Basic Owners Handbook.jpg

thats probably just another version of basic for the rm nimbus...

image_2020-12-30_021341.png

Share this post


Link to post
Share on other sites

Additionally Applesoft BASIC is the best because it helped make complex & advanced (for its time) technology accessible to all. One of Jobs' goals.

 

There were things in Applesoft (MS BASIC) that matched many users' thought processes when it came time to put imagination into practice. And this was applicable to kids as well. When I was one backintheday I found it rather intuitive to plot out a circle or dissect a string. Or pull something from the DISK II, whether it be a program or something in a text file. No other micro fit the bill for activities like that. It eliminated a lot of frustrations. And that was the appeal.

Edited by Keatah
fix a sentence's structure.
  • Like 1

Share this post


Link to post
Share on other sites

I thought that GWBASIC took what FPBASIC did and did it better.  It also had a better version of the screen editor like Commodore had, and made more use of the hardware available to it.  Also, access to the disk system didn't feel bolted-on (although in fact on the original PC, just like with FPBASIC, it actually was).

Share this post


Link to post
Share on other sites
On 12/28/2020 at 2:47 PM, carlsson said:

I may have come across the source code:

 

 

10 data"amiga wb 1.0","amiga wb 1.3","amstrad cpc","apple 1","apple 2"
20 data"atari 8 bit","bbc micro","c128","c16","c64","cbm pet","cpm basic"
30 data"rm nimbus","sord m5","ti99","ti99 extended","trs80","trs80 coco"
40 data"vic 20","zx spectrum","zx80","zx81"
50 dim b$(22),o(22):for i=1 to 22:read b$(i):o(i)=-1:next
60 r=rnd(-ti):rem randomize
70 for i=1 to 22
80 r=int(rnd(1)*22)+1:ifo(r)<>-1then80
90 o(r)=i:next
100 for i=1 to 22:print i;b$(o(i)):next

 

 

Adjust the RND calls and other details accordingly to your BASIC dialect.

 

  • Haha 2

Share this post


Link to post
Share on other sites

Yeah, why isn't GWBASIC represented? the RM Nimbus is an 80186 (so obviously not 100% DOS compatible) so DOS era equivalents should not be shied away from.

 

Not sure why PET is at spot 17, with BASIC 4.0 it's better than Vic 20 (at spot 12) and C64 (at spot 6) in terms of pure BASIC, if the C64 is so high because of PEEK/POKE to access "advanced" Gfx/Sfx chip ... that has nothing to do with BASIC.

 

I don't dislike C64 BASIC, that's all I had, and it was functional and "fun" (not sure the quote mode was to my taste but once more it worked), but I liked SIMON'S BASIC more because of the explicit support for Gfx/Sfx commands.

Share this post


Link to post
Share on other sites
11 hours ago, phoenixdownita said:

BASIC 4.0 it's better than Vic 20 (at spot 12) and C64 (at spot 6)

I'm afraid you may be mistaken here. The BASIC V2 in the VIC-20 and C64 actually is based on BASIC V4 minus the disk handling commands, not the older V2 from the 2000/3000 series PET/CBM. Quite a few improvements in e.g. garbage collection and bugs fixed happened between the old V2 and V4, but due to they cut down the language to fit within 9K it was named V2 though V4 Light probably had made more sense.

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, carlsson said:

I'm afraid you may be mistaken here. The BASIC V2 in the VIC-20 and C64 actually is based on BASIC V4 minus the disk handling commands, not the older V2 from the 2000/3000 series PET/CBM. Quite a few improvements in e.g. garbage collection and bugs fixed happened between the old V2 and V4, but due to they cut down the language to fit within 9K it was named V2 though V4 Light probably had made more sense.

I was confused about that as well. I always wondered why they would downgrade to a worse version of BASIC in their new computers. Now I know that they didn't, although it's more confusing now what with there being BASIC 2.0s.

They also changed some tape related stuff; they got rid of the tape port numbers since later computers had one tape port, and they also changed "WRITING" to "SAVING".

  • Like 1

Share this post


Link to post
Share on other sites

Yes. I suppose feature wise it was a step backwards but functionality, implementation wise it wasn't. Like if Microsoft released a Windows 7 Remix which used the UX and features of W7 but internally ran on the latest W10 core. Except they wouldn't, they would call it Windows 10 Retro Light or similar.

Share this post


Link to post
Share on other sites

From https://www.c64-wiki.com/wiki/BASIC

Comparing BASIC V2 (second release as in VIC20/C64 etc..) vs BASIC 4.0 (PET 40xx/8xxx) it seems this is the list of 4.0 extra commands:

 

APPEND | BACKUP | CATALOG | COLLECT | CONCAT | COPY | DCLOSE | DIRECTORY | DLOAD | DOPEN | DS | DS$ | DSAVE | HEADER | READ# | RECORD | RENAME | SCRATCH | 

 

(note that BASIC V2 had a π constant added and TI/TI$ also aliased to TIME/TIME$ that seem amiss in the PET BASIC 4.0)

At any rate a link to BASIC 4.0 is here:

http://www.commodore.ca/manuals/pdfs/Commodore_Basic_4_Users_Reference Manual.pdf

and yes all the extra commands are related to files.

I am not referring here to perfs/bug-fixes (however important) just BASIC language features/functions available.

NOTE: Also true that BASIC 3.5 (C16, C+4) seems a superset of BASIC 4.0 with gfx/sfx support added so I have no problem believing that VIC20/C64 BASIC V2 is actually BASIC 4.0 without file commands but perfs/bug-fixes as needed).

 



 

Share this post


Link to post
Share on other sites

I thought the final Coco BASIC (enhanced extended Disk) was the variation on the MS interpreters with the most features. 

 

Performance is important though garbage collection is an often forgotten element of performance. Waiting 5 to 10 seconds for a BASIC word processor to catch up with the deletions in the middle of a document makes it a difficult product to use. 

 

Something that threw me off when adapting programs to various BASICs was the differences in the number of characters used to specify a variable. BASICs that only tracked a few characters in a longer variable name made it far too easy to have variable collisions. 

 

I hated Sinclair BASIC during my brief usage of a TS-1000. 

Share this post


Link to post
Share on other sites

I think also that BASIC 2 on the 64 and VIC-20 has the same slow garbage collection routine as PET BASIC 2.0, doesn't it?  I remember COMPUTE! articles talking about that relating to the 64.  The 128's BASIC 7.0 had the fast routine that PET BASIC 4.0 had (or maybe it was even faster?)

 

Share this post


Link to post
Share on other sites

(somewhat confused that nearly all the BASICs mentioned live on 8bit micros, with very little love for any of the BASICs on PC. No mention of IBM rom basic? No mention of MS's BASICs?)

Share this post


Link to post
Share on other sites

Hold on, the more I use it, the more I think BASIC 2.0 on the VIC-20 and C64 was actually a pretty big downgrade over 4.0 on the PET. It lacks a lot of the commands that later Commodore computers reintroduced. Was there any particular reason they downgraded? Did it significantly reduce the size of the code?

Share this post


Link to post
Share on other sites
1 hour ago, wierd_w said:

somewhat confused that nearly all the BASICs mentioned live on 8bit micros, with very little love for any of the BASICs on PC. No mention of IBM rom basic? No mention of MS's BASICs?

I only used the ROM BASIC a time or two.  Never did much with it.  I bet a lot of people using the PC did the same.  Who used ROM Basic?

 

Now, the QBASIC and variants?  Those saw a lot of use, but not from me for anything fun.

 

 

Share this post


Link to post
Share on other sites
50 minutes ago, wierd_w said:

(somewhat confused that nearly all the BASICs mentioned live on 8bit micros, with very little love for any of the BASICs on PC. No mention of IBM rom basic? No mention of MS's BASICs?)

There were a few mentions of IBM PC BASIC but there isn't much to talk about with it. It implemented MS Disk Extended BASIC with Cassette BASIC lacking disk routines, IBM DISK BASIC having a short program adding the disk routines, and Advanced BASIC (GW-BASIC) gaining additional functions to handle the better graphics of CGA followed by modest updates for PC Jr, EGA, and for non-IBM systems, some of the better than CGA graphics cards. Comparing IBM Disk BASIC with TRS-80 Disk Basic, IBM had an advantage in terms of memory allowing for variable names that used 40 characters instead of TRS-80 only tracking the first two characters of a variable name and standardized cassette and disk routines so code would move from cassette to disk without rewriting. IBM also made a mistake by using full names when loading from cassette; TRS-80 loaded a file if the first character of the name was a match. Anyone who might have waited 30 minutes because of a typo would not be in favor of IBM's method. 

 

Coco BASIC got the graphical improvements of PC BASIC and I think a few other systems also had that added. Note the graphical routines started off on the Vector Graphics and MS picked up both the code and the programmer (Greg Whitten of GW-BASIC fame). 

 

There were a lot of secondary BASICs out there. Business BASICs were slow but very accurate with relatively good formatted print abilities. The minicomputer BASICs that fit into less than 64k made it easier to store structured data but eschewed graphics. I think there were a bunch of alternate interpreters for just the Spectrum; the total of all micro friendly BASIC interpreters may have exceeded 100. 

Share this post


Link to post
Share on other sites
6 hours ago, potatohead said:

I only used the ROM BASIC a time or two.  Never did much with it.  I bet a lot of people using the PC did the same.  Who used ROM Basic?

 

Now, the QBASIC and variants?  Those saw a lot of use, but not from me for anything fun.

 

 

 

Microsoft's BASIC was actually a lot of places.

 

Like here:

https://en.wikipedia.org/wiki/Atari_Microsoft_BASIC

 

Wikipedia has a pretty good list of places in its main page for MS Basic.

https://en.wikipedia.org/wiki/Microsoft_BASIC

 

EG, it was more than just QBASIC and pals.

Share this post


Link to post
Share on other sites
9 hours ago, bluejay said:

Hold on, the more I use it, the more I think BASIC 2.0 on the VIC-20 and C64 was actually a pretty big downgrade over 4.0 on the PET. It lacks a lot of the commands that later Commodore computers reintroduced. Was there any particular reason they downgraded? Did it significantly reduce the size of the code?

Because BASIC 2.0 fit in 8K of ROM.  Thus, it was cheaper to manufacturer.  Remember also that when the VIC 20 was introduced, it only had 5K of RAM and no disk drive.  So there was no perceived need for the disk commands in BASIC 4.0, which is really the main thing lacking in BASIC 2.0.  

  • Like 1

Share this post


Link to post
Share on other sites

Yes. If you only look at the list of commands it seems like the VIC and C64 are missing a lot, 16 commands and two system variables. When you dig into what each of these 16 commands do and find that all of them are syntactical sugar relating to disk handling, it doesn't seem like that much of a loss anymore.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...