Structured Programming: A Turning Point in Software Development Process

in StemSocial2 months ago

Nowadays, there are many programming languages out there, each comes with a unique functionalities and specific features that gives room to implement structured programming paradigm. However, the incidents which led to the foundation of structure programming approach to software development process of creating readable, quality, clarity and easy to modify programs can be traced back to the era before 1960s.

code-944504_960_720.jpg

[image source. Pixabay]

Before 1960s, software development products were not reliable as expected, usually cost more than the proposed software budget cost, mostly ran behind the expected time, take longer period to locate errors let alone debugging the located errors in the program usually becomes difficult and the programs of those days make use of too many Go To statement that usually lead to spaghetti code which is difficult to trace and maintain. More so, programming before the advent introduction of structured programming had no standard and formal way of writing it, it used to be written any how, so far it solves and accomplish the task which it was intended to solve.

Imagine asking someone to cook rice and beans and the person adds rice before adding beans or adding rice and beans together with the mission to just get rice and beans done, of course, the person may end up in getting rice and beans done but is it to the satisfaction as expected? Any error resulting from the programming manipulation used to be patched until the programmers are convinced that all the errors have been fixed. However, errors usually continue to appear even after the program had been released for use in the market.

First and second generation of computers were completely built using try and error approach with no standard method, a typical example of this is the operating system developed by IBM for the system 360 notably called OS/360, the cost of its development is assumed to be hundreds of millions of dollars and took a year late from the proposed development period, and contained thousands of errors, after its release, hundreds of errors were still noticed when the system/370 was introduced.

Program showing the use of structure programming paradigim

Structured:

IF @noble-noah = 60 THEN

BEGIN
A = B+C;
C= D+E;
END
ELSE
BEGIN
A = C+D;
C = E+F;
END;
WRITELN(A,C);

Program showing the use of NON structure programming paradigim

Unstructured:

IF @noble-noah > 60 THEN GOTO 2

BEGIN
A = C-B;
C= E-D;
GOTO 1;

2: A = C-D;
C = E-F;
1: WRITELN(A,C);

There were various challenges to the non standardized method of programming and the burden to continue with the challenges lead to the use of structured programming paradigm. although it started from the academics and then to the industry with number of years before its wide acceptance in industry.

Invention of Structured Programming

Between 1950-1960, there were few people who had thought of having a general and standardized method for developing a program, but it was not implemented until Dijkstra and others colleagues who were primarily in academic settings. In the United State, Mills and his colleagues successfully used structured programming in applied projects for IBM, in fact, Mills (Note 1) remains one of the most enthusiastic supporters of structured programming paradigm in collaboration with other design methods.

How of programming

It is important to state it here, especially for beginning students in programming, who do not know where to start, the very first thing they should consider focusing their attention on is how of programming: how to develop a solution to a given problem, how to arrange a program and how to effectively use the standard techniques that represent the strategy of the business.

The Turning Point

The turning point in software development process happened in 1968, with the help of Edsgar Dijkstra from Netherlands who published a letter with the title 'Go To Statement considered harmful', also, at an international colloquium, Corrado Bohm and Guiseppe Jacopini proposed a research paper which proved mathematically that only three control structures were needed to write any standard program and that is the basis by which structured program paradigm is based upon.

Edward Yourdon is another great programmer who contributed greatly towards the wide acceptance of structured programming in the United Kingdom around mid 1970s. The first major landmark success of structured programming was the famous New York Times Project, a system designed to automate the newspaper's clipping file and that was around 1972. It makes use of list of index terms where users could search through the abstract of all the newspaper's article and then retrieve the full copy of the intended article.

Basic Elements of Structured Programming

Programming using structured programming paradigm breaks down large complex program into independent modules, with each module serves as a solution to the overall solution of the whole program. Breaking down large program into modules allows efficient management of the code in proper and reduce the logic errors that may appear within the program, also debugging using this methods is easy among other benefits of structured programming.

The basic elements of Structured programming are: Block, Selection, and Iteration, some of the programming languages that support Structured programming approach to software development process are: C, C++, Java, C# e,t,c.

Final Thought!

Like I used to say, there is no technology that has advantage and leaves no disadvantage, despite the benefits of Structured programming mentioned above, Structured programming make use of higher memory and reduction in execution efficiency has also been attributed with Structured programming.

Thanks for reading through and your great contribution on my blog overtime is well appreciated! Wishing you a nice weekend .

References

  1. Structured Programming

  2. cnx.org: Programming Fundamentals – A Modular Structured Approach using C++

  3. Structured Programming Approach with Advantages and Disadvantages

  4. structured programming (modular programming)

Sort:  

Hi, @noble-noah I liked the way you handled the topic. Structured programming, brought order in those days. Particularly, when developing basic systems based on microcontrollers I usually use this kind of paradigm and it is explained in a way that reaches my students. Of course, there are processors in which you can establish others like object-oriented programming, but that's a whole other story to tell. Thank you.

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider supporting our funding proposal, approving our witness (@stem.witness) or delegating to the @stemsocial account (for some ROI).

Please consider using the STEMsocial app app and including @stemsocial as a beneficiary to get a stronger support. 
 

I dont think that anyone can learn all languages but which language do you suggest which has better future ?

It depends on what you want to be involving in, is it web application, desktop application or system application like operating system. Though web application is much invoke now and has more rooms for future programmers since most of the applications are now moving online, including block chain technology which crypto currency is also built upon.


The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.