Talk:FIFO (computing and electronics)
{{WikiProject banner shell}}
to this page and add the quality rating to that template instead of this project banner. See WP:PIQA for details.![]() | Systems 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? —Preceding unsigned comment added by 85.66.64.180 (talk) 21:41, 8 September 2008 (UTC)
FIFO is also an accounting term
The term appears to have originated significantly before 1900. As in information and systems uses, the term refers to ordering of items. However, in accounting and tax, FIFO may apply to a convention applied to determine which items are in inventory (stocks) or other goods on hand, or to the order in applying debits or credits to an account (such as payments by a customer).
In accounting and tax, this is a major topic, with cross-relations to topics related to inventory, payables, and receivables. Example cross-related topics include Cost of Goods Sold (currently a start class article), Inventory (C class in Project Business), Average cost (a high priority article in Project Economics), Activity Based Costing.
As time permits, I will attempt to enhance this article for the accounting & tax side of FIFO. If it is merged with another information systems article, then the article should be restarted from the accounting side.
Note that the cross reference to FIFO and LIFO Accounting is to something less than a stub.Oldtaxguy (talk) 01:15, 5 April 2010 (UTC)
- Why not enhance the stub then? --Cybercobra (talk) 01:17, 5 April 2010 (UTC)
FIFO is also a part of food safety
FIFO can also be used to refer to food safety; i.e. the products are refilled so that the previous products (with expiration dates that are sooner than the new ones) are sold first, with the newer products being sold last. 81.71.110.38 (talk) 20:03, 11 March 2012 (UTC)