7 ms·
This is funny, the other day when Microsoft released the code to GW-BASIC, I wrote this in response to someone saying their IBM PC booted into a version of BASI
by russellbeattie 6y ago
This is funny, the other day when Microsoft released the code to GW-BASIC, I wrote this in response to someone saying their IBM PC booted into a version of BASIC rather than DOS:
I've always thought that using BASIC as the default command line was really weird... Like on an Apple II or TRS-80. You could type in a command to load something from a disk or run a program, or type a line number to start programming. How did that make sense to anyone?? To my 11yo self, it was confusing and I've never changed my mind.
To add to that thought, I think there's some things which are worth emulating from the good ol' days, and some which aren't. I think this is probably one of the latter.
- sjburt 6y agoBut how different is that really than bash? Or even command.com?
- 1bc29b36f623ba8 6y agoIt isn't, really. The command-line is a beautiful thing!
- zozbot234 6y agoThose computers could not run a general purpose GUI, so a command-line interface was all you got. The nice thing about BASIC in that context is that it's a clean extension of a desk calculator: it gives you floats and math operations, functions etc. out-of-the-box, which took a non-trivial chunk of ROM code to implement on that kind of 8-bit platform.
- djaychela 6y agoAlways made perfect sense to me - I grew up on ZX spectrum, BBC Micro and VIC-20. When I started using PCs on dos, that made sense too. I never thought either approach was wrong...
- ralphc 6y agoMy 16 year old self found it the opposite of confusing on my TRS-80, especially with everything in ROM. Hit the power button and in seconds you can start programming and exploring. It's how thousands of kids got their start programming.
- the_af 6y agoHmm. I think it makes a lot of sense and never confused young me with a Commodore 64. If you boot a Unix system with a shell like bash, you basically have a programmable console that serves as your interface for loading files and running programs, as well as a programming interface itself. The shell is effectively Unix's "Commodore Basic V2.0" ;)
- russellbeattie 6y agoNot really - you don't have an invisible memory buffer that's just sitting there that you need to load with a program in order to use it. Then you type "run" and it magically pulls the program out of the ether and runs it. And the command line isn't automatically, and exclusively, used as an ed-like line editor. I get that all shells are programmable, but booting right into a programming language REPL? You need a different mental model of what's happening under the hood for it to make sense.
- ziotom78 6y agoOTOH, I remember that the first thing I did when, as a 10-year-old boy, I got a VIC-20 (my very first computer) was to type 10 + 10 and "20" appeared after I pressed the Enter key. Today this would not work with Bash, yet at the time the computer's answer seemed pretty logical to me.
- the_af 6y agoThere modern day expression-oriented CLIs where this would work, too :)
- the_af 6y agoIt absolutely didn't seem strange to me back then, so I guess we disagree. The memory buffer isn't invisible, you can list it and modify it. Lots of Basics worked like that back them, to me it's understandable without a second thought -- much like a REPL today is. In fact we designed a console/REPL just like this in my day job. It's superb because the shell to the computer is an interactive programming language. If this puzzles you, a Smalltalk environment would blow your mind :P Some people argue computers ought to go back to that: you boot up, you get your programming environment and file and device manipulation interface ready, and it's all the same thing.
- Wowfunhappy 6y ago> You could type in a command to load something from a disk or run a program, or type a line number to start programming. How did that make sense to anyone?? But that makes perfect sense to me! The commands you type in are, themselves, basic code. Line numbers just tell the computer to start storing those commands for later use. Chain them together and you have your own program, which you can save and load and run later. I find it all aesthetically beautiful, actually.
- Shorel 6y agoI don't see this too different from the Unix command line. It actually removes the complication of using the compiler, and makefiles, and so on. The beauty lies in its simplicity.