Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Testimonies of using BASIC back in the day

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Here's another way BASIC is useful:

    I used to make a living designing and building industrial controllers based on these things.
    Be polite and I may let you live.

    https://www.youtube.com/playlist?lis...5NBVfKX5471R9U

    Comment


      #32
      Tangentially related, some months ago I started a benchmarking project for 8-bit home micro BASIC systems, calculating prime numbers by trial division (the goal was not to have an efficient way of finding prime numbers, but to have some consistent unit of work that could be expressed simply and therefore be implementable regardless of limitations in any particular system's BASIC).

      At some point I thought I'd try my hand at an APL version to compare the speeds of BASIC and APL in my IBM 5100, and the project started spiraling out of control from there.

      ZBasic, Dartmouth True BASIC (on the Macintosh), various Microsoft BASICs, even Atari 2600 BASIC are all represented (that last one was a challenging port).

      It's pretty clear to see that Microsoft BASICs were all pretty slow, that Woz's Integer BASIC is pretty tidy, and Acorn's BBC BASIC is a masterwork.

      I still have a few more language ports up my sleeves in various unfinished stages, a structural mistake in the DRI Personal BASIC version (which has also snuck into a couple other ports) that causes it to do more work after finding the last prime, which I need to correct both in the source and the published results, and a long list of results to gather using software and hardware I've already collected with ports I've already written.

      Mostly the micro results are in the bottom half.

      http://www.typewritten.org/Articles/...ks/primes.html

      Comment


        #33
        When I get a chance, I'll have to run your benchmark on the BASIC that I wrote for the Durango systems. I've still got a couple 850s around. CPU is approx. 3 MHz 8085. The company is long gone, but a 16-bit version was ported to Xenix and was still in use in a couple of places about 5 years ago.

        The weakness in a lot of BASICs isn't the basic math, particularly not integer math, but in character manipulation. Some were hideously inefficient.

        Also, you have to consider the numeric representation. One big difference between some finance-oriented BASICs is that numeric representation is floating-point decimal, not binary. When working with decimal currencies, the occasion for truncation error is much less with decimal (that's one of the reasons that COBOL implements it to this day as the default).

        It seems to me that there was a benchmark list from the 1970s that was essentially open-ended. Machines like a CDC 6600 got to compete--even though it used only a 10MHz clock, it was stunning to see how much faster it was than just about anything.

        Comment


          #34
          Originally posted by bear View Post
          Acorn's BBC BASIC is a masterwork.
          If any BASIC I had access to as a child/teen allowed inline assembler, it would have likely changed my life.
          Offering a bounty for:
          - A working Sanyo MBC-775 or Logabax 1600
          - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

          Comment


            #35
            Mine too, but not for the better, I don't think. I wouldn't have had the desire to write my own assembler, which really affected everything I did after that point.
            Be polite and I may let you live.

            https://www.youtube.com/playlist?lis...5NBVfKX5471R9U

            Comment


              #36
              Originally posted by Trixter View Post
              Also, it's very C64-centric.
              Well, given that the C64 is the best-selling computer of all time, I suppose it would follow that the C64 is also the best-selling BASIC implementation of all time?
              Or at least, in the 80s, when BASIC was at its peak in terms of relevance. So I would suppose that the majority of people who grew up with BASIC, grew up with C64 BASIC?

              In fact, by the time I finally got my own Amiga, it was an Amiga 600 with Workbench 2.0. And unlike the 1.x incarnations, AmigaBASIC was no longer included as part of the OS.
              I suppose AmigaBASIC always took more of a backseat on the Amiga compared to the C64, since it was a separate application that you had to boot up first, after first booting the OS. Neither of which was required for most software, since they would be on self-booting floppies, and especially games generally didn't use the OS at all.
              http://scalibq.wordpress.com/just-ke...o-programming/

              Comment


                #37
                Originally posted by bear View Post
                It's pretty clear to see that Microsoft BASICs were all pretty slow, that Woz's Integer BASIC is pretty tidy, and Acorn's BBC BASIC is a masterwork.
                Wouldn't that at least partly also depend on the design choices with regard to data types?
                Because as I recall, the C64 BASIC didn't have separate integer and float datatypes internally, so everything would be processed through floating point routines, which would make math operations relatively slow.

                So I suppose what I'm saying is that it would be interesting to have both integer and floating point workloads, and see how the two relate in performance. Perhaps on some BASICs, the floating point versions are much slower, where on others, there's no difference.
                http://scalibq.wordpress.com/just-ke...o-programming/

                Comment


                  #38
                  Originally posted by Scali View Post
                  Wouldn't that at least partly also depend on the design choices with regard to data types?
                  Because as I recall, the C64 BASIC didn't have separate integer and float datatypes internally, so everything would be processed through floating point routines, which would make math operations relatively slow.

                  So I suppose what I'm saying is that it would be interesting to have both integer and floating point workloads, and see how the two relate in performance. Perhaps on some BASICs, the floating point versions are much slower, where on others, there's no difference.
                  Applesoft programs run faster when using integer types (%). How much faster I don't recall, but it would be easy to benchmark.

                  Commodore BASIC programs run significantly faster if you avoid explicitly using numbers. It takes a long time to parse numbers. So if you assign frequently used numbers to variables and only use the variables, execution speeds up. If I remember right, there isn't a significant improvement doing this in Applesoft.

                  The Commodore BASIC maths routines are much slower than the other Microsoft dialects, if I remember right. That's due to a much higher precision used in Commodore BASIC. I remember running into that whilst porting a program from Commodore BASIC to Applesoft. It seems to me also that there was something odd about it, that Commodore BASIC has a higher amount of error in some routines due to rounding errors, which shouldn't happen with the higher precision.
                  Be polite and I may let you live.

                  https://www.youtube.com/playlist?lis...5NBVfKX5471R9U

                  Comment


                    #39
                    A lengthy set of benchmarks published in 1982 can be found at https://works.bepress.com/mwigan/14/ which includes Apple II+, Commodore PET, and many Z-80 variants.

                    The comparison ranges from the CDC Cyber 171 (fastest) to TRS Pocket Computer (slowest) with some amusing notes like the Seattle System 2 (8086) was faster than PDP-10 and IBM System 34.

                    Comment


                      #40
                      All software released for the TRS-80 Pocket Computer was written in BASIC.

                      Comment


                        #41
                        Originally posted by krebizfan View Post
                        A lengthy set of benchmarks published in 1982 can be found at https://works.bepress.com/mwigan/14/ which includes Apple II+, Commodore PET, and many Z-80 variants.

                        The comparison ranges from the CDC Cyber 171 (fastest) to TRS Pocket Computer (slowest) with some amusing notes like the Seattle System 2 (8086) was faster than PDP-10 and IBM System 34.
                        There are older ones than that. The Cyber 171 isn't even the fastest of the 170 series. It might have been interesting including, say, a 176.

                        Comment


                          #42
                          Originally posted by tezza View Post
                          At that time it was generally sneered upon by those in the computer science community for being unstructured, inelegant and allowing spaghetti code...a "toy" language.
                          Most of those claims I felt came later -- the spaghetti code one I heard a lot and my response was always "Oh, nothing like Assembler..."

                          JMP = GOTO, Jx = IF/GOTO, CALL = GOSUB, RETURN = RET...

                          But that's the same as the bullshit you got from C asshats who kept saying C was "closer to how assembly worked" which of course is 100% BULLSHIT. Never understood where they got that claim from but Christmas on a cracker it's parroted a LOT, even today.

                          Originally posted by KC9UDX View Post
                          You want snobbery? Try being a Pascal programmer. All kinds of C snobs always preaching the supposed superiority of C.
                          Which was aggravating when their "not my favorite language" bullshit was filled with misinformation, what little truth there was to it was a decade or more out of date, and their favorite pet language was needlessly and pointlessly cryptic, aggravatingly vague, and pretty much DESIGNED to make developers make mistakes.

                          Again, there's a reason I'm not entirely convinced this is a joke:
                          https://www.gnu.org/fun/jokes/unix-hoax.html

                          But then, in the circles I was in during the late 70's through to the early '90's, NOBODY gave a flying **** about C on anything less than a mainframe platform. It just wasn't used and I really wonder what planet other people who say it was used were on... From what I saw it sure as shine-ola wasn't used on any MICROCOMPUTER platforms until the 386 came along for any serious project since C compilers were fat bloated overpriced toys -- relegating them to being about as useful as the toy that was interpreted BASIC.

                          Originally posted by KC9UDX View Post
                          I never found the limitations of even the interpreted BASICs terribly limiting.
                          That's really where BASIC got the "toy" label IMHO, it was FAR too limited in speed to do anything I wanted to do on any platform I ever had in the 8 bit and even early 16 bit era.

                          For me in the late '70's and early '80's was looking at every language higher than assembly and realizing "This is for lazy ****'s who don't want to write real software". Yes, even Pascal got that label from me. Interpreters were too slow on the hardware I had access too for anything more complex than DONKEY.BAS, compilers cost thousands, came on more floppies than I had drives, and took an hour of swapping disks just to compile a "hello world" that wouldn't even fit into a COM file. (since unlike the effete elitists with deep pockets we didn't have hard drives and were writing software to run OFF floppy drives or even cassette from systems that only HAD floppies.)

                          ... and I still remember the compiler that flipped that attitude around 180 degrees, and anyone who knows anything about '80's compilers can guess EXACTLY what compiler for which language I'm referring to.

                          Of course, my recent adventure into trying to use C for a PCJr target only further drove me away from C... to the point I was walking around downtown muttering "****ing gonna shove C up K&R's arse" under my breath. I still say C exists for the sole purpose of perpetuating the myth that programming is hard; a kind of elitist circle-jerk to exclude certain types of thinkers from even having a chance in the field. How the hell it caught on as the norm or even desirable still escapes my understanding -- though admittedly I say the same thing about *nix and posixisms so... YMMV.

                          In any case, by the time BASIC matured away from line numbers and had compilers, there was NOTHING it offered I couldn't get from better faster compilers that made smaller faster executables with cleaner code syntax. I wasn't likely to migrate away from Turbo Pascal for QuickBasic, that would have been thirty steps backwards. It would be like migrating back to clipper after having moved from DBase3 to Paradox or Access.

                          BASIC was a cute toy, but pathetically crippled to the point of being near useless for writing any real software in the timeframe it was "standard in ROM". EVERYTHING I ever encountered for "commercial" software written with it reeked of ineptly coded slow as molasses in February junk.

                          Though there are some ... I don't know how to word it. Something about certain software from the 'look and feel' perspective makes my brain scream "cheap junk". I knee-jerk into "what is this crap" mode and most always it seems related to the language being used to build the program. BASIC has always had that for me where you can usually TELL its BASIC, and the only way around that seems to be to lace it so heavily with machine language, you might as well have just written it with assembly only. Clipper was another one that just gave me this "rinky cheap half-assed" feeling... which for all my hatred of C, I never got that feeling from stuff written in C.

                          That 'feeling' lives on today quite well the moment I see anything web related written using ASP. You can just tell, the way the UI feels half-assed, flips the bird at the WCAG, and the agonizingly slow page loads from too many DOM elements, pointless code-bloat crap visual studio just slops in there any-old-way, etc, etc... Whatever it was that made BASIC feel like a rinky cheap toy seems to live on in the majority of what people create using the WYSIWYG aspect of Microsofts Visual Studio.

                          You'd almost think one of VS's build options is to use VB.NET
                          From time to time the accessibility of a website must be refreshed with the blood of owners and designers. It is its natural manure.
                          CUTCODEDOWN.COM

                          Comment


                            #43
                            Originally posted by krebizfan View Post
                            notes like the Seattle System 2 (8086) was faster than PDP-10 and IBM System 34.
                            I still remember a magazine article from the '80's that was pointing out that TP3's 48 bit "real" faster and more reliable on a 8088 than the 32 bit "single" on a 8087... it was just more RAM hungry. Wish I could find a copy of that today.
                            From time to time the accessibility of a website must be refreshed with the blood of owners and designers. It is its natural manure.
                            CUTCODEDOWN.COM

                            Comment


                              #44
                              Originally posted by deathshadow View Post
                              I still remember a magazine article from the '80's that was pointing out that TP3's 48 bit "real" faster and more reliable on a 8088 than the 32 bit "single" on a 8087... it was just more RAM hungry. Wish I could find a copy of that today.
                              There were a lot of bugs in the TP 8087 support which caused inaccurate results. The code also ran slower than it should have on 8087. Conversely, code written using 48-bit reals moved to Delphi will slow down by a factor of about 5 since Delphi converts 48-bit reals into standard floating point and then converts back into 48-bit.

                              Comment


                                #45
                                How often does anyone actually use FP? Even when I was rendering 3D wireframes I always used scaled integers.

                                But then one of my biggest gripes about most Pascal implementations is the standard datatypes. I tend to go out of my way to not use them. That was one of my main reasons for starting to write my own compiler what is now many years ago (that project has been shelved due to priorities). I wanted to write a Pascal that natively used null terminated strings (yes, I know there are some Pascals that already do this), didn't have any legacy MS-DOS junk in it, and didn't have any inbuilt procedures that violated the rules of the language. (I had great intentions of not having a WriteLn for one).

                                For all my complaints about BASIC, I do not complain about GOTO. I never understood the hatred of GOTO, especially from people who call themselves Computer Scientists. GOTO (JMP, whatever you care to call it) is a very useful tool. For every 10,000 lines of structured code that I write, I tend to use one Goto at least once, somewhere. There are certainly times and places where it makes sense. And I tend to find the same people who eschew GOTO are the same who have no problem overuseing or misusing a Break/Exit/whatever you care to call it.

                                I still stand by what I said; all the limitations of BASIC don't prohibit a programmer from writing usable software.

                                My favourite thing about BASIC (perhaps the only thing I like about it) is simply that it is included in ROM in so many machines. The fact that I can write an assembler (and bootstrap an assembly flat file editor) with nothing other than a C64 the way it came from Commodore, a disk drive (only to avoid the obvious tedium of not having one), and a black and white TV, is what makes hobbyist computing worthwhile to me. Mind you I write of my assembler, but there were countless other large scale projects that I did, and countless more I could have done. Sure I could have done it in machine language, with toggle switches, or in crude assembler in a monitor, but BASIC is sure more friendly than either of those for a large project.

                                I'm going to have to take down one of my interiour doors so I can stage a picture of what my computer desk looked like in 1986. A desktop made from a door with a C64C, a 1541, and a Penncrest TV (you can see that on my Youtube channel, doing nothing).
                                Be polite and I may let you live.

                                https://www.youtube.com/playlist?lis...5NBVfKX5471R9U

                                Comment

                                Working...
                                X