Programming Proverbs 22: Get the program correct before trying to provide good output

In some ways I think this is one of those proverbs that was more important back in the days when batch jobs were the way things worked. On the other hand there is an important, if perhaps more general, bit of advice here. That advice is to spend the time up front to get the right results before getting too hung up on how those reports are handled/displayed.

A lot of developers, and students are horrible at this, like to spend a lot of time on appearances before they get the "invisible" parts of the program working. More than once I have seen a student turn in a beautiful program with a great looking user interface that fails to execute the most basic of functions. I've heard a lot of teachers complain that this sort of thing is made worse by tools that make creating fancy graphical user interfaces easy. There is no doubt that playing with a GUI can be a distraction. People need to remember that incorrect or insufficient information is of little use no matter how pretty it looks.

IN most cases getting the output to look great, whether that means the columns line up or the screen is well laid out and well organized, in a fairly trivial task. It may be tedious at times and there may very well be a good deal of testing to make sure all of the edge cases display well. But really getting the output right can usually be safely left until later in the development cycle. IN professional development it might even be better to make that task a separate on and hand it off to graphic designers rather than programmers. The promise of XAML and the Expression Suite of tools among others (someone else must be doing similar things I assume) make that easier. Form and function have never been easier to separate.

A programmers main job is to get the algorithm coded correctly and tested well. Once the program is correct someone can spend the time needed to make it look cool to the user.

This is the twenty-second of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.

 

Technorati tags: programming proverbs, coding, education