5 ms·
I think we also forget about how common Microsoft BASIC was. In the late 1970's the hobby market existed with machines then being many and diverse. Almost all
by Theodores 8y ago
I think we also forget about how common Microsoft BASIC was.
In the late 1970's the hobby market existed with machines then being many and diverse. Almost all of them licensed Microsoft Basic. Only later with the home market and the likes of Commodore, Sinclair et al. did home computers come with their own versions of BASIC.
We all know that BASIC is a load of rubbish. But the MicroSoft BASIC on those hobby machines set the mood for what home computers would have, even if it was not MicroSoft's BASIC.
Early home computers did have custom ROMs for all kinds of exciting languages, on the BBC Micro you could get BCPL (C, early version), Forth and probably Pascal. Same on the Sinclair machines, there was even a ZX81 clone - the Jupiter Ace - that ran Forth.
Despite this plethora of languages we ended up with BASIC. Boring BASIC. There were no resource excuses, Microsoft had just set the tone of what the home computer market was to be.
Same problem happened with Windows. Instead of networked UNIX style computers with some security worked out with things like 'user space' there were this ugly DOS and Windows things and it was 'personal computing' with people carrying disks from one PC in the office to another. Although I liked Windows at the time it really was the second time round that Microsoft had stunted computing, first with BASIC and second time with Windows/DOS.
Coming from a BBC Micro background where the BASIC was awesome and the disk filing system was okayish I was massively underwhelmed when I first had to use DOS. I felt 'is this all there is' as I experienced the kludginess of it.
MSX made precisely zero impact in the UK other than giving the likes of Personal Computer World something to waste dead tree and ink about. From what I remember it was not that hacker friendly as back then you needed to write code that was familiar with the hardware, not abstracted out through some convenient operating system. With a BBC micro you knew that you could write something performant - as in arcade machine grade - with the built in assembler and a lot of work with the A/Y/X registers of the 6502. MSX on a 16 register Z80 with some mystery meat video interface made that possibility unattainable.
All considered I think MSX hampered the computer cause, promising something that was never delivered. It was also off in that blind alley of BASIC that MicroSoft foisted on the hobby market a decade earlier.
- 0815test 8y ago> We all know that BASIC is a load of rubbish. I don't think this is right - BASIC was quite well designed considering these machines' capabilities and projected use. The model of a BASIC-powered home computer was essentially that of a programmable calculator with "computer" features tacked on. You could start by PRINT-ing math expressions at the REPL, and these would give you the sort of result you would expect, using software floats. Then you could make more complex programs, using simple line numbers, variables, and a handful of reserved words like PRINT/?, INPUT, IF, GOTO, FOR. You also had PEEK, POKE, SYS and/or USR to access the hardware directly. Sure, in theory FORTH might have been more elegant, but its RPN-like approach was far from intuitive.
- int_19h 8y agoBASIC has a very inconsistent syntax, and did so from the very first version. Over time it got worse. For a specific example, just look at the syntax for drawing primitives like PSET, LINE or CIRCLE. Something like this is neither particularly discoverable, nor consistent with the normal function call syntax in the language: LINE (0, 0) - (100, 100), 2, FB (I wonder how many people with BASIC experience from that era remember what "FB" means here.)
- DanBC 8y agoBF fills the box, and does something wierd with the x1, y1, and x2, y2 coords. I'm not persuaded by "discoverable"; you'd get a book that included a page for every statement with a worked example.
- int_19h 8y agoYou have to know where to start looking though, and it's not at all obvious that LINE is what you need to draw a filled rectangle. It also throws you off once you learn about subprograms (in dialects that had them), and realize that all this stuff is almost but not quite like them - and all the differences are there for no good reason.
- lokedhs 8y agoI recently experimented with Living Computer Museum's CDC 6500. It has Basic available, and it's remarkable how similar it is to C64 Basic. In fact, if you have experience with the C64 you can use the CDC without any documentation.
- Theodores 8y agoThe debate existed then, I quote Dijkstra: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." I never got to own a Jupiter Ace or to have a go at FORTH. I don't think the options were 'BASIC or FORTH', neither do I think that computers had to have 4K of ROM and 1K of RAM by the time the 8 bit microprocessors came along in the hobby era. Sure 8K of anything cost more than a paltry 4K but were those machines with 4K ROM of BASIC and 1K of RAM useful for anything whatsoever? The ZX81 with 1K just mentally mutilated programmers, other than that you learned that you needed more memory. Your first programming language constrains how you think, I was deeply wedded to the 'GOTO' concept and could not understand how a program could work without line numbers. BASIC took me a long way off the object-oriented paradigm! Anyway, thanks for grumbling about my sweeping statement - that I still stand by - I have now found some Dijkstra that is totally relevant to today and how web development has gone: https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF