Parallel

Programming With Reason: Where Are We Going?

In his 15+ years of developing software, Eric Bruno has acted as technical advisor, chief architect, and led teams of developers. He can be contacted at www.ericbruno.com.

If you follow me on Twitter (@ericjbruno), you may have seen a recent Tweet where I mentioned going on a camping trip with more computing power than all of 1984. I was exaggerating of course, but let's examine just how close to reality that statement is.

I go camping with my family often (in a camper with water, electricity, AC, but only so-so wireless Internet access), so I like to bring a laptop to write at night (2.4GHtz Core 2 Duo with 4GB RAM). I load up my iPad with movies and books, so of course that comes along for the whole family to use (1GHtz ARM with 256M of RAM). I also have an iPhone 4 that has to come with me since it's my only cell phone (1GHtz ARM with 512MB RAM). At the time of that Tweet, I happened to be working on an article about netbook development with MeeGo, so I brought that along as well (1.6GHtz Atom with 1GB RAM). Finally, I keep a fitPC with Windows XP, and a wireless router, in the camper in case I need access to a real Windows computer (1.5GHtz Via with 512MB RAM) -- I connect and control it via VNC. All in all, an impressive array of technology if you consider the raw processing power, never mind the storage, graphics capability, communications, and sophisticated software each runs.

Storage alone, which has become a rather unimpressive statistic when discussing personal computers, is actually a staggering number. For instance, when I was attending university and studying computer science in the late 1980s to the early 1990s, my school had a network of HP 9000 series workstations running HP-UX. Although the Computer Science Department had access to these systems via X Windows and color monitors, the rest of the campus used them with green-screen terminals. The workstations were each disk-less, and instead accessed storage from a central server over the LAN. As you can imagine, hard drive space for the systems, and a college full of teachers and students (across all academics), was at a premium.

One day, out of curiosity, I asked the system administrator (via an email message to the almighty root) just how much hard-drive space there was for the system in total. When he responded with the staggering sum of 1GB, I was stunned at such a large amount; I couldn't conceive of that much storage space. As a matter of perspective, consider that today, I often email files to and from my iPhone that are of that size, and sometimes more. You'd have to be a true geek, having worked with computers in the "good old days" to really appreciate these numbers.

True Geeks of the Day

Today, the term "geek" can be considered a complement, and applies to more than a computer nerd. For instance, it's not uncommon to hear someone who's an expert in photography be referred to as a photography geek, which is a label that person can wear with pride. But it wasn't always that way. When I was in middle school and even high school, owning a home computer was not common, and certainly far from mainstream as it is today. (Often, still, I look around my office at awe at the array of desktops, laptops, and other computing devices I have at my fingertips, and remember a day long ago where owning one computer was a stretch.) I avoided looking or acting like a geek in any way, and didn't enjoy being referred to as one.

Back then, computers were not mainstream as they are today, and finding other people with one, and with the same interests -- i.e. programming -- was rare. In the early 1980s, my public library installed a number of TRS-80 computers for patrons to use. At the time, you could just walk up to one and begin to use it, if you knew how. I didn't, but I was hooked the minute I sat down in front of one and realized the potential of this mysterious device in front of me. In an instant, I appreciated the power of a computer, and as a teenager that day my career path was decided. It's amazing how just providing access to technology can have such a positive impact on a person.

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.

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!