Tools and Accelerators

I recently made a comment to a work colleague, that if he could understand metaphors, he could understand technology. What I was trying to impress upon him, is that programming is a process of designing tools which accelerate the completion of tasks within a system. I’m not sure if software engineering has ever been described this way, but I’ve been thinking a little about the topic of algorithms, and how they are tools which accelerate a calculation process using inputs and computing them into outputs.

It brings me to the point of this post, which is that “technology” relies on both hardware and software to achieve its objectives. Sofware doesn’t usually get a lot of attention because it’s something that you don’t physically touch. Rather, it’s an experience you feel, or an interaction you think about and focus upon.

I’ve been trying to use the simple tool of the text editor in a command line environment to improve both my programming skills and ability to focus. There are things that I’m used to doing in a GUI environment, that I need to learn to do in a command line environment, such as cutting and pasting, and file manipulation and management.

Even though I’m working slower to figure things out and undo mistakes, I feel a sense of accomplishment which doesn’t happen very much in a point-and-click windows environment. I think it may have to do with the number of objects that are in front of me at a single time. I really enjoy the simplity of seeing a blank screen, and finding the results of my efforts to synthesize my thoughts in front of me.

So, it’s onward with the command line and BSD / Linux, and the bliss of simplicity!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: