Live data from Hacker News

BASIC was not just a programming language

gcher.com

81–90 of 121 posts

Re: BASIC was not just a programming language

#82

Earlier quoted context omitted.

“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 genuinely feel that Dijkstra’s famous rant about BASIC had a big hand in killing it off. I don’t think it was the intention but it created so much bias against BASIC. If you created something in basic, or even suggested using…

For me the biggest motivation to not dip my toes too much into BASIC on 8-bit computers was the abysmal performance. If I remember right, assembler was about 100x faster, compiled high-level languages like PASCAL about 10x faster, and FORTH somewhere inbetween compiled languages and assembler.

At least on the C64, I use BASIC as largely a scripting language and master scheduler, calling 6502 machine language subroutines with SYS, and reserving BASIC for the very highest level main loop or non-speed-sensitive tasks that would be inconvenient, bulky or unnecessary to write in assembly. It gives me a scaffold to hang things off.

Re: BASIC was not just a programming language

#83

I feel like BASIC on my C64 was the last time I really, intuitively understood what my computer was doing when I was programming and executing software. There are so many layers between me and the hardware today that I feel like I float above it, and that I just have to trust it all intrinsically. I don't, really, and it constantly gives me this feeling of almost falling.

Well, it is amazing you can write something in a decent set of Javascript these days and have it execute mostly the same across Windows, Mac, Linux, iOS, and Android, irrespective of CPU architecture.

Re: BASIC was not just a programming language

#84

"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." --Edsger Dijkstra (1975)

I've dug deep into that quote and it wasn't even so much about the BASIC we know from the 8-bits. ;-) He also criticized every other major language at the time, except Pascal and (slowly emerging) C. https://news.ycombinator.com/item?id=38743062

I know. I think he was just taking the piss and I love it. And yet, there's more than a grain of truth in this quote and in other salty aphorisms from Dijkstra, especially:

"The tools we use have a profound influence on our thinking habits, and, therefore, our thinking ability."

I went from Basic to Pascal to C/C++ to Java to Python which bear more than a passing resemblance to one another. Am I habituated to overlook or discount other programming paradigms, like Lisp, Prolog, and Forth? I can tell you with certainty that I once was. My view was even more limited then than it is now, and yet at that time I thought I knew everything worth knowing.

Re: BASIC was not just a programming language

#85
post #4

I agree that dropping into the basic interpreter was amazing on the old 8 bit computers. Things have really changed recently with the popularity of Retro computing as I wrote about the exact same thing around 10-15 years ago (I can't find the post unfortunately) and I was downvoted a lot as almost all the commenters seemed to think that accessing DevTools in Google Chrome and entering Javascript commands was that sam…

“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 genuinely feel that Dijkstra’s famous rant about BASIC had a big hand in killing it off. I don’t think it was the intention but it created so much bias against BASIC. If you created something in basic, or even suggested using…

> "I genuinely feel that Dijkstra’s famous rant about BASIC had a big hand in killing it off. I don’t think it was the intention but it created so much bias against BASIC."

Seems doubtful? In the essay where his famous comment on BASIC appeared ("How Do We Tell Truths That Might Hurt?" https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF), Dijkstra took a snarky swipe at many of the major languages of the time: PL/I, COBOL, FORTRAN, APL and COBOL and FORTRAN at least are still around. It was just what in modern parlance would be called a shitpost (no, really, read it), albeit more articulate than most.

(I joke that Real Programmers™ get their shitposts immortalized in ACM publications: https://dl.acm.org/doi/10.1145/947923.947924 )

Re: BASIC was not just a programming language

#86

Earlier quoted context omitted.

“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 genuinely feel that Dijkstra’s famous rant about BASIC had a big hand in killing it off. I don’t think it was the intention but it created so much bias against BASIC. If you created something in basic, or even suggested using…

For me the biggest motivation to not dip my toes too much into BASIC on 8-bit computers was the abysmal performance. If I remember right, assembler was about 100x faster, compiled high-level languages like PASCAL about 10x faster, and FORTH somewhere inbetween compiled languages and assembler.

Learning quickbasic which was compiled in DOS as a kid pushed me to learn x86 assembly just to make pixels appear on screen faster. Its slowness was a feature for me in the end.

Re: BASIC was not just a programming language

#87

I feel like BASIC on my C64 was the last time I really, intuitively understood what my computer was doing when I was programming and executing software. There are so many layers between me and the hardware today that I feel like I float above it, and that I just have to trust it all intrinsically. I don't, really, and it constantly gives me this feeling of almost falling.

Well, it is amazing you can write something in a decent set of Javascript these days and have it execute mostly the same across Windows, Mac, Linux, iOS, and Android, irrespective of CPU architecture.

It is, but at the same time I know that if I re-run it in two years it will suffer from bitrot and ill have to futz around with it to get to run. I hate that a lot.

Re: BASIC was not just a programming language

#88
post #4

I agree that dropping into the basic interpreter was amazing on the old 8 bit computers. Things have really changed recently with the popularity of Retro computing as I wrote about the exact same thing around 10-15 years ago (I can't find the post unfortunately) and I was downvoted a lot as almost all the commenters seemed to think that accessing DevTools in Google Chrome and entering Javascript commands was that sam…

> accessing DevTools in Google Chrome and entering Javascript commands was that same thing as the interactive Basic mode of a Commodore 64

It's not the same, it's better.

Re: BASIC was not just a programming language

#89
post #76

I remember when I finally figured out the point of GOSUB (I was maybe 13, so 1986), and why it was more powerful than GOTO. Still no stack, and the only calling convention was that RETURN would take you back to the line after where you called GOSUB. Writing this words now, I don't know that I ever looked into what happened if you called GOSUB from a GOSUB routine, or how deep you could call. That would imply some sor…

Applesoft BASIC allowed nested GOSUBs. I think you could get about 10 deep, if memory serves. You could absolutely do recursive calls. You would have to implement subroutine-local variable scope yourself. (I would have use arrays with an index that incremented at the beginning of each call and decremented before the RETURN.)

Applesoft BASIC was by Microsoft so it is pretty much identical to the other 6502 Microsoft BASICs like on the Commodore and OSI systems. Apple and Commodore both customized their Microsoft BASICs somewhat. If you benchmark Applesoft BASIC and Commodore BASIC, on systems with the same clock speed (eg. 1 MHz), they benchmark the same.

Re: BASIC was not just a programming language

#90
post #4

I agree that dropping into the basic interpreter was amazing on the old 8 bit computers. Things have really changed recently with the popularity of Retro computing as I wrote about the exact same thing around 10-15 years ago (I can't find the post unfortunately) and I was downvoted a lot as almost all the commenters seemed to think that accessing DevTools in Google Chrome and entering Javascript commands was that sam…

“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 genuinely feel that Dijkstra’s famous rant about BASIC had a big hand in killing it off. I don’t think it was the intention but it created so much bias against BASIC. If you created something in basic, or even suggested using…

related: https://news.ycombinator.com/item?id=38743062 - starts with this quote and checks whether it even applied to the BASIC we talk about here. Points out at least a few of the advantages of the integrated BASIC environment.

It also never killed it off, and it wasn't a big rant - just a single sentence - either. He also ranted over a few other languages in the same list.

PHP, like JS, sees a lot of unstructured code relying on random global variables in the wild as well :)

Post reply on HN