Flowcharts are, as Jargon file tells, a form of displaying the activity in program by using graph.

As with all forms of diagrams, they're a good servant but a bad master. Like all diagrams, they're only useful in design phase of programming project, and for communication between developers. And for these things, we already have better things like UML these days that are actually fun to use...

So, what does the flowchart look like?

Typically, the program flow is displayed as a vertical line, on which there are input, output and processing sections (represented as rectangles) and branching conditions (represented as diamonds). Sometimes other symbols are used - for example, tilted rectangles for processing, specially-shaped boxes for subroutine calls, and commonly there are small symbols for continuation over pages and markers for start and end of subroutines.

Above, I'm speaking of stuff that I learned in late 80s and early 90s; the modern flowchart stuff is sometimes even more watered down (it seems that people only use boxes and diamonds now...) I'm under the impression that in earlier times (60s and later), the flowcharts had a lot more symbols; for example, the book I have in front of me has special symbols for paper, magtape, punched cards, paper tape, and other horrors of the ancients.

So, what use are the flowcharts these days? Not much - if you want to make a graphical description of a multi-threaded program, you're getting nowhere because the above stuff doesn't tell how to do synchronous program flows. And don't even get me started on asynchronous stuff like GUI programming and signal-driven programs in general.

These days, it's better to use UML diagrams, some more laid-back diagrams, or pseudocode if you need to give a less detailed overview of the structure of the program to someone.

BTW, here's a good symbolic gesture for hackers: Buy a flowchart drawing disk/ruler/whatever, and never get it from the package. Then download Argo/UML and use it instead. =)

flood = F = flower key

flowchart n.

[techspeak] An archaic form of visual control-flow specification employing arrows and `speech balloons' of various shapes. Hackers never use flowcharts, consider them extremely silly, and associate them with COBOL programmers, card wallopers, and other lower forms of life. This attitude follows from the observations that flowcharts (at least from a hacker's point of view) are no easier to read than code, are less precise, and tend to fall out of sync with the code (so that they either obfuscate it rather than explaining it, or require extra maintenance effort that doesn't improve the code). See also PDL, sense 1.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

I have here an authentic IBM flowcharting template Part No. GX20-8020-2. I node this information for posterity so that future generations may be able to decypher those arcane symbols stored in our massive 20th century archives...

The symbols on this envelope and the enclosed template conform to the International Organization for Standardization (ISO) International Standard 1028 - "Information Processing-Flowchart Symbols", and American National Standard, Flowchart Symbols and Their Usage in Information Processing, ANSI X3.5-1970. IBM usages beyond the above standards are these three symbols: off-page connector, transmittal tape, and keying, which are identified IBM.

Measurement: Top edge has two 4 inches rulers, one measured in eights another in tenths of inches. Left side has a 9cm metric ruler. The bottom has two rulers of twelveths and fifteenth of inches.
The right edge of the plastic template includes a stencil to facilitate drawing the { and } symbols.

Log in or register to write something here or to contact authors.