4 ms·
Don't forget a borrow checker and probably lambdas too. :) BASIC - original BASIC - was designed to get people programming computers for fun and work, with lit
by pinewurst 3y ago
Don'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 agoFirstly, you are not user “pinewurst” And neither are you. Why are you speaking for someone else, much less a stranger on the internet? you presumably wrote “business software” as an older, experienced, programmer? No, your presumption is wrong. I specified "business software" because business software of the era was typically more complex than other software, and thus required more GOTOs and other conventions that the previous commenters have stated are problematic.
- teddyh 3y agoWhy did you reply to a question clearly asked directly to the post I replied to? > No, your presumption is wrong. Fair enough. So it was “no big deal” for you. But functions clearly have value, since every language since that time has added them as a language feature. And I claim that, barring the occasional genius like you, most people (including myself at that time) actually need the language support in order to be able to get used to building abstractions in ever larger programs.