Future is Digging History
IT is moving towards Procedural Programming
Welcome readers after a bit long to the blog under the concept of "Future is Digging History" with new topic that again fits the concept of Future is Digging History.
As an IT professional, especially working in software development, we should be ware of different programming paradigms and the programming languages supporting them.
Programming paradigm:
It's the style of writing computer programs using any of the programming languages available.
The ways of writing programs i.e. types of programming paradigms are:
Imperative:
- object-oriented which encapsulate code together with the state the code modifies
- procedural which divides code into functions
Declarative:
- functional Programming
- logic
symbolic programming which has a particular style of syntax.
The evolution of programming languages has established different styles of programming either by compulsion(GoLang for reference :)) or by open standards.
Our main focus today is on procedural programming despite it is somewhat older style of programming(since development of C programming language) however getting lots of popularity with the evolution of new programming languages.
But, as you may aware of Object oriented programming has gotten much popularity among software programmers and developers.
The main difference between Object Oriented and Procedural paradigm is data and functions(known as methods) are encapsulated together in first one and program is divided into different functions with special task assigned to it.
As stated earlier OO paradigm has acquired more popularity because of rapid development and capability of decomposing real world problem.
In-spite of this my personal opinion is Procedural programming is always easy, because I worked with both paradigms and while developing any application from scratch it feels that using OO paradigm gives speed and bit easiness. However, as application grows and it's time to support and maintain it, procedural paradigm wins.
By, supporting and maintaining I mean when application is handed over to the support team for maintenance, it's very easy to understand the code for debugging or simply read out developed by someone else.
And I guess this is only the reason new programming languages adopting procedural paradigm strictly(c++ adds OO to procedural type and provides flexibility). Ex. Golang by Google(open source) and RUST by Mozilla(maintained by open source group).
Even, it's sane choice to think the paradigm that fits our application, but procedural paradigm should always be considered if you are thinking to develop an application that needs long term support and maintenance.
Conclusion:
The main point behind this article is to state that procedural paradigm is playing very important role since the evolution of C programming language and will continue in IT field.
So, those who prefer(love :)) procedural programming over OO, no need to feel uncomfortable thinking OO is being accepted by great communities/professionals, rather, be happy and enjoy programming/development.