Talk:Interface (computing)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computer science (Rated Stub-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
WikiProject Computing / Hardware (Rated Stub-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Stub-Class article Stub  This article has been rated as Stub-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force (marked as Mid-importance).

Interface as a...[edit]

Previous text said "interface is a software component", new one says "interface is a specification". The former may be awkward, but the latter is not good either. Specification is too vague, could be a paper document or a description in some logic language that is not understood by the compiler. Whereas an interface (in this sense) is specifically a file that is parsed by the compiler when compiling any client module, and is part of the software's source. So, is there a better term?
Jorge Stolfi 06:22, 28 Apr 2004 (UTC)

That's the point: an interface need not be defined in the source code. An interface is not always a file that is parsed by the compiler.
For example - this is rather simplistic - but say if you write a C program to work with integers and you write int add(int, int);, int sub(int, int);, int some_weird_f(int);, and I wish to use your program, we can work out an interface between your code and mine: that I'm only to use add and sub, but not some_weird_f. If I do use some_weird_f that's a violation of the interface. This "informal" interface still behaves exactly as an interface does/should. Dysprosia 10:09, 28 Apr 2004 (UTC)

Is an interface the same as an object type? Does anyone have explanaion or pointers to explanaion? -- Taku 14:54, Sep 19, 2004 (UTC)

The List[edit]

A list of programming languages in which the keyword "interface" has *some* meaning is kind of absurd. Wouter Lievens 13:22, 13 Apr 2005 (UTC)

Not at all, if you understand what's going on here. See the above talk. There is a distinction between interfaces and interface compliance being treated as part of the language (eg Objective-C "@interface"), and "informal" interfaces such as in C which are not really recognized by the compiler or is a first-class part of the language. Dysprosia 13:53, 13 Apr 2005 (UTC)


Many of interwiki links here are pointing to versions of Interface (object-oriented programming) (fr, ru), User interface (ca, he, hu, ja, ko, lv, no, pl, th, ur) or general (not only in comuter science) Interface (da, es, nl, pt). Others are OK or I don't know about what they are.

There is a problem because in many cases there is no equivalent of Interface (computer science). Probably the best would be pointing to versions of Interface which is usually a disambiguation or merge it with Interface (object-oriented programming) as suggested above but I'm not sure whether this is good idea.

--MwGamera 19:57, 12 December 2006 (UTC)


I don't get this line: "Interfaces can translated from a human language to other, using a language editor, that creates a *.INI file for the language."

Anyone care to explain? Supermagle 07:10, 7 May 2007 (UTC)

Tamil language Maris.g (talk) 11:36, 14 October 2016 (UTC)

A piece of 'software' is provided access to computer resources[edit]

This makes no sense in English - I have changed 'is provided' to 'provides' which I presume is what was intended; but 'a piece of software' seems ambiguous ('software program'/'driver software'/something else?) - it looks like someone has translated or copied from a text they don't understand - so I have added the 'citation needed'. Ray3055 (talk) 11:42, 4 January 2008 (UTC)


Shouldn't Interface (object-oriented programming) be merged into the Interfaces in object oriented languages Section of this article? Tom94022 (talk) 22:52, 17 May 2010 (UTC)

of course. LMB (talk) 07:40, 18 May 2010 (UTC)
Interface (object-oriented programming) has been appropriately renamed Protocol (object-oriented programming), and as such should not be merged into this article. Interfaces and protocols are related but quite different concepts: Protocols are one way to implement interfaces, but by no means the only way, and protocols also have some uses beyond implementing interface. See for example the interview of scientist Erich Gamma at [1], where he makes a clear distinction between interfaces as described on this page (referred to as "interfaces" in the interview) and protocols as described in the Protocol page (referred to as "Java interfaces" in the interview because Java uses the term "interface" as a keyword for its implementation of protocols and the the interview was meant for an audience of Java programmers). (talk) 23:38, 23 February 2011 (UTC)

Do not merge, the java definition of interface causes confusion here, however looking at the objective-c definition of a protocol clears things up. In c and varients an interface is a set of exposed symbols usually declared in a .h file. The compiler ensures that these sybols are available to the linker, so that other programs may link against, and therefore interface to the compiled object. Conversly a protocol requires that an object conforming to it implements a set of known methods before the compilation will succeed. This is so that it may act as a delegate for the object calling it, without the calling object being required to know that the sybol in the called object exists, because the protocol guarantees it exists.Ethanpet113 (talk) 22:51, 7 October 2012 (UTC)

Added material to Hardware interfaces section[edit]

I agree with Jeh in his reasonings that the edits by Dhanashreevaidya on Serial Interfaces and Pareenwakde on Brain Computing are inappropriate in the Hardware interfaces section of this article. The Serial Interface material is well covered elsewhere in Wikipedia and is now liked to within the section; the level of detail proposed by Dhanashreevaidya in out of place in this article. Brain interfaces may have a place in this article, which I doubt, but not in the hardware section. Tom94022 (talk) 16:14, 28 October 2011 (UTC)

FWIW, I put talkbacks on both Dhanashreevaidya and Pareenwakde talk pages pointing to this discussion section. Tom94022 (talk) 18:59, 31 October 2011 (UTC)
This was added to my user talk page by Pareenwakde: Jeh (talk) 17:32, 31 October 2011 (UTC)
hello sir,
I had edited on brain computer interface in the main article interface (computing).A separate article already exists in wikipedia on that.But few things are there which I have added and also I gave the references.But,still it got deleted.During our discussion session I had asked one of the campus ambassador whether we can write on the topics that already exists in wikipedia ,he said we can and so we proceeded.But still there are few things that I have added are new.So please guide me what to be done now. Its getting deleted inspite of rephrasing properly and all. — Preceding unsigned comment added by Pareenwakde (talkcontribs) 08:42, 30 October 2011 (UTC)

Pareenwakde: I'm sorry but as Tom94022 said above your material does not fit well with this article. This article is only giving high-level ideas about the various types of interfaces in computing. It is not supposed to go into extensive detail about any one type of interface. Also, the existing article is about interfaces betweeen hardware components, and interfaces between software components. The user is not a piece of hardware so I don't think brain-computer interfaces belong here at all. They could be covered (briefly) in an article about various types of human interaction devices, including keyboards, mice, speech recognition, etc. Again I say "briefly" because the existing Brain-computer interface article is more than long enough to merit being an article of its own.

Had the Brain-computer interface article not already existed and had this new material been of sufficient quality, I would have moved it to a new "Brain-computer interface" article. But since "Brain-computer interface" does already exist, and it is already of good quality, that was not a reasonable thing to do.

Your campus ambassador is correct in that anyone anywhere in the world can add material to any existing Wikipedia articles they want. But there is a corollary: anyone else in the world can then edit that material. Your IEP program does not make your contributions somehow immune to editing by those outside of your program.

If you must contribute to Wikipedia as a class assignment I would suggest doing your work solely in a user sandbox. Given your desire to improve an existing article, I would suggest making a copy of the Brain-computer interface article in a user sandbox and then making your changes to that. You can then be graded on your work alone. (However, if it contains copyright violations, those will stil be deleted - copyright violations cannot be allowed to remain on WP, even in "user space" or user sandboxes.) Do NOT then add your material to main article space until you have had other WP editors review it and you have implemented their suggestions to their satisfaction. If you do the result will be much the same as it was here. The Wikiproject Computing page would be a good place to ask for others to look at your work. Jeh (talk) 17:32, 31 October 2011 (UTC)

We might consider raising the User interface article from a "See Also" in this article to its own section with a main article reference but that's as far as I can see makes sense Tom94022 (talk) 18:59, 31 October 2011 (UTC)

Look out for possible copyright violations in this article[edit]

This article has been found to be edited by students of the Wikipedia:India Education Program project as part of their (still ongoing) course-work. Unfortunately, many of the edits in this program so far have been identified as plain copy-jobs from books and online resources and therefore had to be reverted. See the India Education Program talk page for details. In order to maintain the WP standards and policies, let's all have a careful eye on this and other related articles to ensure that no copyrighted material remains in here. --Matthiaspaul (talk) 15:15, 30 October 2011 (UTC)

Terminology: Method vs Message[edit]

In "Software Interfaces", there is mention of objects communicating with each other through methods. Is it not "messages" in standard OOP terminology? Viridium (talk) 17:15, 13 August 2012 (UTC)

Ambiguity problem in the title[edit]

Tom94022, there's a problem with your removal of the extended hatnote - the rationale for both reverts just doesn't make sense; "user interface" is not merely a possibility equal to others. "Interface" is a term commonly used to refer to user interface, and is therefore ambiguous with, but not equal to, the concept covered in this article; thus requiring explicit disambiguation. Per WP:HNS, the hatnote should use the form that is clearer and easier for the reader. Per WP:1HAT, a direct link to the other article can be used "if the other article could be reasonably expected by a significant number of readers to be at the title in question", so the link to "user interface" makes sense even if it is also found at the (disambiguation) page. A user arriving to this article looking for user interface will not know that this concept is not covered here unless we explicitly say so.

On a very high level, "user interface" could be viewed as an instance of computer interface where one side of hardware is of the wetware variety, but that's not a common view. Given the potential for confusion between the "machine-machine" (covered here) and "human-machine" (not covered here) interfaces, the hatnote requires at least expansion to clarify what the article is not about. Diego (talk) 10:07, 21 January 2015 (UTC)

I'm sorry but I don't believe nor have I seen any evidence that the term interface is more commonly preceded by the qualifier user than any of the other common qualifiers, e.g., graphical user, network, hardware, software, etc. User interface is one of the several qualifiers listed on the disambiguation page so specifically listing it gives it undue prominence. Note the article does mention user interface, so I suspect the solution is to add a small section linking to the main article. Tom94022 (talk) 17:53, 21 January 2015 (UTC)
The article does not mention "user interface", the term is located at the See also section only. And you misunderstand the problem. I'm not arguing that "user interface" is more common that "network interface", "hardware interface"... I'm arguing that it's qualitatively different, so it requires disambiguation, while the others do not require it as they're instances of the concept described in this article - and "user interface" is not. Diego (talk) 17:58, 21 January 2015 (UTC)
The article now clearly covers "user interface" as one of several computer interfaces which makes the article now consistent with its title. Tom94022 (talk) 18:20, 21 January 2015 (UTC)

Joysticks are not one way only...[edit]

(at least when they vibrate... and especially with the touch and LCD capabilities of more modern devices). Jus' sayin'... (talk) 22:25, 20 November 2015 (UTC)

Gct Coimbatore[edit]

Very cold climate, nice a moment..... Maris.g (talk) 11:38, 14 October 2016 (UTC)


Isn't there a better example then a touchscreen? Harwarewise the touchscreen consist of two seperate elements, a touch interface and a screen. — Preceding unsigned comment added by (talk) 07:37, 1 August 2017 (UTC)