Live data from Hacker News

Learning BASIC Like It's 1983 (2018)

twobithistory.org

51–60 of 93 posts

Re: Learning BASIC Like It's 1983 (2018)

#51

If you want to learn how computers work now is easy. Learn C and a bit of assembly, read about hardware and try to do low level stuff. Play with memory, play with system calls. Learn a bit about GPUs, some OpenGL, DirectX, shading language or Vulkan and tinker with the GPU.

idk about that

I mean, all of that is grand but you remain for, for from the metal in all these instances and even in assembly you cannot go under several layers of abstraction with modern architectures

in the days of 6502 and Z80 compatible microprocessors, you could go down to the NAND gate level, to the transistor level - it was doable, not that it made much sense to go there for most people, but it was nearly a requirement to know how many cycles did each instruction take and lock conditions like bus access when dealing with different parts of the memory, etc

there were essentially no hard black boxes then, and now there are many at the hardware level and even the OS level is too impenetrable; not even the CTOs of major OS companies and initiatives have a complete understanding of the OS they produce, perhaps a few select ones have a functional understanding with only 2 or 3 black boxes involved (specific driver magic, hardware detail that goes under C and assembly optimisation etc - which typically outsourced specialists deal with)

GPUs alone these days are more complex than the entirety of the systems back then, and the implications of this are two-fold:

- the culture on the producer end is that software, machines and accessories are sold as black boxes, both by expectations and by enforcement on the manufacturer's end that gets no incentive whatsoever to expose internals of their product, and many reasons to the contrary as the competition might use it; these dynamics are extending to repair-ability as well

- the culture on the consumer end is that internals are not possible to deal with, are best taken for granted and the curiosity is just not there anymore; also if things break you just get new things, which disincentives also producing anything meant to last, as the assumption is that it will be obsolete soon anyway, or the system will just stop working, reinforcing that dynamic and cheapening the value of work

Re: Learning BASIC Like It's 1983 (2018)

#52
post #42
post #2

Agree with the author’s thesis of how the folks that “grew with computers” have an advantage over those approaching them now, in terms of understanding the inner workings. I’m not sure that this matters much in terms of solving actual problems though, which is probably a good thing. But I somehow find it a little bit sad that this is the case, so I’ll plug my own https://www.endbasic.dev/ because it’s very fitting in…

While I agree with the thesis, I also believe it is possible to over emphasize it. A couple of examples from someone who is a product of that generation: Given my age at the time, programming was accessible but modifying hardware was hard. Part of the reason is that few sensible adults would hand a soldering iron to a six year old. Part of the reason is that software is easier to learn than electronics. Part of the r…

[dead]

Re: Learning BASIC Like It's 1983 (2018)

#53

>. In the 8-bit computer era, many games were available only as printed BASIC listings in computer magazines and books. Actually the best games and software were programmed in assembler and you had to load them from cassette tapes. You couldn't do much in Basic.

Often they were programmed in machine code. The BASIC listing was just a tiny loader and the actual program in hexdecimal strings. The loader decoded the strings, poked them into memory and then called the start address.

Re: Learning BASIC Like It's 1983 (2018)

#55

> I think the people that first encountered computers when they were relatively simple and constrained have a huge advantage over the rest of us. Even if they were simple it was hard to program them because there was a very limited amount of information on how to do it. The few books available didn't cover a lot of things. Learning was mostly done lots of things until you succeeded. And that took a lot of time and pa…

The manuals that came with the Commodore VIC-20 and 64 were excellent; they gave a good foundation for learning BASIC, and teased you into getting into lower-level machine code. And once you got to that point, the Reference Manual really go you to very low level detail.

https://archive.org/details/Personal_Computing_On_The_VIC-20... https://archive.org/details/VIC-20_Programmers_Reference_Gui...

Re: Learning BASIC Like It's 1983 (2018)

#56

Shout out to Rodney Zaks and his Z80 assembly programming book. Books were so important back then to learn things, especially if you were somewhat isolated. Those of us who owned offbeat PCs in the early 1980s probably were more motivated to learn our machines as the games and whatnot were much more limited. Wish I had never given away my Microbee...

Looks like this is the one? https://en.wikipedia.org/wiki/Programming_the_Z80

OMG - the moment I clicked the link and saw the cover I felt a wash of fond nostalgia crash over me!

Sadly my copy is long since gone...

Re: Learning BASIC Like It's 1983 (2018)

#57
I was a teen in the 80s. I was lucky enough to hang out at the local university and got to use their terminals that had a printer instead of a display.

School had an Apple II but wouldn't let students use them. Instead they forced them to use punch cards so I didn't take the class. Instead I used a Commodore PET that was on display at a department store.

Eventually owned an Apple II clone and and IBM PC clone. First work computer was a Compaq Luggable with an amazing orange phosphor monochrome display.

Before the Internet was available we used BBSs, and Compuserve. BBSs were horrible little fiefdoms run but basement dwelling trolls.

Networking was still a toss up between Ethernet and Arhnet. I liked Arcnet. You had to configure interrupts, ports, buad rates, stop bits, and parity for the IDE network cards. It was a pain.

Most business LANS used Novell Netware or Lantastic. I loved Lantastic, it was easy and even had a voice over network feature. Still have a t-shirt from them somewhere.

The Internet arrived before Windows was usable and Microsoft wasn't ready. So you had to use a SOCKS client.

I made a lot of money in those days simply by hanging out in the computer section of the big book store. Managers would wander in like Bambi on a highway. When they saw me reading a book on computers they inevitably asked questions. It turned in to consulting work.

Fun times but also very frustrating. No real multi user, buggy products and operating systems, Linux was still very much 'assembly required'.

Now we have non-typed, high level, abstracted languages, and agile methodologies which are possibly a step too far in the other direction.

Re: Learning BASIC Like It's 1983 (2018)

#58
My first computer was the Acorn Atom. Wasn't as "cool" as the Vic-20 or the ZX-81, but the Atomic Basic language had on killer feature: the ability to embed assembly directly inside a basic program!

Learnt so much about the 6502 that way!

Re: Learning BASIC Like It's 1983 (2018)

#59
post #23
post #21

Earlier quoted context omitted.

Yeah, sort of the same today. The C64 was incredible but I thought skipping Basic and going straight to 6510 assembler was the way to go. Got all those extra sprites by interrupting the scan lines, the huge performance advantage, etc More than once I wiped my source code while zeroing memory. I enjoyed Byte magazine but Compute! was my favorite: https://www.commodore.ca/commodore-gallery/compute-magazines... In my op…

I always wonder what could have been, if the Commodore 64 and similar machines would have come with Forth instead of Basic.

the C64 didn't ship with it, but there were Forth systems available, notably "64 Forth" which was a superset of Fig-Forth

Re: Learning BASIC Like It's 1983 (2018)

#60
post #33
post #23

Earlier quoted context omitted.

I always wonder what could have been, if the Commodore 64 and similar machines would have come with Forth instead of Basic.

https://en.wikipedia.org/wiki/Jupiter_Ace I think the answer is: They wouldn't have sold very many :-(

I bought one of these 2nd hand in early nineties after being introduced to the RPN way of doing things with a Hewlett Packard 28S calculator. Had fun with this machine although it was similar in many respects to ZX81 (and supposedly Spectrum) I grew up with.

The soft- and hardware had similar issues. For a meaningful programs in both cases you would quickly need to descend to machine code, which on both systems was very enjoyable experience. (E.g. BBC micro had far more mature software stack.)

But you are probably right in implying that Forth probably was too alien to ever gain mass adoption, even if the soft and hardware would have been superior to more common BASIC alternative.

Post reply on HN