THE controversial appointment of the Deputy Speaker of the House of Assembly to a ministerial post, has created a vacancy for the Deputy Speaker position, and sparked allegations of abuse and improper procedure! Interestingly, the Prime Minister has defended this decision, by referring to the Saint Lucia Constitution, under section 36 (1), which requires that the House elect a replacement “as soon as is convenient” to that office. With no specific timeframe being highlighted for this activity, the ongoing debate about the correctness, legality, or wisdom of such a configuration will likely continue.
Aspects of delayed decision making also appear in the internal operation of a computer program, and is related to the policy of being frugal, and not wasting scarce system resources such as power or memory. This approach of maximising system resources, is based on the long history of computers being slow, very expensive, and having limited resources. For this reason, computer programmers continually struggle to squeeze more performance out of a given computer system.
Nowadays, computer hardware is becoming less expensive and more abundant, so those performance-tuning skills may not be as noticeable as before. Still, there are occasions where scarce hardware resources force a choice upon you, and where those skills continue to be in demand. For example, your smart watch needs to operate conservatively so that you do not unreasonably lose battery power during the working day when the watch will be needed.
Let’s use another example. A simple computer program may reserve all the memory it might ever need, whether it actually uses it or not. This technique is known as static memory allocation, and is wasteful because more memory is consumed than actually needed. In contrast, other programs might delay the reservation of memory until such time that it is needed. That other technique is known as dynamic memory allocation which improves the use of space. The choices for the programmer are to:
1) Save time, and to waste space — which keeps the programme simple; or
2) To take more time, and save space — at the cost of greater complexity.
If the program was meant to run on a powerful laptop with lots of memory capacity, the simple, space-hungry choice would be wise. However, to run on a smartphone or a smartwatch which has limited capacity, then the space saving version would be more appropriate. Don’t you think so? The space vs time tradeoff appears in many other aspects of system design, and is a reminder that we have limits which we must operate within. There are many other practical instances of this tradeoff that appear when designing computer programs or even entire computer systems. The challenge, as always, is to fully understand the impact of such decisions on the overall system.
To share your views, contact the author at: www.datashore.net or via The VOICE.
About the Author
Dr.Lyndell St. Ville is an ICT Consultant based in Saint Lucia. His expertise includes systems analysis, design, and capacity building.