4 ms·
I had one of these as a child. They were awesome. I still think there is a place for basic-with-linenumbers for teaching beginners. One of the most awesome t
by philipswood 3y ago
I had one of these as a child.
They were awesome.
I still think there is a place for basic-with-linenumbers for teaching beginners.
One of the most awesome things about it was that when you switched it on it just powered up and was a computer. It dropped you straight into a prompt.
- teddyh 3y agoAny BASIC which lacks user-defined named subroutines (i.e. real functions, not DEF FN) is a terrible language, especially for beginners: https://news.ycombinator.com/item?id=35220605 https://news.ycombinator.com/item?id=35220605
- pinewurst 3y agoDon't forget a borrow checker and probably lambdas too. :) BASIC - original BASIC - was designed to get people programming computers for fun and work, with little or no weight given to understanding 'computer science'. After a long career devoted to the latter, I respond 'pfooey!' to that.
- teddyh 3y agoHave you ever tried to write a BASIC program for any practial purpose? I have. It’s an excercise in mental fortitude, trying to remember whatever GOSUB 11600 meant, and what global variables were used as input and which ones were altered as an effect of calling the subroutine. Named user-defined functions is essential for any program longer than a screenful of text.
- reaperducer 3y agoHave you ever tried to write a BASIC program for any practial purpose? I have. It’s an excercise in mental fortitude, trying to remember whatever GOSUB 11600 meant, and what global variables were used as input and which ones were altered as an effect of calling the subroutine. I wrote business software back when people did such things in BASIC. It was no big deal.
- teddyh 3y agoFirstly, you are not user “pinewurst”, who equated my want for user-defined functions to wanting a borrow checker and lambdas. Secondly, you presumably wrote “business software” as an older, experienced, programmer? The difficulty arises when one has learnt BASIC as a young, new programmer, and has no conceptual framework of what abstractions are to help.
- pinewurst 3y agoUser pinewurst remembers writing fairly complex games in BASIC from 13 until he switched to the tiny miracle that was Turbo Pascal. I’m not debating the value of those abstractions, but they’re hardly essential for building an enthusiastic programming mindset, especially when I think retrospectively. I remember a conversation with someone who insisted that no one should be playing songs on the guitar until they first memorized all of the scales. I’m just strongly advocating building joy and a feeling of capability before anything else.
- teddyh 3y agoPlease don’t mistake me for someone having merely theoretical objections. I wrote BASIC code in the 1980s; both games and utility software. It is precisely because I did those things that I object to any BASIC lacking functions. The BASIC I used lacked functions, and I remember it being very difficult to do what I can now call abstractions and subroutines. This would have been vastly more easy if the BASIC I used had had user-defined proper functions.
- pinewurst 3y agoI'm not underestimating your objections by labeling them theoretical. We just have (respectfully) differing opinions on pedagogy. On the other end, I really can't stand Scratch as being distant enough from real programming to make the leap difficult (as seen by my son and fellow students).
- reaperducer 3y ago
- renewedrebecca 3y agoThe point in BASIC shouldn't be to really teach programming, but just give a kid the thrill of being able to type in something and seeing a computer do it after typing 'RUN'. You don't need named subroutines for that, at all.
- teddyh 3y agoSome BASICs did have named functions. Reportedly, The BBC Micro one was an early example, and later BASICs on, say, Atari ST, Amiga and later BASICs on MS-DOS all had them.
- philipswood 3y agoTricycles don't make good mountain bikes and real professionals use motorbikes, cars, boats or planes. But I'd still say they're an OK choice for toddlers. I agree with you that writing anything significant (comfortably) requires more than BASIC gives and you need to move on to something more substantial pretty quickly. In my case the beginning of my path was: ROM basic on a Compucolor. GWBasic on a XT PC. Turbo Pascal. Quick C/Turbo C. A bit of assembly thrown in in between (think more Debug than MASM). Edit: added my path
- teddyh 3y agoBASIC can perfectly well have named user-defined functions. Some BASICs had them, and at some point in time, all BASICs started to have them. If you want to use BASIC to teach newbie programmers, use one which has them.
- musicale 3y agoLooking at your comment, I think it's signifiant that primitive BASIC (from the 1960s to 1980s) implementations very effectively empowered many computing novices to create small to medium sized programs and games on timesharing systems and microcomputers. Original BASIC was essentially a more user-friendly 1956 FORTRAN, but timeshared, interactive BASIC terminals beat Fortran punched card decks, and BASIC was more accessible than assembly language for microprocessors but still ran in 8KB. Most importantly, it seems that for many people BASIC enkindled a love of computing (as can be seen in many HN comments.) You're right though that large and composite programs benefit from modularity and named, multiline, reentrant functions. And BBC BASIC seems like it was an impressive system. In an alternate reality, I wonder what would have happened if BASIC and Tiny BASIC had been based on another language (e.g. Lisp, which had history at Dartmouth) and Bill Gates had implemented a version for the Altair. (Note there was later a muLISP/Microsoft LISP that ran in 20KB.) JavaScript seems to be as ubiquitous as BASIC once was, and is a modular and scalable language used by novices and professionals alike. But there just isn't the push to programming that "boot to BASIC" systems delivered, or the pull to create your own programs or web sites, since there are millions of existing ones that you can use.
- teddyh 3y ago> I wonder what would have happened if BASIC and Tiny BASIC had been based on another language I have sometimes¹ wondered this about Forth and Occam; both of which were used by some microcomputers at the time. 1. https://news.ycombinator.com/item?id=17279025 https://news.ycombinator.com/item?id=17279025
- PlunderBunny 3y agoIt's like that saying about cameras. The best BASIC is the one you have.
- teddyh 3y agoOh, sure. But I would not today go and write gushingly about how wonderful a camera the Brownie was. Because it objectively wasn’t. It was great for other reasons, but it certainly was never itself a wonderful camera, even for its time.
- pinewurst 3y agoI remember seeing one at a computer store and being totally envious as a Commodore PET owner. I continue to be impressed with the ethos of Kemeny and Kurtz.
- bitwize 3y agoI think that's one of the big features of old 8-bit micros that I'm saddest to see is gone. You turn them on and start programming. Today, you don't need to program a computer, it comes loaded with things to do, many of them already running, some that may work against you... and it has an app store full of other such things! But back then, computers were for programming like pencils were for writing with. Writing and then running programs was what you did with a computer. Sure, you could load someone else's program... but you had to tell the system to load it before it could... even exist in the computer's memory.
- qawwads 3y agoThose lines weren't meant to help beginners but as a way to order statements in the absence of an editor.