No one has mentioned the Amiga?
Strangely enough, I became an accomplished Z80 assembler programmer because I was frustrated by my TRS-80's lame BASIC only allowed two-character variable names, while the assembler let you use a whopping 6 characters. I actually found it easier to write programs in assembler for most uses than in MS BASIC.
Once I disassembled the TRS-80 BASIC ROM and tried to follow its logic to see how it was written. Man, what a tangled pile of spaghetti that code was! Now, Gates & Allen DID accomplish something impressive in fitting a BASIC interpreter into 4K (later 8K) of ROM memory, but still - uuuuuugleeeeeee!!!!