Channels ▼


The Future of Computing

Max Fomitchev is an Assistant Professor of Computer Science at Penn State. He has a Ph.D. in computer engineering from Moscow Institute of Electronic Engineering. He is an author of "Software and Web Development" blog at and the book Enterprise Application Development with Visual C++ 2005.

Life goes in circles, or in spirals to be more precise. Thus to get a glimpse of the future you perhaps should look in the past. Computing has become an inseparable component of our lives and therefore is a subject to the same law of cycles and spirals. So let's start in the 1940s, at the dawn of electronic computing when ENIAC was a pinnacle of scientific engineering.

Initially occupying whole buildings, then scaling down to individual rooms and towering boxes computers of 1950s, '60s, and '70s were essentially mainframes: Large and powerful, special-purpose, accessible to few. This centralized approach to computing changed dramatically in the late '70s and early '80s with the introduction of microcomputers such as Apple II and IBM PC. All of a sudden computers ceased to be shared resources built for a particular purpose and instead became personal tools for facilitating general-purpose tasks and throughout '80s and '90s began to occupy our desktops, bedrooms and closets.

This trend of decentralized computing met a subtle reverse in '90s when the Internet and World Wide Web provided a means for integrating decentralized computational resources into a unified client-server environment. In reality, what seems like 60 years of technological advancement represents a full evolutionary cycle: We started with shared computational resources occupying rooms of equipment and through brief desktop detour arrived at shared computational resource model built on the backbone of intranet/Internet. There is unquestionable numerical difference between what we 30 years ago and what we have now in the sense that computers now are used by much larger population and for a far wider range of tasks. There is a characteristic difference too: we kept our desktop PCs and we use them for more then mere terminals. In fact computing did not just come a full circle; it came a loop of spiral: We have not really come back to good old centralized computing but rather to arrived at distributed computing model. Although a bulk of work may be done by centralized resources such as servers providing computational services, our desktop PCs and client workstations independently handle a multitude of tasks.

Our equipment rooms are different too from what we had decades ago: instead of one large computer modern day data centers are filled with hundreds and thousands of servers both rack mount and blades. Such evolutionary change parallels that of the evolution of electronic components: Discrete elements were gradually replaced with integrated circuits just as individual mainframes are now replaced with blade server racks. Extrapolating the parallel further we may expect even tighter-integrated "microblades" to arrive in the near future when we master computer integration to the same degree as we have mastered integrated circuits.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.