Also see ths interview with Bill Atkinson, on how Apple moved to Pascal (from a HN comment linked to by @EdS elsewhere):
In essence, it was about significant variable name length and local variables (as compared to BASIC), so that you could use code modules and write accumulative code. The baseline was really BASIC. Bill Atkinson had a week to port Pascal and convince Steve Jobs that there was indeed a benefit to it. Here’s a transcript (regarding this latter part, about 45:00 into the video, provided by said HN comment):
…
My manager at the time said, no, we don’t want to do this [Pascal], people are happy with what they got. I overrode him and went to Jobs, and Jobs said “Well, I’m not convinced. I think our users are happy with BASIC and assembly language. But you seem passionate about it. I’ll give you one week to prove me otherwise.”
I was on an airplane within two hours down to UC San Diego and I started porting right away.
…
The other thing that happened then is I had to plug in the disk routines, and their system was pretty big and that little 13-sector floppy disk didn’t have a lot of capacity. Well, Woz had just come up with a different way of encoding the data on the disk so that we could get more data for the same disk size, and we needed the 16-sector disk routines. And so Woz came down, and I was there… I had never bothered to get a motel because I slept on the bench when I wasn’t working. This is in the computer science lab at UC San Diego. I was busy, I didn’t have time to go sleep.
But Woz came down, and I got to interact with him and it was really fun because he was working on installing these 16-sector disk driver routines, and he’d go ‘type type type type type’ – and he didn’t type in assembly language and have it assembled. No, he’d type in 6502 machine code. Hex. – He’d type in hex, and then, you know, watching him type and he’d go ‘type type type’ – pause – ‘type type type type’, and when he finished I asked him what was the pause? And he said “forward branch, seven instructions, I had to compute the offset before I continued”. So, he didn’t back-patch the offset, he actually looked at what he was going to be typing, knew how many bytes it would take… he was brilliant.