What is the rationale behind this naming convention?
I don\'t see any benefit. The extra prefix just pollutes the API.
My thinking is inline with Konrad\'s respo
Naming conventions offer the benefit of telling you something about the object before you use it. Naming conventions have been widely used for many years, going all the way back to fortran's insistence that integer values were restricted (if I remember correctly) to variable names like "i" and "j".
Hungariation notation took naming conventions to a whole new ugly level tha described the variable type, whether or not it was a pointer, etc. Many of us who were exposed to lots of code with Hungarian notation developed nervous twitches and verbal stutters.
Prefixing interface names with I is a relatively low-impact, harmless way of identifying that object.