coding philosophies

Wednesday, February 11, 2004, at 11:34AM

By Eric Richardson

I'm doing some contract work these days, just really getting started into it. We were going through some stuff on the phone last week, with them just giving me a bit of feel for the context of the code I'll be working in. The code's broken up into layers, with layer 4 being the user interface and layer 1 being the database. Layer 2 is low-level db calls, etc, while layer 3 is sort of layer 2 glue. Yadd yadda yadda...


Anyway, what I found interesting was that they wanted me to start in Layer 2, building all the low-level db calls, and then only once all of that was done to start on level 3.


There's nothing wrong with that approach, I guess, but it just struck me that it was completely backwards of how I tend to write software. The first thing I do is prototype the GUI, be it on the web or something in Glade. Once I have the GUI I'll stub functions underneath to understand flow. Only once all that is filled out do I actually write any of the code that does anything.


I think this is why I'm a communications major and not computer science. I've always told people I want to be just as technical as I need to be to get the job done.


I'm curious how other people look at this? What way do you approach something like this? Big picture, or foundation?