For a long time I felt uncomfortable with phrases like «my program doesn’t compile».
Of course it doesn’t compile, stupid! It’s not a compiler!
I understood that this phrase was supposed to mean «The compiler fails to compile my program». But nevertheless it seemed like a wrong usage of the verb «compile».
Well, today I learned (thanks to Edwin Ashworth) that this is a common phenomenon in English. It’s called ergative usage. There is a long list of ergative verbs on Wiktionary, and «compile» is there!
This is a list of programming-related verbs that I’ve seen being used ergatively:
You can notice that they all follow the same pattern — something that one program (usually a compiler) does to another program. I’d be curious to find computing-related ergative verbs that do not fall into this pattern.