Earlier quoted context omitted.
I thought C64 BASIC was just as good as any other BASIC at the time. BASIC is, well... "basic", and even with POKEs and everything else, we still did quite a bit with C64 BASIC. I started on Atari BASIC and that BASIC was pretty bad, too, but even so I made use of it and did all kinds of graphics stuff, and wrote games, etc. I did all kinds of stuff in BASIC on the C64 between 1986 and into the 90's. But, after a few…
I had a C64 as a kid (~13 years old), and like you, after doing as much as I could do in BASIC, I knew I had to learn machine language. I saved up money and bought the C64 Programmer's Reference Guide, learned the opcodes, the memory map, how to work with peripherals, and so on, but had no way to actually input and assemble programs, so I was stuck. The book referred to the 64MON cartridge, but as a little kid I had…
I did my own BASIC programming, and I was satisifed with experimenting at that level. It was the systems architecture that enthralled me, though. Just to peruse the diagrams of how RAM and ROM were laid out; the bank switching; registers and I/O routines; programming the SID chip; sprites and colors and fonts.
By the time I went into college I was quite well-primed for subjects like systems architecture, and the upgrade path at home from 286 to Windows PCs was bittersweet, as I left behind those raw system internals for more opacity and high-level sysadmin tasks. But I never forgot the 6502 and 6510 that started it all for me.