Older But Wiser – The same holds for programming languages
Good programming languages are not designed.
Instead, they undergo evolution, and this process takes time.
Zhao Jing, Technical Expert and VP of CLPS
Everybody will agree that changes in computer technology are happening so fast that new programming languages, tools, and platforms emerge at any given time. Such pace makes it even difficult for industry players to catch up even if they devote 24 hours a day learning these new technologies. But there seems to be an irony here since while rapid technological changes occur, programming languages of old are still very much in use.
For example, if you compare TIOBE’s Top 10 list of widely recognized programming languages today with that of 10 years ago, you’ll find exactly the same entries.
Top 10 programming language TIOBE index trend (2002-2016)
In addition, FORTRAN, the world’s first high-level programming language born in 1957, LISP, invented in 1958, ALGOL, which debuted in 1958, COBOL, developed in 1959, and so on, still have their considerable following up to now.
1. Contradictions in the world of programming languages
Why is it then that in spite of the groundbreaking advancements in computer technology, the programming languages of yore are still alive and kicking and not gobbled up by the new ones? The idea may seem unthinkable; but what can be the reason behind it?
The way I see it, good programming languages are not designed. Instead, they undergo evolution, and this process takes time.
Every new programming language that is born has its own place and purpose; those that have been invented a long time ago but are still actively used today, after introducing enhancements, is an affirmation of their being time-proven. These programming languages continue to be in use since they “control” an invaluable amount of resources that include environments, libraries and reusable and portable codes. As long as these resources remain in use, the old languages will never cease to exist. It is because the user is more willing to just “improvise” the old language by integrating applicable features of the new languages rather than totally switching to a new language with the specter of bringing bigger risks and harm to the entire system. With such continuous enhancements to old languages, they have evolved through the years setting a higher threshold that would make it more difficult for new languages to easily obliterate them.
In other words, “older but wiser” also holds true for programming languages. COBOL, being one of the earliest high-level programming languages, is one such language.
2. An “older but wiser” typical example
COBOL (Common Business Oriented Language), officially released in 1960, is still around for more than 50 years now. COBOL as a language has been in use on a wide range of applications in accounting, statistical reporting, planning, information retrieval, personnel management and business data processing. A big number of these applications, though, are in banking, finance and accounting sectors, together with other critical areas of business data processing, leading to the argument that “COBOL controls the world’s purse”.
It may already be “old” but COBOL still plays an important role in the current business setting as can be attested by the following COBOL figures: 70% of the world’s data processing, 90% of ATM transaction processing, 30 billion lines of codes processed daily, 492 out of the Top 500 (including all in the Top 100) as users, and more than 3 trillion US dollars investment.
From its literal meaning – “common language for business”, COBOL was primarily designed for business applications. With the rise of COBOL, people soon realized that computing is not only for scientific purposes but can also be applied to various transactions. Based on its technical functionalities, COBOL was found to be very suitable for commercial data processing.
Firstly, COBOL’s strength lies on its business logic. In managing business, the numerical calculation is not complicated, but it may involve an enormous amount of data processing. COBOL emphasizes the use of input/output records in processing, providing a simple way of handling files with very large amounts of data, making it the ideal choice to handle data processing problems involving volumes of information in the areas of business and enterprise management.
Secondly, COBOL statements are closer to natural language (English), making it easier for programmers to understand the language and run business data processing in COBOL more accurately with minimal effort. As Michael Coughlan, a professor at Limerick University, puts it, “One of the biggest advantages of COBOL is not only that it is easy to write, but that you can still easily understand what the source code represents even after many years have passed.” Mike Gilpin, a market researcher from Forrester agrees and added, “COBOL is one of the few highly readable languages in the past 50 years, while many of today’s widely used languages are hard to understand, such as PHP and Java.”
In addition, COBOL is quite versatile and fully standardized, making it easier for programs to be embedded on different computer systems.
With COBOL’s technical features and solid foundation in the financial industry, COBOL continues to be the programming language of choice in business computing. Rewriting these reliable COBOL applications into another language is not practical or commercially viable and will take a long time to implement even for a seasoned IT company’s team of experts. As Charles Chu, director of software distribution and strategy at IBM, puts it, “Businesses are constantly innovating, but the 250 billion lines of COBOL code in used globally are still doing their job pretty well; why fix when it ain’t broke?
3. Learning a programming language the same way as before
Programming languages are constantly evolving with the more popular ones always being updated to the point that knowledge obtained today may very soon become obsolete. So, how should programmers then cope with these never-ending updates in programming languages?
In this regard, CLPS believes that when it comes to learning a computer language, a programmer should maintain right attitude, practice effective techniques, understand the language’s core, master the syntax rules and build up one’s knowledge base systematically.
Computer technology advances in so short a time that changes in other traditional disciplines cannot just cope up, but there is no such drastic change when it comes to the core features of a programming language – design patterns, algorithms, data structures, logic, software architecture, etc. Instead of getting too much caught up with the new technology, one should look on what has essentially changed and evolved through the years. In this world of “constant change”, if you focus on the core fundamentals, you’ll be building up knowledge in a more effective way.
Moreover, learning a new technology can become very easy if you have a solid foundation. It’s because no matter whether it’s old or new, the programming essentials never changed at all.