I learned about them in a Structured Programming course, but never saw them used thereafter either at the analysis phase or for documentation purposes. Not even for highly structured languages like Pascal (Delphi).
Does any of you actually use Nassi-Shneiderman diagrams? If yes, what tools do you use to create/maintain them?
edit:
Or have you never heard of them?

- 8,259
- 14
- 58
- 94

- 239
- 3
- 8
-
6Never heard of 'em. Though I'm not formally trained in programming. – Chinmay Kanchi Sep 15 '10 at 14:07
8 Answers
Heard of Nassi-Shneiderman diagrams, although I don't use them myself.
I can't help posting a link to the rejection letter that Nassi and Shneiderman received from Communications of the ACM when they first proposed the diagram:
http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejection_letter.html

- 637
- 3
- 13
-
2Indeed a most brutal rejection letter. Wonder what that Gries guy had been smoking? – stevenvh Sep 15 '10 at 17:25
-
I think the rejection letter was bashing flow diagrams in general, claiming that structured programming makes them obsolete. To the author, this probably looked like yet another one of those flow-chart thingies. – Joey Adams Dec 31 '10 at 23:42
We've never used them.
Edit
Yes, I (we) have heard of them. Thanks for asking! :-)
Seriously, we just don't use them. We ususally keep the diagraming to simple flow diagrams which are generally easier to read and understand.

- 16,158
- 8
- 58
- 95
I've heard of them and read a few books that used them extensively. I quickly concluded that even assembly language (e.g., MIXAL in Knuth's books) was more understandable. I never had even the slightest urge to draw one (and can't recall anybody's ever having asked me to either).

- 44,385
- 5
- 89
- 162
I thought they were cool when I came across the notation in the early 80s. But it's so close to normal code, and cumbersome to maintain both the diagrams and the code that I decided just using indented code was close enough for my taste.

- 2,205
- 14
- 17
-
Indeed, for what the NS diagrams were intended for, pseudo-code is much better and practical. – luis.espinal Oct 15 '10 at 19:43
I have used them. But more often I use some kind of pseudocode when designing an algorithm.
You can write pseudocode with any editor and pen/paper combination. Diagrams are often harder to edit and tend to get messy.
I still use UML diagrams for OO design. Mostly class, but sometimes state transition diagrams for classes with complex state.

- 2,634
- 1
- 21
- 30
When I was first in college, one lesson we had this compare-and-constrast-various-methods-and-diagrams thing. Nassi-Schneiderman was a winner but with certain issues highlighted. Conditionals subdividing the width of the page quickly became impractical, so it was proposed we might use a representation more like that for repetition. Also, the lines and boxes seemed redundant to some degree.
Think about it, and you'll realise that what we were leaning towards was basically indented structured pseudocode, but with some limited use of drawn lines down one side to highlight the indentation - or more accurately to reinforce the pretence that it was a diagram.
Many years ago, when I worked for the US DOT's Transportation System Center, I was given the task of developing a Nassi-Shneiderman editor which was then used to document software designs within the department.
Personally, I never used them. I prefer to look at code.

- 449
- 1
- 4
- 10
Yes, I used them some years ago, but in times of UML they appear a little bit old fashioned. In my opinion the Nassi-Shneiderman-Diagram is still a good diagram type to visualize a structured code block, far better than an UML-Activity-Diagram.
On the other side it might be easier to simply have a direct look into the code...
You can find a commercial tool here: http://www.easycode.de/produkte.html?&L=1

- 681
- 3
- 7
- 8