2006-01-19

Meta meta

I feel like I'm getting bogged down with layers and layers of meta programming. I have programs that do things. Then I have scripts that run the programs that do things. Then I have scripts that run the scripts that run the programs that do things with different options. Then there are scripts to manage the myriad options and parameters. And just as that gets complicated I have to work with yet another wrapping of the scripts to manage the plethora of things to make sure the stuff has what it needs and runs correctly because by this layer it gets really confusing for all involved. But this new layer is every bit as confusing as every other layer.

I guess that's the history of programming.

So programs started out with machine code, 1's and 0's. Then came assembly which replaced the 1's and 0's with mnemonics for the instructions. Then came the mid and higher level languages which replaced the mnemonics with nicer and cleaner and more readable and one needn't know all of the individual steps to do some task. Then came the even higher level scripting languages to manage and glue together all of the various programs written in the higher level languages. And with it came systems of keeping tracks of arguments and parameters. Command line options and GUI's were made. And still more. Another layer after another to abstract and abstract until noone knows what goes on underneath. It's a bit of a maintainability nightmare all for the sake of making things more accessible. Ah well, there's a certain pleasure to it that goes with the pain.

No comments: