7 ms·
I don’t really agree with the premise. The core logic of a program can (optionally) interact with humans and/or other systems. With neither, one is left with a
by aryehof 6y ago
I don’t really agree with the premise. The core logic of a program can (optionally) interact with humans and/or other systems. With neither, one is left with a “run to completion” program that typically transforms its OS supplied inputs into outputs.
A “user interface” is associated with human interaction, whereas an API is associated with interaction with other systems. That human interaction is in terms of the user of the program, not the producer.
That programmers are human, might mean that they need to program against an API, but surely that doesn’t mean that the term “user interface” should be extended to it?
- astn-austin 6y agoThe way I read it was: When you are programming against an API, you are using the interface. When you use an interface, you are a user. You are even the expected User from the API designers perspective. You are that API designers customer. In your job as the User of that API, you also have different customers you serve. But that doesn't mean you are no longer a User of the API. Because you are the user in this case, using an API, then that must mean your going to have a User Experience with that User Interface that just happens to be in a API.
- aryehof 6y ago> When you use an interface, you are a user. It’s an interesting perspective. I guess by extension, that the use of a programming language, makes the programmer a user of the resultant program, and the language a “user interface”?
- int0x80 6y agoYes, a programming language being a user interface is a common analogy.
- fanf2 6y agoEven a “run to completion” program has a user interface: the command line options, configuration files, etc. And in the Unix programming environment, a command-line program is also an API.