Frameworks: useful or restrictive?
In recent years, the software development market has witnessed a marked increase in the number of operators organising their programming activities via the use of frameworks. This term refers to a tool which allows for the optimisation of time management, thereby facilitating the work of programmers and avoiding the need to start from scratch when writing each new program.
Frameworks act as an interface between programming platforms and programming languages, enabling less experienced programmers to exploit advanced level functionalities. However, not everyone has taken a positive view of this trend. According to several programming experts, their use has opened the floodgates to a generation of lazy professionals.
These programmers would appear to be making a habit of replacing the languages they do not know well with whichever framework is in vogue at the time, rather than tackling any issues head on. According to critics of this programming approach, the new generation of programmers lack innovation because they have never studied the basics of programming, nor have they explored the features of the various languages in any depth.
These observations make sense to some extent if you consider that, up until a few years ago, the only way to start out in programming was to study language manuals such as HTML, CSS and JavaScript from cover to cover, then apply what you had learnt through practice using text editors. According to old school programmers, starting from the basics allows you to develop a more flexible attitude to programming, unthinkable with the use of frameworks alone. Furthermore, many people believe that the fundamental concepts of IT and programming techniques are much easier to learn if a traditional approach is adopted.
It is often advised that frameworks should be avoided because they result in projects becoming increasingly complex as well as higher dependency levels. According to some software development experts, allowing oneself to be guided step by step by a framework can result in the use of as many as 20 different frameworks and up to 5 or 6 programming languages by the time a project is concluded.
Therefore, their use is recommended only in exceptional cases, such as projects involving sound and image transformation, but also for automated learning. In those situations, in fact, it would take many months to write the necessary code to complete the project.
What about databases?
Criticism of the use of frameworks also extends to the world of databases. Many development teams avoid using relational databases in their projects, even when that solution would almost certainly be the most convenient.
In such situations, critics have referred to IT professionals’ growing inability to learn the skills required to understand and resolve problems which emerge during developmental processes. The risk, according to those involved in the IT development sector long before frameworks were heard of, is that although entrusting services to third parties may be easier, it leads to lower performance levels.
Why should young programmers write their own frameworks?
According to old style programming veterans, young developers must learn to write frameworks themselves because, in that way, they can develop the necessary technical skills to help them identify errors or omissions in other code ‘libraries’. Furthermore, writing your own framework forces you to make decisions which would otherwise be taken for granted and which refer specifically to the architecture and code.
Translated by Joanne Beckwith
