2 ms·
> Please explain to me the fundamental difference between an interface and what you consider software. "Software" is code. An interface is the expectations of
by geofft 8y ago
> Please explain to me the fundamental difference between an interface and what you consider software.
"Software" is code. An interface is the expectations of code.
In particular, if software X implements interface A, it is possible to write a compatible drop-in replacement of X using software Y, which does not incorporate any portion of software X, is it not?
GNU libc and Apple libc both implement the UNIX libc interface. If you claim that an interface is indistinguishable from software, is there a portion of the GNU libc software that also present in Apple libc? Where is it? Can you point to it? (The source code of both is public, so this should be easy for you to do.)
Google gave another example in the blog post: the interface of keyboard shortcuts. If I implement a text editor that uses Ctrl-X for cut, Ctrl-C for copy, and Ctrl-V for paste, have I copied the software of another text editor that uses that interface?
> An interface in all its various forums as we understand interfaces are placed in binary. From object implementations to ABI's and API's.
An API, an "application programming interface," is distinguished from an ABI, an "application binary interface," precisely because it does not mandate what appears in the binary.
If you think that there is in fact a way where you can point to a structure definition in a compiled C object file, please identify where it is in this object: https://godbolt.org/z/SVhsJk https://godbolt.org/z/SVhsJk