COBOL in the Future
COBOL was first introduced to help with simple data processing needs. This focus led COBOL to become the preferred language for business development, starting in the 1960s. As the language evolved, standards emerged, and COBOL penetration in the business market increased. Today the amount of computer involvement in business processing continues to increase. As COBOL is the traditional powerhouse for business applications, COBOL should expect significant growth. Experts instead have forecasted a decrease in COBOL development for the future. (This constant forecast has been published for the last 20 years, first stating that COBOL was to be overtaken by C, then by Java, etc.) While COBOL proved far more resilient than predicted (partially thanks to increased development for Y2K), development managers continue to look to other programming languages for the future.
Issues with COBOL
When first introduced, COBOL was seen as help for people who wanted to code, without worrying about machine instructions. Changes in technology and resources have lessened the need for COBOL specific processing during the last 20 years, including the following:
Graphical Screen Design is lacking in COBOL
COBOL's strengths were based in file storage, access, and manipulation of textual data. COBOL did not completely cover complex mathematical calculations, and manipulation of single bits of information. This was not a weakness, as it kept the language simple, and focused on business processing requirements. However, as crude graphical interfaces were developed for screen processing, these limitations meant that COBOL would lag behind other languages in supporting graphical screens (which were initially handled through manipulation of all of the dots or "bits" on the screen). As the growth in computer programming (and resultant applications) tended to emphasize graphical interfaces, particularly in the new area of desktop PCs, COBOL was not the first choice for development of those applications.
Database Processing Reduces COBOL Impact
COBOL's strength has always been in data processing. As databases started to provide sufficient processing power for many business needs, COBOL coding requirements were reduced. Databases, particularly those using SQL, were quickly tied to new languages that dealt with graphical display and word processing. Over time, these new languages provided support for the same kinds of functions found in COBOL, and while not always as stable or self-documenting as COBOL, they were "close enough" so that the work was done in a non-COBOL language.
Affordable Business Applications need Integration
Business applications have always been available for sale. As the number of computers has grown, the cost of such applications has been reduced, and the quality has improved. At the same time, the cost of developing entire applications in-house has increased. Most businesses now use purchased applications for much of the work done within the business. Most of the applications are constructed in non-COBOL languages, so they do not link well with COBOL applications, especially when the COBOL application does not support standard interfaces, such as SQL, HTML type screens, etc.
COBOL not known by College Graduates
COBOL was quickly accepted as the "computer language" for the Business Department in most universities. The Mathematics Department concentrated on languages that dealt with numerical theory, bit manipulation, etc. As new languages have developed, Computer Science majors require knowledge in Database Theory, Object Oriented languages, Web Design and implementation, but very little on standard business processing. Business majors focus on Web Design and Database 4GL tools. COBOL is not learned, leading to a shortage of young computer science graduates with any COBOL knowledge.
The Self-fulfilling Prophesy of COBOL Failure
COBOL's demise has been predicted for 20+ years. Managers see this, and attempt to curtail development of new COBOL applications (even where COBOL is a viable alternative). At the same time, they try to identify new features for existing applications that can be coded in another language. College students also noted the prediction of COBOL's demise. They want skills that will be marketable, so they do not learn COBOL. Current developers see that new development will probably need other skills, so they seek experience in other languages.
As there are fewer people with COBOL knowledge, and fewer managers willing to support COBOL for new development, COBOL usage is lessened. As COBOL applications are reduced, that brings more pressure on managers and developers to choose another way to code, and the downward spiral continues.
COBOL's Future is Maintenance and Migration
COBOL is a dependable language and will not go away quickly. Many COBOL applications will still exist in some form or another for many years to come. Those applications that remain will become stable (very few enhancements or bug fixes). New development or major enhancements will be accomplished through other languages and tools that satisfy the requirements that gave COBOL the edge 20 years ago. Corporations should consider the following:
Maintain in COBOL
As retooling applications is still extremely expensive, corporations with COBOL should maintain their COBOL applications. They should look for tools to both quickly generate programs (for minor enhancements) and help them maintain existing programs (resolving function problems).
Corporations should seek opportunities to make existing COBOL applications integrate with other programs, being careful to identify those actions that provide the most benefit for the least development effort. They should also research for COBOL vendors that provide facilities for quickly helping COBOL applications visually integrate with other applications.
Migrate to Support New Environments
As major functions need to be redone or major enhancements need to be added, those functions should be moved into the new development environment. This can be done in new languages where resources can be found, or by purchasing a standard application. Migration Preparation for either choice is very important. Corporations must increase COBOL application Interoperability, so migration is seamless, and affordable.