Jackson structured programming: Difference between revisions

Content deleted Content added
m apologies no it wasn't
OAbot (talk | contribs)
m Open access bot: doi added to citation with #oabot.
Line 7:
Jackson Structured Programming was seen by many as related<ref>{{Citation | first = KT | last = Orr | year = 1980 | contribution = Structured programming in the 1980s | title = Proceedings of the ACM 1980 Annual Conference | publisher = ACM Press | place = New York, NY | pages = 323–26 | doi = 10.1145/800176.809987 | isbn = 978-0897910286 }}.</ref> to [[Warnier/Orr Diagrams|Warnier structured programming]],<ref>{{Citation | first = JD | last = Warnier | year = 1974 | title = Logical Construction of Programs | publisher = Van Nostrand Reinhold | place = NY}}.</ref> but the latter method focused almost exclusively on the structure of the output stream. JSP and Warnier's method both structure programs and data using only sequences, iterations and selections, so they essentially create programs that are [[parser]]s for [[regular expression]]s which simultaneously match the program's input and output data streams.
 
Because JSP focuses on the existing input and output data streams, designing a program using JSP is claimed to be more straightforward than with other structured programming methods, avoiding the leaps of intuition needed to successfully program using methods such as top-down decomposition.<ref>{{Citation | last1 = Sorensen | first1 = K | last2 = Verelst | first2 = J | title = On the conversion of program specifications into pseudo code using Jackson structured programming | journal = Journal of Computing and Information Technology | volume = 9 | issue = 1 | year = 2001 | pages = 71–80 | doi=10.2498/cit.2001.01.06| doi-access = free }}.</ref>
 
Another consequence of JSP's focus on data streams is that it creates program designs with a very different structure to the kind created by the stepwise refinement methods of [[Niklaus Wirth|Wirth]] and [[Edsger Dijkstra|Dijkstra]]. One typical feature of the structure of JSP programs is that they have several input operations distributed throughout the code in contrast to programs designed using stepwise refinement, which tend to have only one input operation. Jackson illustrates this difference in Chapter 3 of ''Principles of Program Design''.<ref name="PoPD"/> He presents two versions of a program, one designed using JSP, the other using "traditional" methods.