Challenging the status quo

The Future History of Computing

A fork in the road is rapidly approaching for those of you that develop and sell business applications. Don’t miss it or you may miss the future. One path leads to ‘Software as a Service‘ or ‘Cloud Computing‘ and it’s the latest thing since sliced bread. The other to self-destruction.

Like the fashion industry, the computer industry is cyclic. Subject to rapidly changing trends and undercurrents driven by charismatic leaders, designers and iconic brands, both fuel the press and analysts that in turn influence buying decisions. In the same way that fashion recycles successful ideas, so too does the computer industry. Old concepts resurface under different guises, creating new patents, new IPOs and new money.

In the 1960s, several companies created time-sharing service bureaus using Teletype and IBM Selectric terminals in ASCII and EBCDIC environments repsectively. Terminals would connect via a dial-up telephone link to a centralised computer at 10–15 characters per second. They provided everything a customer would need; programming languages, software packages, file storage and printers. Customers paid for the terminal, for connect time by the hour, for CPU time by the second, and for disk-storage by the kilobyte – and all for a monthly rental. Sounds familiar?

Yes, it is Cloud Computing. Brushed down and dressed up for the third millenium. Cloud Computing is Time Sharing on steroids only, network bandwidths and processing power are many orders of magintude greater, meaning terminals can display wonderful multi-media content. Computing comes full circle; from Time Sharing through Distributed Computing and back to Time Sharing. Will we cycle back to Distributed Computing several decades from now? If I am still alive, I’ll be betting on it.

What didn’t change though is the way businesses are run – with processes. So doesn’t it make sense for business applications to be developed with languages that fit that model – procedural languages. Wrong. Distributed Computing gave birth to the GUI and Event Driven Programming, which later became Object-Oriented Programming (OOP). And yet this latter method is less suited to the development of business applications.

Here’s why. Crudely defined, procedural programming languages split tasks into variables, data structures, and subroutines (procedures). Object-oriented programming languages on the other hand split tasks into data types (classes) that associate behaviour (methods) with data (members or attributes). Procedural programming languages use procedures to operate on distinct, independent data structures or databases. Object-oriented programming languages  tightly integrate procedures and data into an “object”, which is an instance of a class and operates on its “own” data structure.

Here’s the problem. Business applications are essentialy database systems wrapped inside customer specific business logic. In this day and age of the Internet, where geographic boundaries no longer exist and consumer buying trends change with the wind, business applications must be highly adaptable  – responsive to the ever-changing needs of a dynamic marketplace. OOP database systems by contrast often result in relatively inflexible schema, and future changes in the business model must be translated (mapped) back to the now-obsolete OOP structures. One feature of OOP encapsulation theory urges that data be embedded within objects rather than remaining in a distinctly separate system. This creates rigidity and makes it more difficult to respond rapidly to changes in the corporation’s, or its customers’, behaviours and needs. There is a mismatch of models. OOP and databases don’t fit well together. In other words, it takes more time, effort and money to quickly change course.

In this age of constant economic crisis, will those same charismatic leaders, designers and iconic brands finally wake up to this and have the courage to fuel the press and analysts in a way that will influence common sense buying decisions?

Tagged as: , , , , , ,

Categorised in: Cloud, Development

1 Response »

  1. Hi, this is a comment.
    To delete a comment, just log in, and view the posts’ comments, there you will have the option to edit or delete them.

Leave a reply to Mr WordPress Cancel reply

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 1 other subscriber