The other nice thing about emulation is that you get to use modern IO hardware, particularly keyboards. I can imagine having fun programming on a Commodore 64; I have a much harder time imagining having fun doing it with an actual Commodore 64. The keyboards were not all that great by modern standards when they were brand new, don't get better with age, and certainly don't get better in a student lab environment :)