Wednesday, January 25, 2006

Automated Code Generation - Good or Bad?

Do automated code generators increase or decrease a programmer's productivity in the long run? I think when the task is writing trivial repeatable code, then code generators definitely increase productivity, but for non-trivial code... maybe not.

Here is Charles Petzold's view in a brilliantly written article.

Tuesday, January 03, 2006

An interesting article on API design

When we create software for an end user, we ensure a good user experience by designing a simple, usable, and efficient user interface. When we create a library or an API we must ensure a good user experience by making it simple to understand, efficient to use, and resilient to future changes. Some very basic principles that provide a good guide for creating an API. Some principles are:
  • Design to evolve.

  • Correctness, then simplicity, then efficiency.

  • Interfaces are overvalued.

  • Be careful with packages.

These principles have been borrowed from a blog posted on You can read it here.