As a web programmer, a lot of what I do is very repetitive, especially when dealing with a great deal of data. For every data table or form design that goes into a project, there’s usually at least three other sub tables that hold information such as drop down lists that also need administration and functionality. Sometimes I think my life is all about “list-form-post”. This mantra can be repeated hundreds of times for a project. You have a listing of data, an edit page, and a post page (what happens when you click ‘submit’). It’s all the same basic code over and over and over again, just the names and data types have been changed (to protect the innocent?) so we can’t just reuse any given form, they usually have to be custom written, with some copy and paste. At least Coldfusion has a few shortcuts to the way things are done, so we can set certain things up as modules, or create functions to do repetitive tasks so I don’t have to go back and write the same code in every place, I can just call a function. If it’s a large project, sometimes I can even hold that function in the application scope so that it can be referenced whenever I need it.
There’s a lot of work that goes into making a project interactive. For example, lets take a simple form like a user registration form. Of course we need the usual fields of username and password, which have to have a form, they have to be verified (make sure they’re filled in, don’t contain illegal characters, username is available, etc) and then written into database and perhaps sent out as an email. Now what if as a matter of demographic marketing, I want to include a list of choices for something? Say, a referral source. Perhaps a marketing campaign has been arranged and we want to find out where these people are coming from, so we give them a drop-down list to choose from. Now in some cases, this list is going to change from time to time, and our clients don’t want to have to wait for us to make the change, they want to have administrative control, so we build that sub table into the administration. Most forms have multiples of these. Sometimes it’s in the form of a series of checkboxes because more than one answer could be chosen. The layers of data and functionality goes much deeper than just mimicking a piece of paper.