Flowchart
-
Sorry, but this just indicates that you don't know how to use flowcharts properly... and that your coding isn't structured. Properly structured code *never* has any difficulty being drawn without crossing lines (assuming competent drawing). Spaghetti code, not so much. Keeping everything at the same level requires discipline, but then so does writing good, bug-free, code. Trouble keeping a flowchart on one page indicates functions that are too large, that do too much. Divide and conquer. I don't use a flowcharting program because I have never found one that's specifically designed for structured code. It makes a big difference. I started to write one, but decided that the investment of my time was too great and abandoned it. If I thought the market for a good flowcharting program was significant I would have pursued it, but in my experience very few programmers use flowcharts and I thought that was too great a barrier to marketplace success. For me, a flowchart isn't a tool to document what's been coded (past tense), but to help design optimal code first, and additionally to make it easier to understand and debug. Consequently, the flowchart must be easily updatable as the code is debugged or otherwise modified. The various "flowcharting" programs I've seen are for generic drawings. Simply tossing in a few flowcharting shapes is worthless to me. A competent flowcharting program must have an underlying model of a structured program. In other words, you wouldn't use diamonds or rectangles and connecting line primitives, you would use if-then or do-while or switch constructs, for example. Their structure is implicit. Keeping lines from crossing is automatic and trivial. A superior flowcharting program will be able to parse a source code file and produce a flowchart from it. That makes it easy to keep documentation up to date. Unfortunately, I have never found any commercial program that does that. (I wrote one for myself, but that's another story.) A superior flowcharting program will also be able to generate source code from the flowchart. That also makes it easy to keep documentation in sync with program. A really superior flowcharting program will allow debugging a program from the flowchart rather than from the source code... such a program would allow never having to look at source code any more than programmers have to look at the assembly code produced by a compiler or the object code produced by an assembler now. With a flowcharting program like that (it would actually be an in
david_f_knight wrote:
Sorry, but this just indicates that you don't know how to use flowcharts properly... and that your coding isn't structured.
I am not sure why you wanted to make the personal attack, but the rest of your post reinforces my position: Useful flowcharting is next to impossible and NOT worth the hassle. GFY
You are here - through no fault of mine!
-
Thanks for the link, I'll give it a try. I used to use Visio at my last job but this place won't spend any money so I have to use (gulp) Paint. The worst tool for flow diagrams ever.
-
What flowhcarting programs do people here like to use?
Check out Project // Draw[^] It's completely Web 2.0, free and pretty slick. You can also look at Giffy[^], but it's hard to tell if they have a free version.
-
david_f_knight wrote:
Sorry, but this just indicates that you don't know how to use flowcharts properly... and that your coding isn't structured.
I am not sure why you wanted to make the personal attack, but the rest of your post reinforces my position: Useful flowcharting is next to impossible and NOT worth the hassle. GFY
You are here - through no fault of mine!
It wasn't my intent to attack you personally, for the sake of attacking you. The fact that I replied to your posting makes it personal to you. I replied to your posting because I disagree with what you wrote. Making a posting in a public forum makes it fair game for criticism, but I have nothing against you personally. The tone of my reply was not rude. I did consider changing the sentence you quoted before posting it, but decided against doing so because your overall posting was broadly general. If you had urged programmers to discourage the use of currently available flowcharting programs, that would have been one thing (and I can't say I'd disagree). But you didn't write that. You urged programmers to discourage the use of flowcharting entirely. That's an attack on how some programmers have found to do their work more effectively. Who are you to tell other programmers how they ought to do their work? Live by the sword, die by the sword. I don't tell you you ought to use flowcharts, so don't tell me I ought not use them. If you don't like looking at other programmers' flowcharts, then don't look at them. Problem solved! But if they find them helpful for whatever reason, then that's fine, too. And both of your postings indicate that you really don't understand the proper use of flowcharts! That's not intended as an attack, it's intended as a relevant observation because relatively uninformed opinions aren't as credible as better informed opinions. -- david_f_knight
-
It wasn't my intent to attack you personally, for the sake of attacking you. The fact that I replied to your posting makes it personal to you. I replied to your posting because I disagree with what you wrote. Making a posting in a public forum makes it fair game for criticism, but I have nothing against you personally. The tone of my reply was not rude. I did consider changing the sentence you quoted before posting it, but decided against doing so because your overall posting was broadly general. If you had urged programmers to discourage the use of currently available flowcharting programs, that would have been one thing (and I can't say I'd disagree). But you didn't write that. You urged programmers to discourage the use of flowcharting entirely. That's an attack on how some programmers have found to do their work more effectively. Who are you to tell other programmers how they ought to do their work? Live by the sword, die by the sword. I don't tell you you ought to use flowcharts, so don't tell me I ought not use them. If you don't like looking at other programmers' flowcharts, then don't look at them. Problem solved! But if they find them helpful for whatever reason, then that's fine, too. And both of your postings indicate that you really don't understand the proper use of flowcharts! That's not intended as an attack, it's intended as a relevant observation because relatively uninformed opinions aren't as credible as better informed opinions. -- david_f_knight
The gist of your replies have been that I have limited capacity to do both programming and flowcharting. Yet somehow you don't seem to think that's a personal attack. And that has nothing to do with whether I caught your tone. I know my criticism of flow charting is open to public opinion. I've been utilizing chats, message boards, forums and news groups for well over twenty years - and never anonymously (You know my real name, and can find out quite a bit of my biography on this site.). Your first reply talks about having a difficult time finding a good tool, and that you never followed through on an attempt to create your own. I took that to mean that flowcharting is difficult (one of MY criticisms of flowcharting). I have had both formal and informal education on flowcharting. I have used them, and I have had coworkers try to make me use them. So I do have some experience. In reality, a useful flowchart takes about twice as long to generate as the actual code. That translates into time and money for EVERYONE. That's a real good reason to discourage their use. And though I blatantly told everyone to discourage their use, the people that know when they are useful and how to create them will continue to use them as needed. So far, I've been able to respond without pointing out any of your deficiencies, but that's getting harder and harder to do. So tell me now what knowledge I am lacking, or how badly I must do my job, or how I don't understand forums...
You are here - through no fault of mine!
-
Thanks for the link, I'll give it a try. I used to use Visio at my last job but this place won't spend any money so I have to use (gulp) Paint. The worst tool for flow diagrams ever.
-
I don't flowchart in public. At my first programming job after college, I was laughed at by the whole programming department for flowcharting a large application I was designing. As if flowcharts were crutches needed by noobs, and real programmers don't need a flowchart.
-
The gist of your replies have been that I have limited capacity to do both programming and flowcharting. Yet somehow you don't seem to think that's a personal attack. And that has nothing to do with whether I caught your tone. I know my criticism of flow charting is open to public opinion. I've been utilizing chats, message boards, forums and news groups for well over twenty years - and never anonymously (You know my real name, and can find out quite a bit of my biography on this site.). Your first reply talks about having a difficult time finding a good tool, and that you never followed through on an attempt to create your own. I took that to mean that flowcharting is difficult (one of MY criticisms of flowcharting). I have had both formal and informal education on flowcharting. I have used them, and I have had coworkers try to make me use them. So I do have some experience. In reality, a useful flowchart takes about twice as long to generate as the actual code. That translates into time and money for EVERYONE. That's a real good reason to discourage their use. And though I blatantly told everyone to discourage their use, the people that know when they are useful and how to create them will continue to use them as needed. So far, I've been able to respond without pointing out any of your deficiencies, but that's getting harder and harder to do. So tell me now what knowledge I am lacking, or how badly I must do my job, or how I don't understand forums...
You are here - through no fault of mine!
Flame wars never accomplish anything but annoy people. You've read thing things into what I wrote that just aren't there. I never implied your capacity to program is limited. I implied unstructured code, when flowcharted, tends to result in crossed lines. However, it is also true that crappy flowcharting tools will do the same even with perfectly structured code. I didn't write anything to acknowledge that even though that might be the situation for you, because as I wrote you didn't restrict your comments to flowcharting tools, but to flowcharting in general. It is always possible, and trivially so, to hand draw a flowchart of a properly structured function without crossing any lines. You wrote that it is nearly impossible to do so. Your statement is clearly and simply false. I'm sorry if pointing that out hurts your feelings. But it's still not intended as a personal attack, though if you insist on viewing it as such that is your right. I guess by your reasoning anyone could say that whenever any incorrect thing they have written is pointed out as incorrect that it is a personal attack. I don't see it as such; it's not a personal attack unless there's some rude or threatening sort of tone that underlies it. I don't see any point in arguing whether my reply was a personal attack or not. Decide for yourself. It was not intended as such. Accept that or not. It comes down to how you define "personal attack." It's way off issue in any case. I also didn't write that your capacity to flowchart is limited, I wrote that you didn't really understand their proper use. Nothing you've written indicates otherwise. I do not advocate flowcharting if it is just an exercise in going through the motions. Some programmers do find them truly helpful. You are not among them at this time. That's fine. Different people think in different ways. I find a properly drawn graphical representation more clearly and quickly conveys how a complex function works than seeing a text listing does. You have also misread and misunderstood what I wrote about flowcharting tools. I do not find flowcharting, per se, to be difficult. Far from it. I do find the current flowcharting tools of which I am aware to be difficult to use and of very limited utility for that purpose. Most are intended as more general purpose graphics programs than specifically for flowcharting. I know of none that are specifically for structured programming. I am aware of none that is worth using as a development tool. As far as not following
-
Flame wars never accomplish anything but annoy people. You've read thing things into what I wrote that just aren't there. I never implied your capacity to program is limited. I implied unstructured code, when flowcharted, tends to result in crossed lines. However, it is also true that crappy flowcharting tools will do the same even with perfectly structured code. I didn't write anything to acknowledge that even though that might be the situation for you, because as I wrote you didn't restrict your comments to flowcharting tools, but to flowcharting in general. It is always possible, and trivially so, to hand draw a flowchart of a properly structured function without crossing any lines. You wrote that it is nearly impossible to do so. Your statement is clearly and simply false. I'm sorry if pointing that out hurts your feelings. But it's still not intended as a personal attack, though if you insist on viewing it as such that is your right. I guess by your reasoning anyone could say that whenever any incorrect thing they have written is pointed out as incorrect that it is a personal attack. I don't see it as such; it's not a personal attack unless there's some rude or threatening sort of tone that underlies it. I don't see any point in arguing whether my reply was a personal attack or not. Decide for yourself. It was not intended as such. Accept that or not. It comes down to how you define "personal attack." It's way off issue in any case. I also didn't write that your capacity to flowchart is limited, I wrote that you didn't really understand their proper use. Nothing you've written indicates otherwise. I do not advocate flowcharting if it is just an exercise in going through the motions. Some programmers do find them truly helpful. You are not among them at this time. That's fine. Different people think in different ways. I find a properly drawn graphical representation more clearly and quickly conveys how a complex function works than seeing a text listing does. You have also misread and misunderstood what I wrote about flowcharting tools. I do not find flowcharting, per se, to be difficult. Far from it. I do find the current flowcharting tools of which I am aware to be difficult to use and of very limited utility for that purpose. Most are intended as more general purpose graphics programs than specifically for flowcharting. I know of none that are specifically for structured programming. I am aware of none that is worth using as a development tool. As far as not following
OFF TOPIC READ AT YOUR OWN RISK! :omg: GFY - and that's all I have to say about that.
You are here - through no fault of mine!
-
What flowhcarting programs do people here like to use?