I missed the basic era by a little but I always wonder why the BASIC roms never became the shell of the disk operating system when disks entered the pictured. Think analogous to the unix shell which is both the interactive command line and a scripting language. Get rid of the line numbers, add some directory access commands (list, mkdir, cd etc) and you would have a pretty good cli. but nobody appears to have done this. Instead you ended up with things cp/m and dos. fine enough I guess but their command interpreter sort of sucks in comparison to what basic could have brought to the table. And basic was already there.
Running your shell over top of the ROM BASIC? The reason nobody did this is because it would have cut your performance dramatically. ROM BASIC was always slow and usually quite cut down compared to something like GWBASIC. I do miss having the option to just boot into BASIC, but it was always more of a party trick than an practical mode of operation.
There was sort of a conceptual firewall between "using the computer" and "programming the computer" for a lot of systems.
Some (various LISP and Smalltalk environments) had a much narrower wall between the two, but I could see the case for being able to say "Your secretary never has to know about programming" even if it left flexibility and value on the table.
They sort of did this with BASIC 4.0 and later for Commodores. We had CATALOG for listing files, SCRATCH for deleting them, HEADER for formatting and so forth. These were standard BASIC commands, and could be used in programs as well as directly.
No, that was BASIC 2.0, and using any DOS commands was extremely awkward.
With the notable exception of listing the directory, which was pretty easy through a trick from the disk drive’s DOS which meant you could load the disk directory “as a program” with a special name, “$”, and then just LIST it. But you see, the drive’s DOS had to sort of go out of its way to make that simple.
I missed the basic era by a little but I always wonder why the BASIC roms never became the shell of the disk operating system when disks entered the pictured. Think analogous to the unix shell which is both the interactive command line and a scripting language. Get rid of the line numbers, add some directory access commands (list, mkdir, cd etc) and you would have a pretty good cli. but nobody appears to have done this. Instead you ended up with things cp/m and dos. fine enough I guess but their command interpreter sort of sucks in comparison to what basic could have brought to the table. And basic was already there.
Running your shell over top of the ROM BASIC? The reason nobody did this is because it would have cut your performance dramatically. ROM BASIC was always slow and usually quite cut down compared to something like GWBASIC. I do miss having the option to just boot into BASIC, but it was always more of a party trick than an practical mode of operation.
There was sort of a conceptual firewall between "using the computer" and "programming the computer" for a lot of systems.
Some (various LISP and Smalltalk environments) had a much narrower wall between the two, but I could see the case for being able to say "Your secretary never has to know about programming" even if it left flexibility and value on the table.
They sort of did this with BASIC 4.0 and later for Commodores. We had CATALOG for listing files, SCRATCH for deleting them, HEADER for formatting and so forth. These were standard BASIC commands, and could be used in programs as well as directly.
Yup, this basically what you booted into on a C64 for example.
No, that was BASIC 2.0, and using any DOS commands was extremely awkward.
With the notable exception of listing the directory, which was pretty easy through a trick from the disk drive’s DOS which meant you could load the disk directory “as a program” with a special name, “$”, and then just LIST it. But you see, the drive’s DOS had to sort of go out of its way to make that simple.
That's not a trick. It's just how you list files. Same awkwardness as any other disk command.