The thought process that went into choosing the names in ECMAScript 5 was that functions that were viewed as meta level operations that would primarily be used by fairly sophisticated library designers were given long multiword names, e.g. Object.getOwnPropertyNames. Functions that were viewed as application level operations that would be widely used by app developers where given short names, e.g. Object.keys and Object.create.The assumption was that the meta level operations would be used by library writers to create new app level operations that normally would have short everyday names. Also, the long names minimized the chance that the names would conflict with existing libraries or applications.