Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as too broad by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Robert Harvey Dec 23 '13 at 17:13

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

6  
Never heard of 'em. Though I'm not formally trained in programming. –  Chinmay Kanchi Sep 15 '10 at 14:07
add comment

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

share|improve this answer
2  
Indeed a most brutal rejection letter. Wonder what that Gries guy had been smoking? –  stevenvh Sep 15 '10 at 17:25
    
+1 for posting the link to the rejection letter. –  John R. Strohm Dec 31 '10 at 16:12
    
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
add comment

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.

share|improve this answer
    
But you (or your colleagues) have heard about them? –  stevenvh Sep 15 '10 at 13:54
add comment

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).

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
    
Indeed, for what the NS diagrams were intended for, pseudo-code is much better and practical. –  luis.espinal Oct 15 '10 at 19:43
add comment

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.