Talk:FIFO (computing and electronics)
![]() | Systems: Cybernetics Start‑class Mid‑importance | ||||||||||||
|
Proposed merge with Queue
A merge was proposed by User:R.Koot - Shall we discuss it?
- Add *Support or *Oppose and/or any comments you may have. Sign your comments with ~~~~
- Support - Queue, FIFO and Circular Buffer all seem to be describing the same data structure - it seems reasonable to keep them in one article rather than three. But which of the three places should we move it to? And should we merge the 'accounting' and 'engineering' bits as well as the 'computer science' bits? Mike1024 16:41, 5 September 2005 (UTC)
- Oppose for now -- they are not synonyms. FIFO is the behavior; Queue is an abstract data structure which produces that behavior; Circular buffer is a particular implementation that can be used for queues. As FIFO shows, the behavior is not limited to computer science, let alone to queues; as Queue shows, circular buffers are not the only implementation. There may be merits to doing some merging, but they have to be carefully considered. -- Antaeus Feldspar 18:20, 5 September 2005 (UTC)
- Oppose. Agree with Antaeus Feldspar; also consider that there is an article on LIFO, so having an article on FIFO is nice symmetry. —Bkell 04:27, 6 September 2005 (UTC)
- Oppose. I agree with Feldspar, a "queue" is a data structure, "fifo" is essentially an algorithm or behavior. Merging the two would make about as much sense as merging "function" and "function object". --DropDeadGorgias (talk) 15:34, September 6, 2005 (UTC)
At this time it seems there's no consensus to merge so I'm going to remove the proposal banner. I might add a link or two so people looking at each articles will at least know other articles exist... Mike1024 (talk/contribs) 18:06, 8 September 2005 (UTC)
- I never meant a total merge, for the reasons expressed by the people who opposed the merge. I do think the articles need to be significantly tweaked to avoid redundancy. --R.Koot 17:47, 9 September 2005 (UTC)
Reverted edit stating "(that is why LIFO is usually not allowed)". This information was not referenced. Accounting practices vary between countries. Rklawton 15:34, 10 February 2006 (UTC)
It occurs to me
after THIS CHANGE, that the article has been slanted by the experience and knowledge of it's contributors without understanding the distinctions involved into one that is essentially a computing article. LIFO and FIFO are in essence Information Theory topics which are implemented in computing as stack (data structure) and queue (data structure), for computer manipulation of data. Management science and certainly accounting use of the same term suggests perhaps both these topics be rewritten to be a general Information sciences treatment and leave the computer implementations to the articles on stacks and queues!
- I've accordingly added the cats:
Cybernetics, Discrete mathematics and Information theory to see if some other eyes have a interest in this point. // FrankB 20:26, 24 October 2007 (UTC)
Why is there a link to a commercial site on the page?
Why is there a link to the FIFO condiment bottle? Does that have anything to do with the content of the page? Jessecurry (talk) 07:12, 10 December 2007 (UTC)
I don't know, but I wanted to ask the same question. I'm not so familiar how to handle that, or mark it, so that this could checked by someone who has the knowledge and delete it. —Preceding unsigned comment added by 194.39.218.10 (talk) 07:55, 10 January 2008 (UTC)
The code fragment is buggy
Try a simple thought experiment:
queue(1);
item = dequeue();
The front and back pointers are not connected by the queue and dequeue functions, so the sequence won't work as expected.
A possible fixed version of the functions:
fifo_node *dequeue(void)
{
fifo_node *tmp = front;
if (front == back) {
front = back = NULL;
} else {
front = front->next;
}
return tmp;
}
queue(value)
{
fifo_node *tempNode = new fifo_node;
tempNode->value = value;
if (back) {
back->next = tempNode;
back = tempNode;
} else {
front = back = tempNode;
}
}
Note that this code is twice as long! The whole class would cover a full screen. I'm not sure such a queue implementation would fit into the article...
Ideas?