CMP's TechWeb
spacer
spacer Click Here!
spacer
spacer
 Write to Byte
 Editorial Calendar

 Categories
 Previous Weeks
 Columns
 Features
 Audio

 Search:
Byte
Research Center


 Resources
 WebTools
 Java Resources
 Downloads
 History Of Byte

 BYTE Humor
 Ian Shoales' Page

 Print Archives
 By Issue    By Topic

 About Us
 Byte Editorial Staff
 Sales Staff
 Privacy Policy


Sponsored by:
Click Here!

TechWeb Sites
 Bank Systems
     & Technology
 CMPmetrics
 eBusiness Expo
 File Mine
 InformationWeek
 Insurance & Technology
 InternetWeek
 Network Computing
 PC Expo
 Planet IT
 TechCalendar
 TechEncyclopedia
 TechLearning
 TechReviews
 TechWeb News
 TechWeb Today
 Wall Street & Technology

 Ad Info

spacer
infielder

Snarled Storage
(Evolution of Programming Methodology, Part I , Page 3)

By Bill Nicholls

February 28, 2000

In This Article
  Evolution of Programming Methodology, Part I

  Spaghetti Software

  Snarled Storage

  A Business Perspective

Print This Article
A form of shared data storage known as Common was used extensively. This enabled further growth in program size. A Common definition of variables and arrays was created in the main program, and each subroutine needed to define one exactly like it in terms of variable type and size, but alas, not in name. Common proliferated, and became Named Common and plain Common. Names inevitably differed in the subroutines, from the main program, and from each other. Another level of chaos had developed.

Programmers developed their own standards for using Common. Where multiple programmers collaborated, as was becoming typical on large projects, someone was chosen to manage the interconnection between subroutines. Common gradually came under control as a standard deck that was duplicated and placed in each programmer's box of cards. The cards were another hazard for programmers. Dropping a 2000 card box was a major disaster. Not only did you have to put the cards back in order without sequence numbers, but then it took a pass or two through the compiler to work out the bugs caused by your missing a few misplaced cards. A dropped box was typically equivalent to three days lost time.

Those programmers who have worked in the field less than 25 years probably haven't seen a punched card. Cards were the ubiquitous form of source and object code, developing a whole sub-industry for supply, from key punches to card readers to storage cabinets. Slightly larger than a dollar bill, it was made of paper to exacting requirements for dimensions, stiffness, and strength. Numerous companies jumped into the supplier ranks with less-expensive supplies, and while the card remained the primary storage for programs, made significant profits on a commodity product.

Structured Programming
The next step in the evolution of programming methods came with the introduction of structured programming (SP). This concept was described in a paper by, you guessed it, E. Dijkstra titled "Structured Programming." It was printed in a NATO sponsored Science Committee report in Italy, 1969. This eight-page paper succinctly describes the concept, a program "As a string of pearls" created by carefully crafting modules into a whole process. He was way ahead of his time in 1969, and 30+ years later, still ahead of quite a few practitioners.

This was a significant step in that it was the formal recognition of the importance of design in computer programs, and supplied a methodology that produced improved designs. At the time this was seen by others as the answer to programming problems. Now any project could be built successfully, and many of the early uses of SP worked well.

As with all tools, exploration of its limitations was not long in coming. SP let larger and more complex programs be undertaken, which was enabled by larger and faster computers. Once again, the process created its own downfall, a kind of evolutionary death caused by hypergrowth. Even with those problems, the programming community was developing techniques to handle larger and more complex programs. Despite the weaknesses of SP, it offered another step in greater complexity.


 

    <<<Previous Page     >>>Next Page



CMPnet spacer Click Here!