The Evolution of Programming Paradigms

My career as a programmer has spanned more than forty years. In that time I have seen a number of programming paradigms promise to make programming easier, more robust, and less error prone. Let’s review these paradigms in roughly chronological order.

Early in my career the latest advance in programming paradigms was Structured Programming.  The essential insight of Structured Programming was that programs should be written using a small set of control structures and that the primitive goto instruction should be shunned. The benefit was more readable code that could be more easily analyzed. The goto ridden code was often referred to as spaghetti code.

Next to come into vogue was the paradigm called Object Oriented Programming. Objects were intended to provide several benefits. First they were aimed at grouping functions with the data that it operated on. It also introduced the concept of encapsulation or data hiding. Data, and functions for that matter, that were not specified as public could not be accessed or modified by code outside the object.

Most popular Object Oriented languages were based on the idea of Classes that specified the data and functional template from which individual object instances were created. These Classes were often organized in a hierarchy such that the more general Classes specified the common data and functional characteristics of a group of objects. The more specific members of the class hierarchy would then add or override data or functional characteristics of the subclass to refine the representation and behavior of the instances of the subclass.

As it turns out, in most cases class hierarchies just added unnecessary complexity to programs. They also introduced problems such as what if you have a class that inherits from two different parent classes. For example, suppose that you had a BankAccount class that represented the ledger of a bank account, the deposits, the withdrawals, and the current balance. Suppose there was another class that represented a PrintableReport. Suppose that you wanted to create a class BankAccountReport that inherited attributes from both the BankAccount class and the PrintableReport class. Now here’s the quandary. Both superclasses have an operation called addItem. Which operation should the child class inherit, the one from BankAccount or the one from PrintableReport? This created so many problems that many Object Oriented languages only allowed a class to have a single super class.

Next to the scene was Aspect Oriented Programming. It’s claim to fame was a solution to the problem of multiple inheritance or, as it referred to it, cross cutting concerns. Aspects were a mechanism that allowed the programmer to conditionally alter the behavior of an object by modifying the behavior of a class without modifying its implementation. It did this by capturing calls to it’s methods and allowing the programmer to intervene before or after the call to the aspected operation of the underlying class.

The latest paradigm is not really new. Functional Programming goes back to the early days of Lisp. It says that functions, in the mathematical sense, should map inputs to outputs without causing any side effects. Functions should further be first class entities in the language. This means that they should be allowed to be stored in variables and passed as arguments to other functions.

Strict functional programming is difficult if not impossible to achieve practical results with. Most programs take input from somewhere and output results to somewhere. Taking input and outputting results are both violations of the constraint that the output of a function should depend solely on it’s input. Most functional languages have well defined accommodations for operations that aren’t strictly functional.

This was a whirlwind tour. I hope it gave an overview of the evolution of programming paradigms over the last forty years. Look these programming paradigms up on Wikipedia if you want to know more about them. Or if I have managed to confuse you totally.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

A Ramble Through the Mind of a Writer

There is a balance between feeling enough pressure that you get something done and feeling so much that you are left without a clue what to write. I have been to both extremes and I’d like to find a comfortable position right in the middle.

I am proving to myself that I can actually decide to do something and then do it. If, along the way, I happen to accomplish something more, like writing a popular story or novel, then that is a happy surprise. I’ve started several writing projects. I’ve written fifty thousand words worth of novel on two separate occasions. That is not the whole story in either case. Both so-called novels need significant work done to them before they even deserve to be called first drafts.

The first was a novel called The Gentry. I started importing what I’d written into Scrivener. It has an impressive suite of tools for polishing a novel. I’m going to work on that for a while. It has sat on the shelf, so to speak, for three years now. I have some sense what the mistakes that I made were. The first thing I need to do is to read it and see just how bad it is. Then I will outline what I’ve got so I can start to clean it up and get rid of some of the pointless rambling and punch up the good parts so that they’re even better.

I’m going to go ahead and post this. It shows the rambling dialog that I’ve been having with myself lately. If nothing else maybe it is entertaining to see me waffle and squirm. Who knows. Maybe someday it will be famous as a peek behind the scenes of the writing of my first novel. You never can tell.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Growing Pains

Tonight is probably one of those nights when I should just declare defeat and go to bed. I find myself sitting here asking myself deep, philosophical questions and I’m not coming up with any satisfying answers. Perhaps there are none. Perhaps I need to write some short fluffy memoir about growing up in a sleepy little river town during an age of social unrest and political turmoil.

Or maybe I should write my coming of age story. That is both too stereotypical and too private to publish in this venue at this time. I may be able to screw up my courage and tell that story at some point but not yet.

How about the story of the college freshman that wanted to be a writer but had no idea where to start. The one that would type a couple of sentences on his manual typewriter, rip the page out of the carriage, wad up the paper and throw it over his shoulder. Eventually, I started keeping those abortive starts in a notebook. They never amounted to much except as a reminder of the desire to be a writer. When I found Julia Cameron’s The Artist’s Way I was primed to take that first step toward actually becoming a writer.

There have been so many pieces to the puzzle that came together to be the person that I am today. I’m still adding pieces. It’s hard to make them all fit some times. I keep feeling urges to do things that seemingly have no relationship to the things that I’m already trying to accomplish. I don’t know what to do with them sometimes.

The other day Ann Marie Martin said something that resonated strongly with me. She said that some times she has characters that talk to her. She has to sit down and write what they are saying to get them to shut up so that she can finish the other things that she has on her plate.

I know the feeling. With me, it’s not always a character that is demanding my attention. Sometimes it is a program that I must write so that I will quit thinking about it. Sometimes it is a song that I’ve got to write so that it will quit haunting me all the time. Sometimes it is a dish that I want to try to cook. There are so many things that I want to do and there is so little time to do them all.

So I concentrate on doing one thing at a time. Much of what I do is done out of habit. I get up in the morning, take my shower, get dressed, and write my journal entry. I come home at night, I eat dinner and talk with my wife, sometimes I watch TV, then I write my blog post.

Habit is a powerful force for getting things done. Unfortunately, there are only so many hours in the day. At some point, if you want to add anything else to your routine, you have to drop something else. I’m struggling over that right now. I’ll let you know what I figure out.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Writing Tips

I haven’t felt very good this weekend. The symptoms are of a fairly mild cold. Given that there is a rather virulent strain of flu running rampant in the area I feel like I have little room to complain. None-the-less, I find that every time I try to do something, my head pounds, my throat hurts, and I get winded.

Yesterday, I went to a meeting of the Huntsville Downtown Writers’ Group. We were treated to a marvelous program on the importance of a good editor and how to choose one given by Ann Marie Martin. In addition to learning about editing and editors, I also learned some important things that will help improve my writing. I thought I’d share a couple of them with you.

First, you’ve got to capture your reader’s interest on the first page. If you can manage to do it with your title, you’re ahead of the game. Reading is an investment of time. No one wants to spend their time reading a boring story. If you don’t convince them that you have a good story for them on the first page, they won’t turn it to see if the rest of the story is any better.

The other thing that I learned is that writing with constraints, for example a limited number of words or a deadline for finishing the piece, can help sharpen the focus of your writing. It was as I listened to this advice that I realized that forcing myself to write a blog post every day was part of my writing apprenticeship. I decided that I should put a length limit on my posts to help me learn to distill what I have to say.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Backwards and in Heels

My mother taught high school English, Speech, and Journalism. She discovered rather late in her college career how much she enjoyed Journalism. Perhaps if she had found out earlier she would have majored in it.

As it was, she graduated with a degree that they called an area in English. It consisted of course work in all the subareas of English, Speech, Theater, and Journalism. She also took enough Education courses to qualify for a teaching certificate. She did her student teaching at Lone Oak High School in Lone Oak, Kentucky, a suburb of Paducah, Kentucky.

She was offered a position teaching there even before she graduated and she took it. She became the sponsor of the Oak K, the school paper. I remember how hard she and her staff worked to put the paper out.

She also directed the plays and took interested students to Speech tournaments. And, as if that wasn’t enough, my dad did much the same job at Paducah Tilghman High School. Except Tilghman had a dedicated Journalism teacher so dad didn’t have a school paper on his plate.

After a couple of years of overachieving, and a petty, insecure, jealous boss, mom finally had what was called a nervous breakdown. I’m not exactly sure what happened. I’m told that they no longer consider nervous breakdowns a diagnosis. I do know that after she quit teaching she battled depression for the rest of her life.

She wrote for as long as I was old enough to be aware of it. She joked that she had given up on writing the great American novel and was currently working on the great American paragraph. I read some of her essays. They were what would be called features in the newspaper business. They were always very entertaining. The world will never know what they missed out on.

My mother is not the reason I am striving to be a writer. I’d like to think she’d enjoy what I write and be proud of me. In any case I miss her.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

British TV Pleases

We watch British television a lot at my house. Pam found an app for the Apple TV that lets us stream British television live. The catch is, when it’s six o’clock in Huntsville, Alabama, it’s midnight in London. We have learned a lot about late night British television.

For instance, on Friday nights we watch documentaries on popular music. I have learned a lot about popular music this way. I have been a fan of popular music my entire life. It was amazing how much I didn’t know about it. What is more amazing is that the BBC funds people to make these documentaries.

In the US, it takes a very motivated producer to raise the money to tackle a documentary of this quality and it has to have a stronger entertainment appeal. There seems to be more acceptance of history for history’s sake in the UK. They also recycle their old shows more than we do here.

On Sunday morning we watch reruns of Columbo. The British love Columbo. Not that I dislike the show but it is somewhat dated as far as I’m concerned. I just don’t get what they see in it.

Another show that we watch a lot is entitled 8 Out of 10 Cats Does Countdown. 8 Out of 10 Cats is a popular panel show where two teams compete to try to guess the top five answers to a question that has been put to a group of randomly selected people. The host, comedian Jimmy Carr, is entertaining, if edgy.

After a while, the show had such a big audience that they started letting them do parodies of other popular BBC shows. One of the first ones was a parody of Deal or No Deal. It was called, strangely enough 8 Out of 10 Cats Does Deal or No Deal.

While entertaining, it didn’t stand up well to repeat productions. When they parodied the popular game show Countdown though, the hit pay dirt. The game itself, comprised of alternating word and number games, left plenty of time for the 8 out of 10 Cats crowd, all comedians, to get in plenty of dry British comedy between the more or less straight rendition of the game portions of the show.

They recruited two of the cast members from the regular Countdown show, Susie Dent, the lexicographer that passes judgement on the acceptability of words for the word game, and Rachel Riley, the mathematician that flips letters for the word portion as well as presiding over the number game. It is surprisingly entertaining.

As my wife said earlier tonight, the app to stream British TV live was the best $5 we’ve ever spent. In fact, when we compare the one time expense to the $181 a month that we pay for cable and internet, we’ve decided to start moving toward cutting the cable.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

A Different Perspective

It is exciting to be able to park your car in a parking lot, whip out your laptop and start writing. I suppose it is really not that different from pulling out a physical notebook and writing but somehow it feels different. It gives you a different perspective on the world. Perspective is an important ingredient in writing. It can make the difference between a piece so boring that you can’t stay awake long enough to read it and one so dynamic that you can’t seem to read it fast enough.

I made a funny mistake this morning. I misread the clock and thought it was time to go to lunch. I put on my hat and coat and headed out. When I got to the restaurant I was surprised to find the parking lot was empty. I looked at the clock on the dash again and realized that I had left an hour too early. There was no point in driving back to work going in for fifteen minutes and then leaving for lunch again so I decided to take advantage of my mistake.

I pulled out my laptop and started writing my blog. I had the windows down and the radio tuned to BB King’s Bluesville on SiriusXM. The sky was overcast and provided an interesting backdrop. As I started writing it occurred to me that I should probably do this intentionally more often. It would help me solve my schedule problem and might also help inspire new topics that would have never occurred to me while sitting on my couch where I have written most of my blog posts in the last three months.

It finally occurred to me why I made such a gross error in time perception. I have been getting up earlier and getting to work earlier. My metabolism is finally adjusting to the time shift so I’m getting hungry for lunch earlier. Mystery solved. I’m not getting senile, just hungry.

It’s just as well that I wrote this now. I have a doctor’s appointment this afternoon that would have played havoc with my schedule this evening. As it is, I will have published this approximately nine hours early and I might even get some other activity into my schedule today.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Blog Struggles Continue

Something interesting happened to me on the way to work this morning. I thought of a good idea for a blog post. I intended to jot down a reminder to myself when I got to work but I forgot. This evening when I sat down to write my blog, I couldn’t remember my idea. That is the very epitome of frustration.

I thought perhaps if I wrote about the event, it would jog my memory. So far, that hasn’t worked. I think that by the time I do any necessary errands after work, pick up dinner, and come home, I’ve run out of stamina to do anything else. My mind is a total blank.

I spent a little bit of time reading Wikipedia. I have occasionally found that I am inspired to write something by reading arbitrary articles that I find interesting there. That works better when I’m not at the end of a hard day. I’d actually prefer to write my blog post first thing in the morning. The problem is, I don’t have time to do that before I go to work.

I have started giving some serious thought to looking for another job and retiring from my current job. I have considered trying to write for a living. I’m not confident in my ability to do that yet. Jumping in the deep end on faith is a young man’s game. I may not consider myself that old but I’m definitely not a young man any longer.

I am interested in writing about the history of computers, the history of computer science, and the history of computer languages. As I browse Wikipedia and search the internet with Google, I discover there is a lot of studying to be done before I know enough about it to tell a coherent story. And after all, the most important part of history is story.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Good Night and Sleep Well

I have been struggling to fit all the things that I want to do into my schedule. I keep coming up short. I have stubbornly refused to accept that I might need to drop something, if only temporarily.

I currently write a thousand words in the morning. That takes between forty minutes and an hour depending on how focused I am and what distractions I succumb to.

In the evening, I write a blog post. That is less of a marathon and more of a creative challenge. By that I mean that I’m not out to write a certain number of words so much as I am to communicate a complete idea. I want to tell my readers a story that I found worth repeating. That presupposes that I have a story to tell.

In all humbleness, I do have stories to tell. I just have trouble listening to the inner voice that tells them to me when I put myself under pressure to produce on a schedule. I don’t want to get out of the habit of writing but I’ve got to start getting more sleep. If that means admitting defeat sometimes and not writing a blog post every night, then I guess that’s what I may have to do.

I may find that when I give myself a break and quit pressing myself to post daily, I’ll find that it comes easier. I may end up posting every day anyway. I just want to say that I appreciate the attention that my readers have given me. I hope to continue to have stories to tell that captures their interest.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.

Early Musical Experiences

I grew up in a family that enjoyed music. My mother played piano. My dad played trumpet until he finally decided to stick to directing plays instead of playing an instrument. He did direct a number of musicals in his career. I guess that is where I learned to like musical theater.

But by the time I was a teenager it was the late sixties. It was the time of rock and roll music. I remember listening to Steppenwolf, Santana, Crosby, Stills, and Nash, Jefferson Airplane, Three Dog Night, Chicago, all the rock super groups of that time. I loved the Beatles and the Rolling Stones. I loved Simon and Garfinkle. I shouldn’t use the past tense, I still do.

My dad wanted to encourage me to study classical guitar so he bought me a classical guitar. The only concession to my rock and roll aspirations was that it had a pick up in it so I could run it through an amplifier. The only problem was that the ceramic pickups that they put in classical guitars at that time were subject to generating horrendous feedback if you turned them up at all. I was not well pleased.

Finally, he gave in and bought me a proper electric guitar. It was a Les Paul Junior, a guitar that has sense become a classic. Even though mine is in dire need of refurbishing it is still worth a good bit of money now. At the time it was just the thing I wanted. All of a sudden, I could actually play all of the rock songs that just didn’t pan out on a classical guitar.

My dad taught at the high school I attended my junior and senior year. I rode to school with him in the morning which meant that most mornings we got to school a full hour before classes started. There was a piano at the front of the auditorium where students were allowed to wait inside until school started. I got in the habit of playing the piano every morning while I waited for school to start.

It was simple chords in the left hand, bass line in the right style piano, the kind that many of the rock bands of the era featured. I even composed my own piano music.

When I was a junior, the spring play was a farce entitled Big Rock at Candy’s Mountain. It was a take off on the whole Woodstock musical festival idea with the plot structure being basically a romantic comedy. We had a small high school so we couldn’t dig up three bands so we used the same band to represent the different bands with each of the members of the band taking turns playing the leader of each of the different bands.

The kids loved it and I was hooked on playing for an audience. When I graduated from high school, one of my father’s former students offered me a job as a gunfighter and guitar player in a western theme park. I did that for three summers in a row and had a blast doing it. I miss those days a lot.


Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.