Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Tool used by Perl developers to design the flow of Perl Projects

by moritz (Cardinal)
on Dec 24, 2009 at 09:49 UTC ( [id://814205]=note: print w/replies, xml ) Need Help??


in reply to Tool used by Perl developers to design the flow of Perl Projects

Let me start by apologizing for not really answering your question.

There are basically two kinds of flow charts: One describes an algorithm (instead of using pseudo code; a good example is here, the other gives a high-level overview over how different components interact in a complex application.

As has been pointed out, both are language independent.

And the second one is usually a lie.

Most complex programs these days are object oriented, and that means that that whenever you obtain data from an object outside your own class/package/module, you call a method from another class or object. So a real-world application crosses the border between classes thousands of times, instead of having a smooth border that is crossed once or twice.

Instead of showing the control flow, it would be far more interesting to know what objects are shared between subsystems, or through which objects subsystems interact with each other.

Which brings me to my main point: For a complex system, a detailed flow chart is usually too complicated to show anything of interest, and a simplified flow chart is usually a lie and often not helpful either.

So if your program is getting so complex that you lose overview over the control flow, it might very well be a sign that you could use a better approach. Like objects which don't care very much about control flow, because they are well encapsulated.

Perl 6 - links to (nearly) everything that is Perl 6.
  • Comment on Re: Tool used by Perl developers to design the flow of Perl Projects

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://814205]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2024-04-19 12:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found