part 1 - the information
According to Code Complete (Steve McConnell, Microsoft Press, 1993), program design language (PDL) was originally described in a paper published by Caine and Gordon in 1975.
Guidelines for effective use of PDL include:
- Use English*-like statements that precisely describe
*or other spoken language
- Avoid synatic elements from the target programming language. Thinking in programming language constructs eliminates the main benefit of design at a higher level.
- Write at the level of intent. Describe the meaning of the approach, rather than how the approach will be implemented in the particular programming language.
- Write PDL at a low enough level that generating code from it will be nearly automatic.
Benefits from using PDL:
- Reviews are easier - no need to examine source code.
- PDL supports iterative refinement - successive refinement in small steps allows you to check design as you get more detailed.
- Changes are easier.
- Commenting is done for you - turn the PDL into comments.
- PDL is an easy-to-maintain form of design documentation.
part 2 - the query
This PDL stuff sounds pretty good to me - maybe it's just new to me because I don't have any formal programming training. My background is in science, and I picked up any "programming knowledge" I might possess as the situations presented themselves.
I'm wondering, is PDL something that people actually use?