Not only is Cobol alive and kicking since the harbingers of doom began prophesying its demise some 10 years ago, but it is key to becoming a great programmer. Veteran programmer Marinus van Sandwyk, chairman of LUSO Computer Institute, suggests that programmers learning their trade in object-oriented environments quite often quickly become lost at sea without the structured foundation that Cobol delivers.
The fact that good programmers follow disciplined structures sounds like an oxymoron, because good programmers must also think outside of the box. But each has its place. During the design and analysis phase, programmers need to follow a system of disciplines and structured thought. It needs to become second nature as programmers conceptualise the system they are about to code. Structure leads to consistency, a crucial component to writing good code.
Practised programmers will eventually arrive at a point where they can abstract a system down to its prime number, in a manner of speaking. In cases such as this the code programmers write becomes totally independent of the data that it works with and it suddenly achieves far more than it was intended to - while being flexible.
There are three methods to approaching the design of a system: one is through the flow of data; the second is the processes of the system and the third is the user interface. Those three approaches form the legs of any application or system development and getting them right makes programming as much an art as it is a science.
The best code to come from programmers is the most highly optimised code. That said, in the modern IT environment, hardware is a commodity and there remains a need to balance development time with efficiency and return, but with a little time and a lot more thought, many professional programmers can achieve far more than they currently do.
Although optimised code is the most beautiful, it can also become the most pointless unless the user interface is properly handled. No useful application is designed and built for the programmer. Non-IT-literate users may become highly confused and frustrated or effortlessly glide through their daily tasks. The user interface must be intuitive. Too often programmers focus on the processes of the application and even the flow of data but seldom do they approach the design from the user interface perspective and make it truly intuitive.
In training it is crucial to instil the disciplines and the processes that are required to analyse the three fundamental legs of any application.
One method of achieving this is called paper analysis. The system must be designed on paper, passed around and explained. That leads to understanding of the thought processes that went into the design and eventually their improvement. Any programmer worth his salt is already working on the design as the requirement is defined.
This includes data flow diagrams or the functional decomposition of systems and applications and is a crucial aspect of training programmers. This comes back to the three legs that support the development of any application. This is also one of the hardest concepts to grasp in programming. It needs to be passed on to prospective programmers in bite-sized chunks, allowing it to ferment in their minds as they begin to understand it and it becomes part of their subconscious.
Cobol is "pseudo-English" for techies. It is easy and logical to read for English speakers. It is merely a tool and learning to use it to the fullest extent of its parameters happens relatively quickly, allowing students to focus on other, more important matters. An added benefit to learning the necessary structures to successful programming in a language such as Cobol is that once a single language has been learned, learning others becomes easier.
The difficult part in educating programmers is imparting structure and system flow knowledge. Student teams and demonstrations are an invaluable aid in this exercise and lead to students challenging one another`s thought processes, resulting in more concise analyses.
Employing students that have gone through such a process means good return on investment. They become productive from day one and code quality is far higher. They also pick up new methods and programming skills and techniques because they have a solid foundation - something corporate IT departments cannot afford to ignore.
Editorial contacts

