Jackson Structured Programming
Here is my story!
I answered this question in Quora one year ago!
What are the best books you would recommend for someone who wants to broden his understanding about algorithms and learn programming concepts as well as ways to build solutions to problems?
My answer:
Hey!
I recommend,
Michael A Jackson,
Principles of Program Design, JSP.
Mr Jackson has literally "been behind my chair all these years…".
Had never been able to stay in the programming profession if I did not have this great support for my thoughts in a difficult profession.
Thus, here comes the rest of my story and why I recommend this book.I am an elderly gentleman who has been with "game" then late 60s. Have experienced much joy in my years as a software developer in the "Mainframe".That it was so nice, much depends on the profession and the engineering mindset, which I eventually dedicated to me, starting in earnest in 1984 at Bankgirot, Stockholm..It has been incredibly stimulating and fun during all the years of working with the method JSP in its entirety. Its powerful techniques such as process-/ programinvertion and useful backtracking approach. One works for a number of specific work steps and the iterative incremental processing method and its clear graphics technology, the method is also agile. Quickly get up a first draft of any data stream diagram. Using these, you can then also on some or a few A4 pages easily juggle alternative approaches and solutions.It has been a strong guiding light for me it's a bit rough and tricky work programming/system development sometimes are. It's incredibly many activities and details that need to be accomplished within a project is completed. Construction of program logic covers the often a large part of the overall project. Then apply it to have powerful support to "think in his little brain."
One must add its intuitive thinking aside and instead be guided by strong practices guidelines.
Have known that every day I have developed the method. Have just felt good and even a bit cleverer every day! To have seen this for himself, is a great feeling.
Should truth be told, I've often
over the years worked at home in the evenings with the data stream and process diagrams to put them in my PC the next day.
If the method is used in full, you get features for free, which otherwise are forced o figure out for yourself. The forces early focus on the more complicated questions to manage the work process. With architecture o graphics technology, so the work is done at a higher level of abstraction than when coding a program. On the system so important temporal dimension emerges clearly in the diagrams , they reflect the user's world, that is the function programs to perform. The entire program is reflected now in the diagrams, When the process is finished diagrams allocated operator and conditions .. "Code" is thus needed only to execute the program, not to construct it. However, such errors can be detected in the design unless you can place operations in a natural way the process diagrams.
Being forced to start thinking in code and not in user data may be due to the datastreams diagram being incorrectly constructed.
So an early review / record before the first test. These last steps are more routine and helps at the same time, it contributes to good reconcilation opportunities.
An example of this is that the operations do not naturally find a home in the process diagrams. It can then be incorrectly constructed data stream diagrams, or something is missing in the program specification.
During the work, we have now automatically received a complete application documentation.
The method is designed so cleverly that you do not have to think of any
"no nos" and concepts such as clean code, coupling, cohesion… ..etc. Long source code lists are a thing of the past. Instead, you can fully concentrate on and construct datastream diagrams that show the user world that the program should support.