3 ms·
The fact that when I started, there was no other way to really use a computer. It booted into basic. I definitely feel like becoming ‘self-taught’ today, on t
by jmartin2683 4y ago
The fact that when I started, there was no other way to really use a computer. It booted into basic.
I definitely feel like becoming ‘self-taught’ today, on the entire stack down to at least the operating system level would be very, very hard. There are far too many levels of abstraction to drill through.
If I had to do it today, the only reasonable path is to start at the bottom and work your way up. Starting with something like Python or Ruby is not the way, regardless of the quick wins early on.
- karmakaze 4y agoI agree that it's hard to replicate the early experience of a truly personal computer. There is Commander X16 which does create such an environment for the times[0]. I also learned on 8-bit computers with BASIC then machine/assembly language learning hardware peeks/pokes and more graphics/sound programming. My biggest take-away was the feeling that you could learn and understand everything with some documentation, friends, and patience. [I never did sort out the problem with my interrupt-driven multi-tasker from not understanding re-entrancy until much much later.] At the same time, I think the best way to teach new programmers is more abstractly away from the hardware ways of doing things. In particular, don't follow the von Neumann style of mutable variables and procedural code. Instead I would suggest functional languages like F# where we have input, function, output. Then building a program is composing pipelines of transformations through functions, using error collecting types like Result/Either. [0] https://commanderx16.com/ https://commanderx16.com/
- stevekemp 4y agoVery true. But there were downsides too. Like many I started writing BASIC on a ZX Spectrum (very popular in the UK), and later started learning Z80 assembly language. However learning was damn hard because the books were few and far between, and largely inaccessible to me as a teenager. A year or two ago I wrote a simple adventure game in assembly for Z80-based CP/M, which I then ported to the Spectrum. It wasn't so complex and I didn't struggle too much, but it was still a lot better writing such a thing in 2022 - because the internet is FULL of resources on assembly language coding, and you can download an assembler for free. Back in the late 80s? I had a computer, with a thorough manual covering BASIC, but learning more was hard. Though I think the z80 foundation put me in a good place when it came to learning x86 assembly language, which helped me get my later jobs. These days I code for fun, and to automate things, but I only really do "cloud stuff". And there's a world of difference between those two extremes.