I've been pondering the age old question of 'user friendliness' versus pure physical computing efficiency. Should low level operating system interfaces be optimized for fast, efficient processing on the physical hardware level while ignoring the complexity for an application developer to learn/understand/use the API, or should the operating system provide an easy to use API to decrease the application development time? It seems to me that there is a rather close trade off between efficient computation/complex interface and inefficient computation/easy interface, so which of the two development methods should the computer field focus on? I'd like to hear everyones opinion and reasoning. Does anyone think the pay off with a complex interface/efficient OS turn out to be better than an simple interface/inefficient OS in terms of end user application performance?