Day 16: Measure Performance Before Optimizing

Writing programs takes time, but writing correct and fast programs is even more difficult. That is why there is so much badly written software in the market. Bugs are the result of sloppy and rushed code. Programs are frequently slower than they need to be as a result. In this situation, it sometimes seems smart…

Day 15: Use Meta Programming When Possible

Meta programming is a style of software development where one is able to modify programs automatically, based on rules that have been previously defined in the system. For example, suppose that one wants to create a graphical interface based on simple specifications. The UI code may be written as a complicated C program, which makes…

Why GUI Systems are Object Oriented?

In the previous post I talked about areas of software development where data is at least as important as behavior in the system design. Object oriented practitioners will contend that behavior is the most natural way of designing a system, and will give a number of examples where it works and the data-centric approach doesn’t….