<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Talk%3ASpaghetti_code</id>
	<title>Talk:Spaghetti code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Talk%3ASpaghetti_code"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Talk:Spaghetti_code&amp;action=history"/>
	<updated>2026-05-06T16:04:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Talk:Spaghetti_code&amp;diff=870947&amp;oldid=prev</id>
		<title>imported&gt;Qwerfjkl (bot): Implementing WP:PIQA (Task 26)</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Talk:Spaghetti_code&amp;diff=870947&amp;oldid=prev"/>
		<updated>2024-02-07T07:11:06Z</updated>

		<summary type="html">&lt;p&gt;Implementing &lt;a href=&quot;/wiki143/index.php?title=WP:PIQA&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:PIQA (page does not exist)&quot;&gt;WP:PIQA&lt;/a&gt; (&lt;a href=&quot;https://en.wikipedia.org/wiki/Bots/Requests_for_approval/Qwerfjkl_(bot)_26&quot; class=&quot;extiw&quot; title=&quot;wikipedia:Bots/Requests for approval/Qwerfjkl (bot) 26&quot;&gt;Task 26&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{WikiProject banner shell|class=Start|&lt;br /&gt;
{{WikiProject Computing|importance=High}}&lt;br /&gt;
{{WikiProject Computer science|importance=mid}}&lt;br /&gt;
}}&lt;br /&gt;
{{afd-merged-from|Spaghetti with meatballs (programming)|Spaghetti with meatballs (programming)|23 September 2009}}&lt;br /&gt;
&lt;br /&gt;
{{FOLDOC}}&lt;br /&gt;
&lt;br /&gt;
== 199.29.247.140 Example? ==&lt;br /&gt;
Is what 199.29.247.140 added really spaghetti code? I&amp;#039;d just call it bad code, because there&amp;#039;s no noodle like loops of goto-ing and whatnot...&lt;br /&gt;
--[[User:Carlj7|Carl]] 13:49, 13 Oct 2004 (UTC)&lt;br /&gt;
:I agree. It&amp;#039;s hardly a good example of spaghetti code. I removed it. --[[User:Neg|Neg]] 01:21, 27 Nov 2004 (UTC)&lt;br /&gt;
&lt;br /&gt;
Is there really any need for that picture of a bowl of spaghetti?&lt;br /&gt;
:I guess looking at the spaghetti aids in understanding the chaotic nature of spaghetti code. Plus its humourous so why not. [[User:JesseHogan|JesseHogan]] 07:56, 15 July 2005 (UTC)&lt;br /&gt;
:Those pictures are much in help to understand what spaghetti code is. There could be bowl of Ravioli picture too, coz i don&amp;#039;t know what ravioli is, so will have to search for it seperately [[User:Kiaurutis|Kiaurutis]] ([[User talk:Kiaurutis|talk]]) 21:20, 7 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== assembly and function calls ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;While many assembly languages have a function stack, and apparent function calls, these are just a thin wrapper for the goto statement.&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;They store the original location of the program counter in order to return to it later.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:How is this significantly different from a function call in higher level languages? &amp;amp;mdash; [[User:The Storm Surfer|The Storm Surfer]] 20:55, 18 July 2005 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Moreover, spaghetti code is not the &amp;#039;&amp;#039;sine qua non&amp;#039;&amp;#039; of programming in assembly language, FORTRAN and early BASICs.  With proper early training and mental discipline, anyone can write structured code in any computer language.  My college instructor in the early 1970s referred to such programming as &amp;quot;good programming&amp;quot;, long before the catch phrases &amp;quot;structured programming&amp;quot; and &amp;quot;object-oriented programming&amp;quot; came into widespread use. --[[User:Hydrargyrum|Quicksilver]]&amp;lt;sup&amp;gt;[[User_talk:Hydrargyrum|T]] [[Special:Emailuser/Hydrargyrum|@]]&amp;lt;/sup&amp;gt; 18:10, 29 November 2005 (UTC)&lt;br /&gt;
&lt;br /&gt;
::The quote above is not accurate. It should mention the &amp;quot;gosub&amp;quot; statement, not a &amp;quot;goto&amp;quot;. A gosub implies a return: &amp;quot;go to subroutine&amp;quot;. A &amp;quot;goto&amp;quot; means you never come back.&lt;br /&gt;
&lt;br /&gt;
::Actually, the use of subroutine calls (such as the primitive gosub) &amp;#039;&amp;#039;&amp;#039;helps&amp;#039;&amp;#039;&amp;#039; eliminate spaghetti code. --[[User:Ed Poor|Uncle Ed]] 01:08, 6 April 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[User:PJTraill|PJTraill]] 15:49, 8 April 2006 (UTC) I have largely rewritten this section in accordance with the above observations.&lt;br /&gt;
&lt;br /&gt;
== Lo-mein code ==&lt;br /&gt;
&lt;br /&gt;
A variation of [[spaghetti code]] with unreadable and/or outdated and misleading [[comments]].&lt;br /&gt;
Often includes numerous [[macros]] that call other [[macros]] that modify [[global variables]].&lt;br /&gt;
&lt;br /&gt;
: [[User:PJTraill|PJTraill]] 15:59, 8 April 2006 (UTC) Has anyone got a source for this? Does anyone know people who use the term? At [http://www.robomod.net/pipermail/rec-arts-anime-creative/2005-April/000109.html] it is unclear what it means. It was deleted from Wikipedia: see [[Wikipedia:Articles_for_deletion/Lo-mein_code]].&lt;br /&gt;
&lt;br /&gt;
== NPOV: line numbering ==&lt;br /&gt;
&lt;br /&gt;
I don&amp;#039;t believe the 2 code fragments really illustrate spaghetti code in a fair way: it makes it seem as though the older style of BASIC, especially the line numbering, is the problem. The 2 code fragments should ostensibly be be written in the same style. I like seeing the BASIC, lord knows it facilitated more than its share of bad code, but as I no longer have access to an interpreter I don&amp;#039;t think I can come up with a fully functional &amp;quot;structured&amp;quot; example. [[User:Ewlyahoocom|Ewlyahoocom]] 18:53, 11 February 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Another example ==&lt;br /&gt;
&lt;br /&gt;
Just try to figure out how this baby gets the sorting done (it looks like shell sort). It&amp;#039;s converted from BASIC to QBASIC. I think it as from a library book I once read when I was little. --[[User:Zom-B|Zom-B]] 00:12, 05 November 2006 (UTC)&lt;br /&gt;
&lt;br /&gt;
 SCREEN 0&lt;br /&gt;
  INPUT &amp;quot;How many numbers to sort? &amp;quot;; T&lt;br /&gt;
  DIM n(T)&lt;br /&gt;
  FOR i = 1 TO T&lt;br /&gt;
    PRINT &amp;quot;NUMBER:&amp;quot;; i&lt;br /&gt;
    INPUT n(i)&lt;br /&gt;
  NEXT i&lt;br /&gt;
  &amp;#039;Calculations:&lt;br /&gt;
  C = T&lt;br /&gt;
 E180:&lt;br /&gt;
  C = INT(C / 2)&lt;br /&gt;
  IF C = 0 THEN GOTO C330&lt;br /&gt;
  D = T - C&lt;br /&gt;
  E = 1&lt;br /&gt;
 I220:&lt;br /&gt;
  f = E&lt;br /&gt;
 F230:&lt;br /&gt;
  g = f + C&lt;br /&gt;
  SWAP n(f), n(g)&lt;br /&gt;
  f = f - C&lt;br /&gt;
  IF f &amp;gt; 0 THEN GOTO F230&lt;br /&gt;
  E = E + 1&lt;br /&gt;
  IF E &amp;gt; D THEN GOTO E180&lt;br /&gt;
 GOTO I220&lt;br /&gt;
 &lt;br /&gt;
 C330:&lt;br /&gt;
  PRINT &amp;quot;The sorted list is&amp;quot;&lt;br /&gt;
  FOR i = 1 TO T&lt;br /&gt;
    PRINT n(i)&lt;br /&gt;
  NEXT i&lt;br /&gt;
&lt;br /&gt;
== Spaghetti code vs monolithic code ==&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m looking for the proper terminology that describes code that isn&amp;#039;t a jumbled mess per se, but is hard to decouple or modularize. Perhaps this goes hand-in-hand with spaghetti code, but for example [[monolithic kernel]] doesn&amp;#039;t seem to imply sloppy coding practice. Can the article be made to clarify if and how these things are different? [[User:Ham Pastrami|Ham Pastrami]] ([[User talk:Ham Pastrami|talk]]) 12:18, 3 April 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:My aunt has been programming when the term was coined, and according to her the term spaghetti code means exactly that and has no connection to control flow at all. The metaphor makes *much* more sense this way: When you have a lump of spaghetty, pulling at any specific noodle will get you the whole ball.  &amp;lt;small&amp;gt;—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/84.187.101.243|84.187.101.243]] ([[User talk:84.187.101.243|talk]]) 01:17, 3 July 2008 (UTC)&amp;lt;/small&amp;gt;&amp;lt;!-- Template:UnsignedIP --&amp;gt; &amp;lt;!--Autosigned by SineBot--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Bollocks. Spaghetti code means a tangled indecipherable mess. That&amp;#039;s what it has always meant. [[Special:Contributions/194.213.49.62|194.213.49.62]] ([[User talk:194.213.49.62|talk]]) 14:37, 30 January 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: NO, they are different things. Monolithic refers to the modular structure of a program. More clearly when there is just one module. Although one can divide the program in several modules, those modules may not be of general use. In such case the program is logically monolithic.  I hope that those programs are unthinkable for today programmers, because the majority learn OO languages, where modularization and encapsulation is the normal design in the mind of the programmer.  For the spaghetti, code see my comment about &amp;quot;spaghetti flow diagrams.&amp;quot;  &amp;lt;small class=&amp;quot;autosigned&amp;quot;&amp;gt;—&amp;amp;nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/189.178.45.137|189.178.45.137]] ([[User talk:189.178.45.137|talk]]) 05:28, 31 January 2016 (UTC)&amp;lt;/small&amp;gt;&amp;lt;!-- Template:Unsigned IP --&amp;gt; &amp;lt;!--Autosigned by SineBot--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Example ==&lt;br /&gt;
&lt;br /&gt;
The 2 edits by 81.226.168.117 on 11 February 2007 seem to have &amp;quot;fixed&amp;quot; the example of bad code, by putting the commands in a logical order, the same as if it used FOR loops. It is now fairly readable, and its operation obvious, which surely defeats the object of the example, which is meant to show the confusing nature of spaghetti code. I suggest it should be changed back. [[Special:Contributions/131.111.197.43|131.111.197.43]] ([[User talk:131.111.197.43|talk]]) 17:56, 22 October 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== The plate of spaghetti is technically a bowl of spaghetti. ==&lt;br /&gt;
&lt;br /&gt;
The rims on the dish in the picture raise up, you see. If the dish were a plate, the rims would be on nearly the same level of the base of the dish. But they&amp;#039;re not. The dish is very clearly a bowl. Is it possible someone change this? [[Special:Contributions/71.238.211.166|71.238.211.166]] ([[User talk:71.238.211.166|talk]]) 20:04, 29 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
I agree, it definitely looks like a bowl to me. Someone should fix this. [[Special:Contributions/78.82.141.50|78.82.141.50]] ([[User talk:78.82.141.50|talk]]) 14:54, 27 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Bowl or plate - are the pasta pictures even necessary at all? Probably not.  &amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;autosigned&amp;quot;&amp;gt;—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/192.158.61.172|192.158.61.172]] ([[User talk:192.158.61.172|talk]]) 19:30, 30 November 2009 (UTC)&amp;lt;/span&amp;gt;&amp;lt;!-- Template:UnsignedIP --&amp;gt; &amp;lt;!--Autosigned by SineBot--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I agree, Spaghetti picture is really not necessary.[[User:Ndkl|Ndkl]] ([[User talk:Ndkl|talk]]) 12:18, 13 May 2011 (UTC)&lt;br /&gt;
:i don&amp;#039;t agree. the pasta pictures bring some humour and good analogies to the technicalities of &amp;quot;spaghetti, ravioli and lasagna code&amp;quot;. love it! --[[User:Phneutral|Phneutral]] ([[User talk:Phneutral|talk]]) 11:53, 4 October 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Source for &amp;quot;Spaghetti with meatballs&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know of a source that defines &amp;quot;Spaghetti with Meatballs&amp;quot;?  I&amp;#039;ve been looking but I can&amp;#039;t find one and I think one should be added. [[Special:Contributions/173.79.74.195|173.79.74.195]] ([[User talk:173.79.74.195|talk]]) 03:57, 17 October 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Example again==&lt;br /&gt;
I think the example of &amp;quot;Spaghetti code&amp;quot; is meek - it&amp;#039;s if the example given doesn&amp;#039;t quite qualify, since it is just the &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt; version of a &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; loop. Examples of real spaghetti code should instead provide violation of &amp;#039;&amp;#039;best practice&amp;#039;&amp;#039; programming structures, such as jumps &amp;#039;&amp;#039;&amp;#039;into&amp;#039;&amp;#039;&amp;#039; loops, worse, jumps into a block from outside, elaborate 8-loops (instead of a round loop), and &amp;lt;code&amp;gt;select&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;case&amp;lt;/code&amp;gt; depending on language) clauses emulated by &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt; and abnormal jumps &amp;#039;&amp;#039;&amp;#039;within&amp;#039;&amp;#039;&amp;#039; that select clause. I&amp;#039;ve programmed in such code once, created by an optimistic non-programmer. [[User:Rursus|Rursus]] dixit. ([[User talk:Rursus|&amp;lt;span style=&amp;quot;color: red; background: #FFFF80&amp;quot;&amp;gt;&amp;lt;sup&amp;gt;m&amp;lt;/sup&amp;gt;&amp;lt;u&amp;gt;bork&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;]]!) 14:14, 11 March 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m also an expert of programming, that&amp;#039;s why I don&amp;#039;t need to fear of GOTO. It is not made by the devil. It was invented at the earlier times, following the machine coded structure, where there isn&amp;#039;t any other option. &amp;#039;&amp;#039;Later&amp;#039;&amp;#039; the new languages began to support the structured programming, but you also can write structured programs with GOTO, without DO and others. Yes. The structured programming means to create your program from small elements. A local loop can be done with GOTO very clearly if you don&amp;#039;t have other options.&lt;br /&gt;
&lt;br /&gt;
But for God&amp;#039;s sake, the example I found here is &amp;#039;&amp;#039;WRONG&amp;#039;&amp;#039;! &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;qbasic&amp;quot;&amp;gt;&lt;br /&gt;
10 i = 0&lt;br /&gt;
20 i = i + 1&lt;br /&gt;
30 PRINT i; &amp;quot; squared = &amp;quot;; i * i&lt;br /&gt;
40 IF i &amp;gt;= 10 THEN GOTO 60&lt;br /&gt;
50 GOTO 20&lt;br /&gt;
60 PRINT &amp;quot;Program Completed.&amp;quot;&lt;br /&gt;
70 END&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;qbasic&amp;quot;&amp;gt;&lt;br /&gt;
10 FOR i = 1 TO 10&lt;br /&gt;
20     PRINT i; &amp;quot; squared = &amp;quot;; i * i&lt;br /&gt;
30 NEXT i&lt;br /&gt;
40 PRINT &amp;quot;Program Completed.&amp;quot;&lt;br /&gt;
50 END&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The two codes are not equivalent! The results of them are equal. Now. Type 0 instead of 10 and go ahead. This is a really awkward fail of teaching structured programming. - [[User:Orion 8|Orion 8]] ([[User talk:Orion 8|talk]]) 02:04, 27 August 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I&amp;#039;m not sure what your point here is. It seems like the results are the same. Or is your point that the &amp;quot;spaghetti&amp;quot; example is really not an example of spaghetti at all? I agree with you, it would not have been spaghetti in some year before BASIC had a FOR loop; but today, I think it would qualify as such. Nobody said GOTOs are from the devil, they do have their uses (few and far between as they are). On the contrary, I actually think this is a good simple example of how you can use constructs of a language to make a program more spaghetti-like or less spaghetti-like. You are welcome to add your own example of spaghetti and non-spaghetti code. [[User:Fool4jesus|Fool4jesus]] ([[User talk:Fool4jesus|talk]]) 19:54, 11 September 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I agree that the example is pretty weak. This is sadly very common when spaghetti code is explained. It often gives the impression that the gotos themselves causes spaghetti code, which is certainly not the case. In this case, the spaghetti example is not complex enough to fully show the problem. If I should propose a very naïve definition of spaghetti code, I would propose &amp;quot;code that cannot be transformed into high-level loops with ease&amp;quot;. [[Special:Contributions/192.71.194.251|192.71.194.251]] ([[User talk:192.71.194.251|talk]]) 09:31, 4 April 2017 (UTC)&lt;br /&gt;
&lt;br /&gt;
== assembly languages have for and while statements? ==&lt;br /&gt;
&lt;br /&gt;
Of assembly languages, the article says, &amp;quot;... they are low-level programming languages where equivalents for structured control flow statements such as for loops and while loops exist, but are often poorly understood by inexperienced programmers.&amp;quot; Is this true? I thought for and while statements were emulated through conditional branching. --[[User:Amcbride|Allen]] ([[User talk:Amcbride|talk]]) 21:56, 22 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
At least as far as MIPS and x86 assembly are concerned, there&amp;#039;s no direct way to achieve loops; you&amp;#039;d usually just use some counter/flag variable and (depending on the assembly) use something like a combination of set less/greater than and branch (not) equal based on the result to a label that jumps you out of the loop or to the beginning again. Are there any sources that indicate that many assembly programmers don&amp;#039;t know how to implement these structures? [[Special:Contributions/73.38.177.249|73.38.177.249]] ([[User talk:73.38.177.249|talk]]) 18:41, 18 March 2015 (UTC)&lt;br /&gt;
&lt;br /&gt;
==Lasagna Code==&lt;br /&gt;
It&amp;#039;s pretty silly that the article gives an exact year when the tangential phrase &amp;#039;lasagna code&amp;#039; was coined, while nothing at all is said about the origin of the term covered by the main article, &amp;quot;spaghetti code&amp;quot;. Or what am I missing?  [[User:Toddcs|Toddcs]] ([[User talk:Toddcs|talk]]) 21:54, 12 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Probably because nobody ever bothered researching it or adding it to Wikipedia. I&amp;#039;ve [https://en.wikipedia.org/w/index.php?title=Spaghetti_code&amp;amp;diff=581415428&amp;amp;oldid=581391749 added a history section], though I doubt it covers the earliest use, and misses much of the term&amp;#039;s use from the 1960s and early 1970s. [[User:Mindmatrix|&amp;lt;span style=&amp;quot;color:#8b4513;&amp;quot;&amp;gt;Mind&amp;lt;/span&amp;gt;]][[User_talk:Mindmatrix|&amp;lt;span style=&amp;quot;color:#ee8811;&amp;quot;&amp;gt;matrix&amp;lt;/span&amp;gt;]] 01:07, 13 November 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Macaroni code ==&lt;br /&gt;
&lt;br /&gt;
Hi, folks.  I just added a new section on &amp;quot;macaroni code,&amp;quot; but I&amp;#039;m now having second thoughts because the term does not appear to be in common usage.  Google&amp;#039;s Ngram viewer indicates that it was far more common in the 1950s: https://books.google.com/ngrams/graph?content=macaroni+code but not what it meant at that time.  The only other definition for the term I can find is this one: http://theburningmonk.com/2010/01/buzzword-buster-macaroni-code/ which differs from the one I have provided.&lt;br /&gt;
&lt;br /&gt;
Before you reflexively delete my addition, though, please consider the article on [[Macaronic language]] that inspired the edit, so you can see where I&amp;#039;m coming from.  I believe the HTML/PHP/SQL/JavaScript example I have provided is at least as macaronic as any of the examples given in that article, and so even though the term is not in common usage, I feel that it belongs in the article.&lt;br /&gt;
&lt;br /&gt;
Note, for instance, that the terms &amp;quot;ravioli code&amp;quot; and &amp;quot;lasagna code&amp;quot; are not found in any of the books Google has indexed: https://books.google.com/ngrams/graph?content=ravioli+code%2Clasagna+code  &amp;lt;small&amp;gt;&amp;lt;span class=&amp;quot;autosigned&amp;quot;&amp;gt;—&amp;amp;nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Ben Stallings|Ben Stallings]] ([[User talk:Ben Stallings|talk]] • [[Special:Contributions/Ben Stallings|contribs]]) 18:46, 7 January 2014 (UTC)&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;!-- Template:Unsigned --&amp;gt; &amp;lt;!--Autosigned by SineBot--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Is this a joke? ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ravioli code&amp;quot;, &amp;quot;Spaghetti with meatballs&amp;quot;? Really? This is surely an analogy taken far, far too far. Only &amp;quot;Lasagna&amp;quot; and &amp;quot;Macaroni&amp;quot; have citations, but these are weak at best. I propose the entire &amp;quot;Related terms&amp;quot; section is removed, or at very least remove the images of the plates of food, they contribute nothing and add to the satirical feel of the page.&lt;br /&gt;
&lt;br /&gt;
Discussion welcome.  &amp;lt;span style=&amp;quot;font-size: smaller;&amp;quot; class=&amp;quot;autosigned&amp;quot;&amp;gt;— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/209.251.196.62|209.251.196.62]] ([[User talk:209.251.196.62|talk]]) 16:05, 28 January 2014 (UTC)&amp;lt;/span&amp;gt;&amp;lt;!-- Template:Unsigned IP --&amp;gt; &amp;lt;!--Autosigned by SineBot--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: I agree! What is going to be next, &amp;quot;chow-main&amp;quot;? Who invented those myths?&lt;br /&gt;
&lt;br /&gt;
::LOL! Chow mein...that would be funny. On a more serious note, if no citations can be found for it, it may be best to remove the content, as it would likely be a hoax. [[User:Me, Myself, and I are Here|Me, Myself &amp;amp;#38; I]] ([[User talk:Me, Myself, and I are Here|talk]]) 06:44, 31 January 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Data flow diagrams and spaghetti code ==&lt;br /&gt;
&lt;br /&gt;
Spaghetti code is not just the use of GOTOs, one can write perfectly structured code using GOTOs, some correspond to the structures of decision (if-then-else) and iteration (while, repeat-until, for-next), other more complex correspond to coroutines. The problem with the use of GOTOs rely one it&amp;#039;s origin. &lt;br /&gt;
&lt;br /&gt;
In the context of structured programming, one can design a program by composing the basic structures of imperative languages: assignment, decision, sequence, iteration, abstraction (the use of subroutines/functions).&lt;br /&gt;
The programmer has to ensure that the program, i.e. the composition of the instructions derived from those structures, transform the initial state of the program (according to the specification) to stop with a state which corresponds to the specified result. If the program was conceived in such way, then implemented in a language which lacks such structures, like the earl BASIC, Fortran, COBOL or an assembler, that does not mean that the program became spaghetti. Or in a more contemporary context, you can design a program using the [[CPS|continuation passing style]], obtaining a program with GOTOs, but perfectly structured.&lt;br /&gt;
&lt;br /&gt;
Previous to structured programming, the story was different, many programs were conceived drawing flow diagrams.&lt;br /&gt;
The programmers that used such technique did not follow the neat composing of instructions. The resulting flow diagrams, had a clumsy shape, hard to read, they were not planar graphs, because they could not be written without crossing lines. Those diagrams seem spaghetti, that is the origin of the term. The corresponding programs had lots of GOTOs, but one could not easily understand them, because it was not clear their structure. More over, on those days many programmers thought that the diagrams where sufficient to document the programs.&lt;br /&gt;
&lt;br /&gt;
As far as I remember, a long time ago, this entry did not have such unfounded statements of different classes of pasta. Instead it had a picture of an spaghetti diagram, to illustrate what this term is about.&lt;br /&gt;
&lt;br /&gt;
I ignore why it was deleted, maybe due to a justified reason like a copyright issue, or just for some kind of sabotage. If someone want to search in the history (about 15 years ago) to know why to restore it, that is one way, or you can work my explanation to rewrite this article. I am tempted to ask it&amp;#039;s deletion.&lt;br /&gt;
:: See [http://www.cs.princeton.edu/courses/archive/spr11/cos217/lectures/16AssemblersAndLinkers.pdf Assemblers and linkers (Part 2: The Assembly Process), p. 16] and [[Call graph]] - motion on calls inside sections/labels. [[User:RippleSax|RippleSax]] ([[User talk:RippleSax|talk]]) 09:29, 18 March 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spaghetti images needed ==&lt;br /&gt;
&lt;br /&gt;
Without images of Spaghetti, the concept of Spaghetti code can be &amp;#039;&amp;#039;beyond utterly opaque&amp;#039;&amp;#039; for some Wiki readers. &lt;br /&gt;
&lt;br /&gt;
Failing to show images of this culinary oddity discriminates against many &amp;#039;&amp;#039;English as a 2nd Language&amp;#039;&amp;#039; readers, as this &amp;quot;Turing State Machine Concept&amp;quot; is really hard to understand even for a substantial and substantive percentage of the English global community.   &lt;br /&gt;
&lt;br /&gt;
Wikipedia already has a long term and ongoing bad rap for being the &amp;#039;&amp;#039;Ground Zero&amp;#039;&amp;#039; for public opinion manipulation when it comes to entire classes of articles. &lt;br /&gt;
&lt;br /&gt;
There is no percentage yet derived, but possibly 10% to 22.5% of Wiki articles should not be read (or used) due to the beyond toxic manipulation originating from governments, corporations and religious groups. This includes a great number of scientific and technical articles that really should be exempted from this problem but because of the Wiki RealPolitik are not. &lt;br /&gt;
&lt;br /&gt;
This article should not be one of them... &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery class=&amp;quot;center&amp;quot; caption=&amp;quot;Spaghetti dishes showing similarities to snarled computer code &amp;quot; heights=&amp;quot;135&amp;quot; widths=&amp;quot;120&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Pollo funghi spaghetti - Paesano Restaurant.jpg|Spaghetti con pollo e funghi&lt;br /&gt;
File:Spaghettata.JPG|Spaghetti pomodoro &amp;amp; basilico (tomato sauce and basil)&lt;br /&gt;
File:Spaghetti alle vongole.jpg|[[Spaghetti alle vongole]]&lt;br /&gt;
File:Spaghetti with Meatballs (cropped).jpg|[[Spaghetti with meatballs]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Eyreland|Eyreland]] ([[User talk:Eyreland|talk]]) 03:15, 24 October 2018 (UTC)&lt;/div&gt;</summary>
		<author><name>imported&gt;Qwerfjkl (bot)</name></author>
	</entry>
</feed>